Страница 1 из 1
					
				Интегрированная картография
				Добавлено: 22 янв 2019, 17:21
				 mareiec
				Как известно,через окно MapBasic  в MapInfo нельзя вводить операторы управления программой,
такие как циклы и переходы.
Значит их и нельзя использовать в Интегрированной картографии, с которой я и работаю в Delphi.
Вопрос. Как обойти это ограничение, чтобы подсчитать общую площадь нескольких полигонов, из которых состоит графический объект одной записи таблицы.
			 
			
					
				Re: Интегрированная картография
				Добавлено: 22 янв 2019, 19:44
				 trir
				
			 
			
					
				Re: Интегрированная картография
				Добавлено: 22 янв 2019, 20:08
				 MI user
				Можно и без циклов.
Один запрос:
Код: Выделить всё
Select SUM(Area(obj, "sq m")) From Selection
Визуально выглядит как-то так:
			
		
				
			 
- Sum (Area).png (29.07 КБ) 14332 просмотра
  
			
					
				Re: Интегрированная картография
				Добавлено: 22 янв 2019, 20:25
				 MI user
				Да, ступил!
Нужно-то подсчитать сумму площадей некоторых частей мультиполигона.
А что, если использовать "Objects Disaggregate" во временную таблицу? Потом суммировать площади нужных кусков в цикле Delphi.
			 
			
					
				Re: Интегрированная картография
				Добавлено: 23 янв 2019, 13:27
				 mareiec
				Придется так, очевидно.
Но это плохо, все равно как идешь-идешь, вдруг упал в яму, или как сильная икота.
Дело в том, что большой объем работы - сравнение площадей географических объектов двух карт,количество объектов - порядка нескольких тысяч.
			 
			
					
				Re: Интегрированная картография
				Добавлено: 23 янв 2019, 13:59
				 trir
				Дело в том, что большой объем работы - сравнение площадей географических объектов двух карт,количество объектов - порядка нескольких тысяч.
задача на один SQL-запрос
 
			
					
				Re: Интегрированная картография
				Добавлено: 23 янв 2019, 14:57
				 mareiec
				Эх, Вашими устами мед бы пить...
Вы даже представить себе не сможете, что это за работа, и что это за карты...
			 
			
					
				Re: Интегрированная картография
				Добавлено: 23 янв 2019, 15:00
				 trir
				Вы даже представить себе не сможете, что это за работа, и что это за карты...
какая разница? вектор есть вектор
для SpatiaLite хватит всего пары библиотек
 
			
					
				Re: Интегрированная картография
				Добавлено: 24 янв 2019, 11:27
				 thegeo
				В приложениях с интегрированной картографией можно использовать MapBasic программы (*.mbx). Описание можно найти здесь "Программирование для MapInfo на примерах" (Тема 57. Использование MapBasic программ в приложениях с интегрированной картографией).
			 
			
					
				Re: Интегрированная картография
				Добавлено: 24 янв 2019, 14:22
				 mareiec
				trir, А беда в том, что очень трудно найти на второй  карте полигоны, которые нужно сравнивать с полигонами на первой. Масса ошибок и в атрибутике, и в площади полигонов, и в их местоположении. И я изнемог уж в борьбе  

 
			
					
				Re: Интегрированная картография
				Добавлено: 24 янв 2019, 14:35
				 trir
				А беда в том, что очень трудно найти на второй карте полигоны, которые нужно сравнивать с полигонами на первой. Масса ошибок и в атрибутике, и в площади полигонов, и в их местоположении.
SQL в таких случаях очень помогает - можно прописать формальные параметры и сразу получить список их нарушений, очень быстро можно найти косяки и быстро их исправить
 
			
					
				Re: Интегрированная картография
				Добавлено: 24 янв 2019, 18:05
				 mareiec
				Согласен полностью.
Но в SQL я далеко не гуру...
			 
			
					
				Re: Интегрированная картография
				Добавлено: 25 янв 2019, 13:42
				 Sibit
				mareiec писал(а): ↑22 янв 2019, 17:21 чтобы подсчитать общую площадь нескольких полигонов, из которых состоит графический объект одной записи таблицы.
 
А в чем проблема? Контуры пересекаются? Если так - то проще разделить на части - и считать площадь.
trir писал(а): ↑22 янв 2019, 19:44ST_Area
 
Ага, точно. Именно это и поможет)))