回答:
-nlt geometry
ogrスクリプトに追加してみてください:
ogr2ogr -skipfailures -f "ESRI Shapefile" myshape.shp mygeojson.geojson -nlt geometry
同じレイヤーにシングルパートフィーチャとマルチパートフィーチャの両方を含むデータセットを変換するためにogr2ogrを使用して説明する問題を経験しました。たとえば、POINTとMULTIPOINT、LINE AND MULTILINE、POLYGONとMULTIPOLYGONなどです。
デフォルトでは、OGRは慣例に従い、データセットごとに1つの機能タイプのみを使用することを求めています。ルールに違反すると、OGRは一般的なエラーをスローし、-skipfailures
フラグを推奨します。これは、実際の問題が同じレイヤー内のジオメトリの混合/一致である場合、誤解を招く可能性があります。
ESRIシェープファイルは同じレイヤー内の単一/マルチパートフィーチャを許可するため、有効なジオメトリがある場合でも、OGRがこのエラーをスローする可能性があることを認識する必要があります。そのシナリオでは、2つのオプションがあります。1)マルチパートフィーチャをシングルパートに変換します(-explodecollections
フラグはogrで実行できます)、または2)-nlt
フラグを使用GEOMETRY
してオプションとして指定します。この-nlt GEOMETRY
オプションを使用すると、フィーチャタイプの混合を同じレイヤーに組み合わせることができます。もちろん、結果として、OGRはベストプラクティスを保護しません。
GeoJSONファイルがESRIシェープファイルとして「開始された」場合、そのデータセットにPOINT機能とMULTIPOINT機能の両方が含まれている可能性があります。その場合、有効なポイントでもこの問題が発生する可能性があります。