投影についてogr2ogrを教えるにはどうすればよいですか?


11

私がしているJSONのArcGISから生成された私は、これが失敗したEPSG 4326でにGeoJSONに変換したいこと:

$ 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プロジェクションシステムにはいくつかのファイルがあります。102100プロジェクションについてogr2ogrに教えたいので、変換のスクリプトを作成できます。102100が3857と同じように認識および処理されるように構成を更新する方法はありますか?

更新 -このデータは、ArgGIS Server 9.3.1のREST APIからのものです。出力空間参照を指定しない場合、102100を取得します。これは、投影座標系"WGS_1984_Web_Mercator_Auxiliary_Sphere"として定義されます。私の目標を達成するはるかに簡単な方法は、outSR=4326クエリパラメーターを使用して、目的の投影を要求することです。元のデータにアクセスできない場合でも、質問は有効です。

回答:


11

102100と3857は数学的に同一であるため、エラーを安全に無視し、-s_srsフラグを使用してソースsrsのオーバーライドを続行できると思います。

102100の定義を$ GDAL_DATA $に追加してみることができますが、実際にはお勧めできません。本当にやりたい場合は、次の方法と、それに付随するFrank Warmerdamの警告があります。

.csvファイルは主にEPSG座標系向けであるため、手動で拡張することは実際には適切ではありません。

ただし、gdal / data / cubewerx_extra.wktと同様の方法で、独自のカスタム辞書を追加できます。これらの辞書ファイルは、短い名前、カンマ、そして座標系のWKT定義を含む行で構成されます。

SetFromUserInput()およびその関数を使用するプログラム(gdal_translateのs_srs、a_srs、t_srs、ogr2ogr、gdalwarpなど)からこのような定義を参照するには、次の形式を使用します。

gdal_translate -a_srs DICT:cubewerx_extra.wkt、41001

これがお役に立てば幸いです。幸運を!


1
ありがとう、私はあなたが提案したのと同じようなことをした。私の$GDAL_DATA$ディレクトリはに/usr/local/share/gdalあり、EPSG 3857はpcs.csvそのフォルダで定義されています。その行をにコピーしpcs.override.csv、ID(最初の列)を3857から102100に変更しました。その時点で、変換は-s_srsフラグなしで機能しました。長期的な解決策は、ソースデータを既知の投影法で取得することでした。そのため、投影法を混在させるのではなく、ogr2ogrをフォーマット変換のみに使用できました。
jwhitlock 14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.