ogr2ogrを使用してGeoJSONをShapefileに変換しますか?


24

FWToolsのogr2ogrを使用してESRI Shapefileに変換するGeoJsonファイルがあります。

使ってみた

ogr2ogr -F "ESRI Shapefile" filename.shp geojsonfile.json OGRGeoJSON

出力を得た

エラー6:シェープファイルレイヤーにStringList型のフィールドを作成できません。エラー1:シェープファイルタイプに非ポリゴン(POINT)ジオメトリを書き込もうとしました。エラー1:レイヤーOGRGeoJSONの翻訳に失敗した後、翻訳を途中で終了する

提供するGeoJSON入力は、標準のgeojson形式です。

geojsonのコンテンツは{共有するために、features配列の一部のみを取りました}

{"id":1223,
"properties":{"name":"3","level":2},
"map_version":11,"type":"FeatureCollection","x_id":1234,"obj_type":"LevelGeometry",
"features":[

{
"my_area":[131.40093253528894,33.58879853190332,6.515867411008615,3.490549810987222,-0.6237271428108215],
"id":1984791,
"location":{"type":"Point","coordinates":[131.4009325,33.5887985]},
"properties":{"display_name":"xyz"},
"type":"Feature",
"geometry":{"type":"Polygon","coordinates":[[[131.4009508,33.5888314],[131.4008895,33.5887946],[131.4009148,33.5887653],[131.4009761,33.5888020],[131.4009508,33.5888314]]]},
"obj_type":"Geometry"
}

]
}

2
SE.GISフォーラムへようこそ。一見似た質問持つgis.stackexchange.com/questions/13762/...
スニル

歓迎してくれてありがとう:)投稿する前にそのリンクをたどっていた。私はFMEを使用したくありません。Linux用のFWToolsを使用したいです。以前はwktをシェイプファイルに変換しましたが、これはかなり満足のいくものでしたが、現在はwktではなくgeoJSON形式の同じデータを持っています。私はしようとしながら、私はエラーを取得する間、SHPファイルを持っている必要があります。
sidd.k

リンクされた質問がこの質問に答えていないので、私はそれを開いたままにしておくことに投票しています。
Devdatta Tengshe

テストデータの変換は、ogr2ogrバージョン1.9.2および1.10で正常に機能します。1つのポリゴンを持つシェープファイルがエラーなしで作成されます。「FWTools for linux」が古すぎる可能性があります。何てogr2ogr --version言うの?
ヘルマン

1
--versionスイッチは、FWTools 2.0.6で配布されたogr2ogrのバージョンにはまだ存在していませんでした。GeoJSONもまだサポートしていないと思います。2.0.6は本当に古い(〜2006)のですが、GDALの最新バージョンを使用できない理由はありますか?
DavidF

回答:


28

SHPジオメトリタイプを強制する必要があり(GeoJSONジオメトリコレクションのジオメトリタイプはSHPでサポートされていないため)、-skipfailuresオプションを使用します。

ogr2ogr -nlt POINT -skipfailures points.shp geojsonfile.json OGRGeoJSON    
ogr2ogr -nlt LINESTRING -skipfailures linestrings.shp geojsonfile.json OGRGeoJSON
ogr2ogr -nlt POLYGON -skipfailures polygons.shp geojsonfile.json OGRGeoJSON

(2013/04/24リリースのGDAL 1.10.0でテスト済み)


2
Geojsonを最大限に活用するには、ポイント(およびGeojsonにラインがある場合)についても同じことを実行することをお勧めします。そうすれば、1つのGeojsonから2つまたは3つのシェープファイルを取得できます。
-AndreJ

@AndreJoost私はあなたに同意します、これは単なる例でした。あなたの提案を考慮して答えを更新します。ありがとう。
アントニオファルチャーノ

2
解決策ではありませんが、ogr2ogrで構築されたオンラインツールを使用して幸運に恵まれました:ogre.adc4gis.com
JasonBK
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.