Страница 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
Sum (Area).png (29.07 КБ) 1517 просмотров

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:44
ST_Area
Ага, точно. Именно это и поможет)))