Ogr2ogr का उपयोग करके जियोजॉन को शेपफाइल में परिवर्तित करना?


24

मेरे पास जियोसन फाइल है जिसे मैं FWTools में ogr2ogr का उपयोग करके ESRI शेपफाइल में बदलना चाहता हूं।

मैंने प्रयोग करने की कोशिश की

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

मुझे आउटपुट मिला

त्रुटि 6: आकृति के परतों पर StringList के प्रकार नहीं बना सकते। त्रुटि 1: आकार-प्रकार टाइप करने के लिए गैर-बहुभुज (POINT) ज्यामिति लिखने का प्रयास। त्रुटि 1: परत OGRGeoJSON के असफल अनुवाद के बाद समय से पहले अनुवाद को समाप्त करना

जेजेन्सन इनपुट हम दे रहे हैं जो मानक जियोजोन प्रारूप में है।

जियोजोन की सामग्री {साझा करने के लिए है जैसे मैंने फीचर ऐरे से केवल एक हिस्सा लिया}

{"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 के बजाय जियोसन फॉर्मेट में एक ही डेटा है। और shp फ़ाइल की आवश्यकता है, जबकि मैं करने की कोशिश मैं त्रुटियों को पाने के लिए;
sidd.k

मैं इसे खुला रखने के लिए मतदान कर रहा हूं, क्योंकि जुड़ा हुआ प्रश्न इस प्रश्न का उत्तर नहीं देता है।
देवदत्त तेंगशे att

आपके परीक्षण डेटा का रूपांतरण मेरे लिए ogr2ogr संस्करणों 1.9.2 और 1.10 के साथ ठीक काम करता है। 1 बहुभुज के साथ एक आकृति का निर्माण बिना किसी त्रुटि के किया जाता है। आपका "Linux के लिए FWTools" बहुत पुराना हो सकता है। क्या ogr2ogr --versionकहता है?
हरमन

1
--Version स्विच अभी तक ogr2ogr के संस्करण में मौजूद नहीं था जो कि FWTools 2.0.6 के साथ वितरित किया गया था, मैं यह भी अनुमान लगा रहा हूं कि यह अभी तक GeoJSON का समर्थन नहीं करता है। 2.0.6 वास्तव में पुराना है (~ 2006), क्या कोई कारण है कि आप GDAL के आधुनिक संस्करण का उपयोग नहीं कर सकते हैं?
डेविड सेफ़

जवाबों:


28

आपको SHP ज्यामिति प्रकार को बाध्य करना होगा (क्योंकि GeoJSON Geometry Collection का ज्यामिति प्रकार SHPs में समर्थित नहीं है) और -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
जियोजोन से अधिकतम प्राप्त करने के लिए, मैं अंक (और रेखाएं, यदि आपके पास जियोजोन में कोई है) के लिए भी चलाने का सुझाव देगा। इस तरह से आपको दो या तीन शेपफाइल्स मिलेंगे एक जियोजोन से।
आंद्रेजे

@AndreJoost मैं आपसे सहमत हूँ, यह केवल एक उदाहरण था। मैं आपके सुझाव पर विचार करते हुए उत्तर को अपडेट करता हूं। धन्यवाद।
एंटोनियो फाल्कियानो

2
समाधान नहीं है, लेकिन मुझे ogr2ogr के साथ निर्मित एक ऑनलाइन टूल का उपयोग करने का सौभाग्य मिला है: ogre.adc4gis.com
जेसनबीके
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.