Когда я открываю QGIS, добавляю слой и вычисляю области шейп-файла с помощью полевого калькулятора, я получаю другую область, чем когда я открываю QGIS и проверяю «Включить преобразование CRS на лету» и вычисляю площадь. Это несмотря на то, что проект и слой имеют одинаковую систему координат (один и тот же номер EPSG). Что я делаю неправильно?
У меня есть шейп-файл с вычислениями площади, выполненными с помощью ArcGIS (не я, данные были переданы мне, и я понятия не имею, для какого CRS площадь была рассчитана с помощью ArcGIS). Слой шейп-файла CRS - EPSG: 21781 (Швейцария). В QGIS, если я не изменяю настройки OTF и оставляю проект CRS как EPSG: 4326 (WGS84), я получаю то же значение, что и значение области ArcGIS. Однако, если я изменю OTF перед добавлением слоя в EPSG: 21781, я получу другие значения площади. Насколько я понимаю, это говорит о том, что Площадь ArcGIS была рассчитана с использованием CRS EPSG: 4326.
Первый рабочий процесс:
- открыть QGIS
- проект CRS: EPSG 4326
- добавить слой
- Проект CRS адаптируется автоматически и теперь EPSG 21781
- рассчитать площадь с помощью калькулятора поля
Второй рабочий процесс:
- открыть QGIS
- проект CRS: EPSG 4326
- Включите OTF, установите для проекта CRS значение EPSG 21781
- добавить слой
- рассчитать площадь с помощью калькулятора поля
Шаг 5 первого и второго рабочих процессов НЕ создает одинаковую область.
!shape.area!
должно дать площадь в соответствии с уровнем crs; чем вычисление геометрии может работать иначе. Поэтому трудно сказать, что именно было сделано в arcgis, но если вы получите тот же результат, например, градусы, а не метры, это означает, что расчет площади действительно был основан на ESPG: 4326.
$area
в поле калькулятора. Короче говоря, на лету влияет, как отображается геометрия, без фактического изменения данных. Таким образом, более вероятно, что ошибка связана с рабочим процессом.