Chuyển đổi GeoJSON thành Shapefile bằng ogr2ogr?


24

Tôi có một tệp GeoJson mà tôi muốn chuyển đổi sang ESRI Shapefile bằng cách sử dụng ogr2ogr trong FWTools.

Tôi đã thử sử dụng

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

Tôi đã có đầu ra

LRI 6: Không thể tạo các trường loại StringList trên các lớp shapefile. LRI 1: Cố gắng viết hình học không đa giác (POINT) để nhập shapefile. LRI 1: Chấm dứt dịch sớm sau khi dịch sai lớp OGRGeoJSON

Đầu vào GeoJSON mà chúng tôi đang cung cấp có định dạng Geojson tiêu chuẩn.

nội dung của Geojson giống như {để chia sẻ Tôi chỉ lấy một phần từ mảng tính năng}

{"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
Chào mừng đến với diễn đàn SE.GIS. Có một câu hỏi tương tự gis.stackexchange.com/questions/13762/iêu
Sunil

Cảm ơn đã chào đón :) Tôi đã đi qua liên kết đó trước khi đăng. Tôi không muốn sử dụng FME, muốn làm điều đó bằng FWTools cho linux. Tôi đã chuyển đổi wkt thành shapefile trước đó khá khả quan, nhưng bây giờ tôi có cùng dữ liệu ở định dạng GeoJSON thay vì wkt. và cần phải có tệp shp, trong khi tôi cố gắng làm tôi nhận được lỗi;
sidd.k

Tôi đang bỏ phiếu để giữ cho nó mở, vì câu hỏi được liên kết không trả lời câu hỏi này.
Devdatta Tengshe

Việc chuyển đổi dữ liệu thử nghiệm của bạn hoạt động tốt với tôi với các phiên bản ogr2ogr 1.9.2 và 1.10. Một shapefile với 1 đa giác được tạo mà không có bất kỳ lỗi nào. "FWTools cho linux" của bạn có thể quá cũ. Nó ogr2ogr --versionnói gì
Hermann

1
Công tắc --version chưa tồn tại trong phiên bản ogr2ogr được phân phối với FWTools 2.0.6 Tôi cũng đoán rằng nó cũng chưa hỗ trợ GeoJSON. 2.0.6 thực sự cũ (~ 2006), có lý do gì để bạn không thể sử dụng phiên bản hiện đại của GDAL không?
DavidF

Câu trả lời:


28

Bạn phải buộc loại hình học SHP (vì loại hình học của Bộ sưu tập hình học GeoJSON không được hỗ trợ trong SHPs) và sử dụng -skipfailurestùy chọn:

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

(Đã thử nghiệm với GDAL 1.10.0, phát hành 2013/04/24)


2
Để tận dụng tối đa Geojson, tôi cũng khuyên bạn nên chạy tương tự cho các điểm (và các dòng, nếu bạn có bất kỳ điểm nào trong Geojson). Bằng cách đó, bạn nhận được hai hoặc ba shapefile từ một Geojson.
AndreJ

@AndreJoost Tôi đồng ý với bạn, đây chỉ là một ví dụ. Tôi cập nhật câu trả lời xem xét đề nghị của bạn. Cảm ơn.
Antonio Falciano

2
không phải là một giải pháp, nhưng tôi đã có may mắn khi sử dụng một công cụ trực tuyến được xây dựng với ogr2ogr: ogre.adc4gis.com
JasonBK
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.