Вычисление площадей пересечения

Вопросы связанные с работой ГИС Аксиома
Ответить
Аватара пользователя
Alexey22
Сообщения: 0
Зарегистрирован: 21 июл 2023, 02:15

Вычисление площадей пересечения

Сообщение Alexey22 » 21 июл 2023, 02:22

Здравствуйте.
Стоит задача сделать запрос по двум слоям, в случае пересечения слоев, вывести площадь пересечения.
В MI это делалось с помощью запроса:
Fields {Слой1.колонка1, Слой1.колонка2, Слой2.колонка1, Слой2.колонка2, area(overlaps(Слой1.obj, Слой2.obj), "sq m")}
Tables {Слой1, Слой2}
Where {(Слой1.obj Intersects Слой2.obj ) and (Слой1.Колонка1 <> Слой2.Колонка2 ) }
Group {}
Order {}
Into {}

В Аксиоме в результате запроса колонка площадей пересечения остается пустой.
Подскажите пожалуйста как в Аксиоме реализована данная возможность?
Аватара пользователя
Александр
Сообщения: 433
Зарегистрирован: 18 апр 2019, 08:21

Re: Вычисление площадей пересечения

Сообщение Александр » 21 июл 2023, 06:51

Cправка по overlaps расширенного диалекта SQL
help.png
help.png (4.51 КБ) 10985 просмотров
Эта функция возвращает логическое значение накладываются ли два объекта.
Кроме того, эта функция работает с типом геометрии SL_GEO.
Аксиома работает с различными типами геометрии и для некоторых функции, при работе с геометрией TAB (GEO), требуется приведение к геометрии SL_GEO
Это можно сделать с помощью функции FromAxiGeo(). Чтобы наоборот, преобразовать геометрию SL_GEO к типу TAB нужно вызвать ToAxiGeo()

Функция, которая возвращает само пересечение двух объектов Intersections
help1.png
help1.png (3.05 КБ) 10985 просмотров
тут
overlaps.zip
(4.51 КБ) 485 скачиваний
две таблицы с пересекающимися объектами:
img0.png
img0.png (20.45 КБ) 10985 просмотров

следующий запрос:
Query.zip
(352 байт) 496 скачиваний
строит таблицу с пересекающимися областями и вычисляет их площадь:
img1.png
img1.png (17.44 КБ) 10985 просмотров

Результат запроса:
img2.png
img2.png (23.36 КБ) 10985 просмотров
Аватара пользователя
Александр
Сообщения: 433
Зарегистрирован: 18 апр 2019, 08:21

Re: Вычисление площадей пересечения

Сообщение Александр » 25 июл 2023, 08:49

Добавлено Администратором:
Предыдущее сообщение было удалено автором.
Ответ остался к удалённому сообщению


По шести цифрам сложно что-то сказать.
Данные Вы не приложили, запросы не привели.
Так что буду предполагать.

Вероятнее всего измерения проводились в долготе/широте. Вероятно речь о площади почти 70 тыс. кв. км.

В этом случае, точность измерения площади низкая и MapInfo вычисляет её на сфере. При этом заметно округляя результаты. Аксиома вычисляет точнее.
Ответить