Размер области полигона отличается в QGIS и PGadmin

У меня есть шейп-файл, который возвращает другое значение области в pgAdmin, чем в FME, Cadcorp SIS и QGIS, и я не знаю, почему оно отличается в pgAdmin.

В pgAdmin используются следующие настройки:

ВЫБЕРИТЕ ST_Area (ГЕОМЕТРИЯ) ИЗ greenbelt_shp

Может ли кто-нибудь сказать мне, почему он возвращает другое значение?

введите здесь описание изображения


person Hutch    schedule 06.08.2018    source источник
comment
Посмотрите на это: gis.stackexchange.com/a/209399 Это должно вам помочь.   -  person Łukasz Duda    schedule 06.08.2018


Ответы (1)


Установка эллипсоида (в опции измерения) с Airy 1830 на none/planimetric в QGIS позволила функции $area в калькуляторе полей вернуть правильный результат.

Ошибка по-прежнему оставалась в PostGIS при экспорте исходного .SHP через Cadcorp SIS, проблема была вызвана самопересечениями в полигоне.

Я обнаружил, что лучшим решением является запуск обновления поля геометрии с помощью команды ST_MakeVaild.

Я использовал: обновить имя таблицы установить имя геометрии = ST_MakeValid (имя геометрии)

Вы также можете реплицировать шейп-файл во внутреннее наложение и запустить инструмент Simplify на новом внутреннем наложении, а затем экспортировать этот файл в свою базу данных. Инструмент Simplify удаляет самопересечения из полигона в Cadcorp SIS.

person Hutch    schedule 11.10.2018