SimpleGeo को परिवर्तित करके GeoJSON फ़ाइल को आकार में लाएँ?


15

SimpleGeo ने हाल ही में अपने "स्थान" डेटा को स्वतंत्र रूप से उपलब्ध कराया है जो GREAT है, क्योंकि अब हम इसे अपने स्वयं के प्रयोजनों के लिए उपयोग कर सकते हैं, यहां तक ​​कि ऑफ़लाइन भी। तो मैं 2GB डेटासेट डाउनलोड करने के बारे में गया , जिसमें जिपजसन प्रारूप में ज़िपित देश फाइलें हैं।

यहीं से मेरी समस्या शुरू होती है ... जब मैं एक देश फ़ाइल (* .geojson) को सीधे QGIS में लोड करने का प्रयास करता हूं या यहां तक ​​कि इसे ogr2ogr का उपयोग करके इसे आकार में परिवर्तित करने की कोशिश करता हूं, तो मैं सिर्फ 1 बिंदु सुविधा के साथ समाप्त करता हूं।

स्पष्ट रूप से इन फ़ाइलों में अधिक डेटा उपलब्ध है जो मैं "देखने" या पुनर्प्राप्त करने में सक्षम नहीं हूं, इसलिए मैं क्या गलत कर रहा हूं? क्या कोई मुझे ये सुझाव दे सकता है कि इन फाइलों को प्रयोग करने योग्य जीआईएस सुविधाओं में कैसे बदला जाए?

अपडेट किया गया प्रश्न: मैं वास्तव में जियोजोन फाइल को डेस्कटॉप जीआईएस सॉफ्टवेयर में उपयोग के लिए एक आकृति (या समान मानक जीआईएस प्रारूप) में बदलना चाहता हूं

SimpleGeo ब्लॉग से स्निपेट 1 अगस्त, 2011 को :

"SimpleGeo का CC0 स्थान डेटा सेट अब बिना किसी शुल्क के डाउनलोड के लिए उपलब्ध है। यदि आप 63 देशों को कवर करने वाले 21M + POI पर अपने हाथ पाना चाहते हैं, तो हम आपको एक फाइल में यह सौंपने के लिए तैयार हैं। फ़ाइल के बारे में है। 2GB .ZIP प्रारूप में, और याद रखें, CC0 लाइसेंस के साथ, यह डेटा आपका - स्वतंत्र और स्पष्ट हो जाता है - जो कुछ भी आप चाहते हैं। हमें उम्मीद है कि आप इसके साथ भयानक चीजें करते हैं! आप इसे अब यहां क्लिक करके डाउनलोड कर सकते हैं। "

अद्यतन: १२ जनवरी २०१२: सिम्पलजीओ को २०११ के अक्टूबर में अर्बन एयरशिप द्वारा अधिगृहीत करने के बाद, अर्बन एशिप ने कहा "अगले कुछ महीनों में [सिम्पलजीओ के प्लेसेस, कॉन्टेक्स्ट, और स्टोरेज के वर्तमान संस्करणों की उपलब्धता को कम करें।" ... आधिकारिक तौर पर प्लग खींचने की लक्ष्य तिथि 31 मार्च, 2012 होगी। लिंक


3
+1। सिंपलीजियो के मैट गैलिगन को कुछ समय पहले कहा गया था कि लोकल डेटा तथ्य का विषय है और इसे आसानी से उपलब्ध होना चाहिए। यह संदर्भ है जिसे बेचा जाना चाहिए। 'वे' को देखने का मतलब अच्छा था। इस डेटा का लाभ उठाने के लिए भी उत्सुक हैं।
एरिक

जवाबों:


10

निम्नलिखित में सुविधाओं को लपेटने का प्रयास करें:

{"type":"FeatureCollection","features":[ 

****ALL THE DATA HERE -- COMMA SEPARATED****

]}

और प्रत्येक विशेषता को अल्पविराम से अलग कर रहा है।

उदाहरण के लिए, IE डेटासेट से पहली दो विशेषताएँ यहाँ दी गई हैं:

{"geometry": {"type": "Point", "coordinates": [-6.422587, 53.293363]}, "type": "Feature", "id": "SG_41u80gC4971D4Gc0Fv1p8q_53.293363_-6.422587@1308163237", "properties": {"website": "http://www.buongiorno.com", "city": "Dublin", "name": "Buongiorno", "tags": ["mobile", "vas", "community", "social-networking", "connected-devices", "android", "tablets", "smartphones"], "country": "IE", "classifiers": [{"category": "Professional", "type": "Services", "subcategory": "Computer Services"}], "href": "http://api.simplegeo.com/1.0/features/SG_41u80gC4971D4Gc0Fv1p8q_53.293363_-6.422587@1308163237.json", "address": "Lake Drive City West Digital Park", "owner": "simplegeo", "postcode": "3050"}}
{"geometry": {"type": "Point", "coordinates": [-6.250848, 53.339347]}, "type": "Feature", "id": "SG_1dnWbWIg8hX3VyfUKIDRz9_53.339347_-6.250848@1308163237", "properties": {"website": "http://www.simchronise.com", "city": "Dublin", "name": "SIMchronise", "tags": ["mobile-solutions", "mobile-data", "data-synchronisation", "mobile-security", "backup", "restore", "mobile-contacts", "web-2.0-addressbook", "phonebackup"], "country": "IE", "classifiers": [{"category": "Professional", "type": "Services", "subcategory": "Computer Services"}], "href": "http://api.simplegeo.com/1.0/features/SG_1dnWbWIg8hX3VyfUKIDRz9_53.339347_-6.250848@1308163237.json", "address": "78 Merrion Square", "owner": "simplegeo", "postcode": "Dublin2"}}

... और यहाँ वे एक जियोन्स फीचर के रूप में हैं:

{"type":"FeatureCollection","features":[ 
{"geometry": {"type": "Point", "coordinates": [-6.422587, 53.293363]}, "type": "Feature", "id": "SG_41u80gC4971D4Gc0Fv1p8q_53.293363_-6.422587@1308163237", "properties": {"website": "http://www.buongiorno.com", "city": "Dublin", "name": "Buongiorno", "tags": ["mobile", "vas", "community", "social-networking", "connected-devices", "android", "tablets", "smartphones"], "country": "IE", "classifiers": [{"category": "Professional", "type": "Services", "subcategory": "Computer Services"}], "href": "http://api.simplegeo.com/1.0/features/SG_41u80gC4971D4Gc0Fv1p8q_53.293363_-6.422587@1308163237.json", "address": "Lake Drive City West Digital Park", "owner": "simplegeo", "postcode": "3050"}},
{"geometry": {"type": "Point", "coordinates": [-6.250848, 53.339347]}, "type": "Feature", "id": "SG_1dnWbWIg8hX3VyfUKIDRz9_53.339347_-6.250848@1308163237", "properties": {"website": "http://www.simchronise.com", "city": "Dublin", "name": "SIMchronise", "tags": ["mobile-solutions", "mobile-data", "data-synchronisation", "mobile-security", "backup", "restore", "mobile-contacts", "web-2.0-addressbook", "phonebackup"], "country": "IE", "classifiers": [{"category": "Professional", "type": "Services", "subcategory": "Computer Services"}], "href": "http://api.simplegeo.com/1.0/features/SG_1dnWbWIg8hX3VyfUKIDRz9_53.339347_-6.250848@1308163237.json", "address": "78 Merrion Square", "owner": "simplegeo", "postcode": "Dublin2"}}
]}

आपकी पोस्टिंग के बाद मैंने महसूस किया कि मैंने वास्तव में अपना प्रश्न स्पष्ट नहीं किया था इसलिए मैंने इसे संपादित किया। मैं वास्तव में डेस्कटॉप जीआईएस में उपयोग के लिए डेटा को आकार-प्रकार या अन्य मानक जीआईएस प्रारूप में परिवर्तित करना चाहूंगा। खराब शब्द वाले प्रश्न के लिए क्षमा करें, लेकिन उत्तर @fod के लिए धन्यवाद।
रायनकेडलटन

2
fod का जवाब आपको वहां आधा मिलेगा। फ़ीचरकॉलप्लेयन में फीचर्स के रूप में फीचर्स को रैप करने के लिए आपको इन सभी डिप्स को प्री-प्रोसेस करना होगा, और कॉमा से अलग करना होगा। इसका आसान तरीका यह है कि सभी न्यूलाइन्स को एक, + न्यूलाइन (यानी \ n, \ n) के साथ बदलें, और फिर फीचरकॉलक्शन में, एक स्क्रिप्ट के माध्यम से या मैन्युअल रूप से टेक्स्ट एडिटर के साथ संलग्न करें। आपके द्वारा सभी फाइलों को उचित जेजेन्सन के रूप में तय करने के बाद, आप ओग 2rrr v1.8.0 का उपयोग कर सकते हैं या बाद में जियोसन को आकार में बदलने के लिए उपयोग कर सकते हैं।
सास इवेटिक

अति उत्कृष्ट! मुझे यह महसूस नहीं हुआ कि उन्हें "पठनीय" बनाने के लिए क्या करना होगा। ऊपर वर्णित विधि का उपयोग करते हुए, मैं फ़ाइल को सीधे QGIS के माध्यम से पठनीय बनाने में सक्षम था। बहुत बहुत धन्यवाद! मैंने मैक्सिको के डेटासेट का उपयोग एक अच्छे नमूने के रूप में किया, क्योंकि यह केवल 9k फ़ाइल का आकार था। अब यूएस फ़ाइल @ 7.4 जीबी के लिए "खोज और बदलें" से निपटने के लिए।
रयानकाल्टन

क्षमायाचना - मेरे पास अभी तक फॉलोअप करने का समय नहीं था, लेकिन FYI करें आप सीधे ही QGIS में GeoJSON फाइलें खोल सकते हैं - शेपफाइल में बदलने की कोई आवश्यकता नहीं है। फिर, यदि आप वास्तव में एक आकृति चाहते हैं, तो आप उस प्रारूप में परत निर्यात कर सकते हैं (परत-> इस रूप में सहेजें ...)।
फोड

मैंने जो पहली कोशिश की, वह सीधे QGIS की फाइलों को खोल रही थी। समस्या यह थी कि सभी डेटा एक रिकॉर्ड में "लिपटे" थे, और इसलिए एक बिंदु। क्यूजीआईएस के लिए ऊपर दिए गए निर्देशों का पालन करने के लिए मुझे डेटासेट में प्रत्येक व्यक्ति की विशेषता को पहचानने की आवश्यकता थी।
रियानकैल्टन

4

मुझे सही रास्ते पर लाने के लिए @fod & @Sasa Ivetic को बहुत-बहुत धन्यवाद! मुझे इस परियोजना को कुछ समय के लिए टालना पड़ा, लेकिन आखिरकार आज इसे वापस मिल गया और किसी अन्य व्यक्ति की मदद करने के लिए अपने परिणामों के साथ गुजरना चाहता था, जो इससे जूझ रहे थे।

उन्होंने @ फ़ोड के उत्तर में दी गई जानकारी का उपयोग करते हुए, मैंने इस पाइथन स्क्रिप्ट को डंप फ़ाइलों को "उचित" जियोजोन प्रारूप में बदलने के लिए लिखा। यह py स्क्रिप्ट डेटा को ogr2ogr द्वारा पठनीय प्रारूप में रूपांतरित करेगी, फिर आप इसे उस प्रारूप में परिवर्तित कर सकते हैं, जिसे आप पसंद करेंगे।

infile = sys.argv[1]
outfile = sys.argv[2]


## Prepare the input/output for read/write of files
fin = open(infile, 'r')
fout = open(outfile, 'w')


##Prepend the new file with approriate header info
fout.write('{"type":"FeatureCollection","features":[' + '\n')


## Read each line from the input and write to the output
for line in fin:
    ##write each line in the table, and replace carriage returns with "," + carriage return
    fout.write(line.replace("\n",",\n"))

##Append the new file with approriate footer info
fout.write(']}')

##Close the input and output files to release file locking
fin.close()
fout.close()

नोट: आप ओएस मेमोरी सीमाओं की वजह से ogr2ogr के माध्यम से परिवर्तित जियोजोन फ़ाइलों को परिवर्तित करने में परेशानी में पड़ सकते हैं। इस संबंधित प्रश्न पर एक नज़र डालें: gis.stackexchange.com/questions/16307/…
RyanKDalton

महान ! Microsoft की मेमोरी सीमाएँ हैं

1

आप FME आज़मा सकते हैं । यह GeoJSON को पढ़ता है और आकार और - और अधिक महत्वपूर्ण रूप से लिखता है - JSON (JSONExploder, JSONFlattener, JSONExtractor) को संभालने के लिए "ट्रांसफार्मर" का एक गुच्छा है। इसलिए मुझे लगता है कि सामग्री को एक उपयोगी प्रारूप में लाने में मदद मिलेगी।

यह भी एक नि: शुल्क परीक्षण उपलब्ध है!

NB: मैं सेफ सॉफ्टवेयर, FME के ​​निर्माताओं के लिए काम करता हूं।


क्या कुछ सैंपल वर्कस्पेस हैं जो बताते हैं कि जियोजेन्सन से लेकर shp तक कैसे लिखें?
Kflaw
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.