ogr2ogr을 사용하여 GeoJSON을 Shapefile로 변환 하시겠습니까?


24

FWTools에서 ogr2ogr을 사용하여 ESRI Shapefile로 변환하려는 GeoJson 파일이 있습니다.

나는 사용하려고

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

나는 출력을 얻었다

오류 6 : shapefile 레이어에 StringList 유형의 필드를 만들 수 없습니다. 오류 1 : shapefile 유형에 비 폴리곤 (POINT) 지오메트리를 쓰려고했습니다. 오류 1 : OGRGeoJSON 레이어의 변환에 실패한 후 번역을 조기에 종료

우리가 제공하는 GeoJSON 입력은 표준 geojson 형식입니다.

geojson의 내용은 {기능 배열에서 일부만 가져간 공유}와 같습니다.

{"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/…
Sunil

환영합니다 :) 게시하기 전에 해당 링크를 통과했습니다. FME를 사용하고 싶지 않고 Linux 용 FWTools를 사용하여 사용하고 싶습니다. 이전에는 wkt를 shapefile로 변환했는데 꽤 만족 스러웠지만 이제는 wkt 대신 geoJSON 형식의 동일한 데이터가 있습니다. 그리고 내가 시도하려고하는 동안 shp 파일이 필요합니다. 오류가 발생합니다.
sidd.k

링크 된 질문 이이 질문에 대답하지 않기 때문에 열어두기로 투표하고 있습니다.
Devdatta Tengshe

테스트 데이터 변환은 ogr2ogr 버전 1.9.2 및 1.10에서 잘 작동합니다. 다각형이 1 개인 쉐이프 파일이 오류없이 생성됩니다. "Linux 용 FWTools"가 너무 오래된 것 같습니다. 무엇합니까 ogr2ogr --version말은?
헤르만

1
FWTools 2.0.6과 함께 배포 된 ogr2ogr 버전에는 --version 스위치가 아직 없었지만 GeoJSON도 아직 지원하지 않는 것 같습니다. 2.0.6은 정말 오래되었습니다 (~ 2006). 최신 버전의 GDAL을 사용할 수없는 이유가 있습니까?
DavidF

답변:


28

SHP에서는 GeoJSON Geometry Collection의 기하학 유형이 지원되지 않기 때문에 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

(GDAL 1.10.0으로 테스트, 2013/04/24 릴리스)


2
Geojson을 최대한 활용하려면 Point (그리고 Geojson에있는 경우 선)에 대해서도 동일하게 실행하는 것이 좋습니다. 그렇게하면 하나의 Geojson에서 두세 개의 shapefile을 얻을 수 있습니다.
AndreJ

@AndreJoost 나는 당신에게 동의합니다, 이것은 단지 예일뿐입니다. 귀하의 제안을 고려하여 답변을 업데이트합니다. 감사.
Antonio Falciano

2
해결책은 아니지만 ogr2ogr로 구축 된 온라인 도구를 사용하여 행운을 빕니다 : ogre.adc4gis.com
JasonBK
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.