Як навчити ogr2ogr про проекцію?


11

Я створив JSON від ArcGIS, який я хочу перетворити на GeoJSON в EPSG 4326. Це не вдається:

$ ogr2ogr -f GeoJSON -t_srs EPSG:4326 out.geo.json in.arcgis.json OGRGeoJSON
ERROR 6: EPSG PCS/GCS code 102100 not found in EPSG support files.  Is this a valid
EPSG coordinate system?

Я знайшов допис на форумі, в якому сказано, що 102100 можна змінити на 3857, що математично ідентично. Отже, це працює з тим же повідомленням про помилку:

$ ogr2ogr -f GeoJSON -s_srs EPSG:3857 -t_srs EPSG:4326 out.geo.json in.arcgis.json OGRGeoJSON 
ERROR 6: EPSG PCS/GCS code 102100 not found in EPSG support files.  Is this a valid
EPSG coordinate system?

Однак у мене є декілька файлів у системі проекції 102100. Я хотів би навчити ogr2ogr про проекцію 102100, тому я можу сценарій перетворення. Чи є спосіб оновити конфігурацію, щоб 102100 розпізнавався і оброблявся так само, як 3857?

Оновлення - ці дані з API REST сервера ArgGIS 9.3.1. Якщо я не вказую вихідну просторову посилання, я отримую 102100, яке вони визначають як проектовану систему координат "WGS_1984_Web_Mercator_Auxiliary_Sphere" . Набагато простіший спосіб здійснити мою мету - запитати потрібну проекцію з outSR=4326параметром запиту. Питання все ще актуальне, якщо у вас немає доступу до оригінальних даних.

Відповіді:


11

Оскільки 102100 та 3857 математично однакові, я думаю, що ви можете сміливо ігнорувати помилки та просто продовжувати переосмислення вихідних srs, використовуючи прапор -s_srs .

Ви можете спробувати додати визначення для 102100 у свій $ GDAL_DATA $, але це не дуже рекомендується. Якщо ви дійсно хочете це зробити, хоч ось метод і супровідне попередження від Френка Вармердама :

Файли .csv в основному призначені для систем координат EPSG, тому розширювати їх вручну не дуже доречно.

Але ви можете додати власні спеціальні словники таким чином, як gdal / data / cubewerx_extra.wkt. Ці файли словника складаються з рядків із коротким ім'ям, комою, а потім визначенням WKT системи координат.

Ви можете посилатися на таке визначення з SetFromUserInput () та програм, які використовують цю функцію (наприклад, s_srs, a_srs, t_srs для gdal_translate, ogr2ogr та gdalwarp), використовуючи форму:

gdal_translate -a_srs ДИКТ: cubewerx_extra.wkt, 41001

Я сподіваюся, що це допомагає. Удачі!


1
Дякую, я зробив щось подібне до того, що ви запропонували. Мій $GDAL_DATA$каталог знаходиться в /usr/local/share/gdal, і EPSG 3857 визначено pcs.csvв цій папці. Я скопіював цей рядок у pcs.override.csvта змінив ідентифікатор (перший стовпець) з 3857 на 102100. У цей момент перетворення працювали без -s_srsпрапора. Більш довгостроковим рішенням було отримання моїх вихідних даних у відомій проекції, щоб я міг використовувати ogr2ogr лише для перетворення формату, а не змішування в прогнозах.
jwhitlock
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.