QGIS में OpenStreetMap डेटा लोड हो रहा है?


36

QGIS 1.8 में, मैंने सर्वर से डेटा का अनुरोध करने के लिए ओपनस्ट्रीटमैप प्लगइन का उपयोग किया, या .osm XML फ़ाइल खोलें, जिसने QGIS में 3 लेयर्स (पॉलीगॉन, पॉलीलाइन और पॉइंट) का उत्पादन किया।

यह बहुत अच्छा था (64 बिट बग को दें या ले लें जो मेरे द्वारा काम किए गए ताजे मैप किए गए क्षेत्र को अत्यधिक प्रभावित करता है), लेकिन मैं इसे QGIS 2.x में कैसे करूं?

मैं इसके बारे में कोई अद्यतन दस्तावेज नहीं पा सकता हूँ।

वेक्टर मेनू में, मैंने ऑसम सर्वर से आयात करने की कोशिश की है, मुझे एक .osm फ़ाइल मिलती है, लेकिन फिर मैं अटक जाता हूं। XML फ़ाइल को लोड करने के लिए एक मेनू विकल्प है, लेकिन यह एक स्थानिक db पैदा करता है, जो कि जाहिरा तौर पर केवल गैर-ज्यामिति तालिकाओं में होता है जब मैं इसे एक स्थानिक परत के रूप में जोड़ने का प्रयास करता हूं। यदि मैं विशेषता तालिका खोलता हूं, तो मैं नोड आईडी, तरीके आदि देख सकता हूं, लेकिन मैं यह पता नहीं लगा सकता कि वास्तव में उनका उपयोग कैसे किया जाए।

मैंने .osm XML फ़ाइल से वेक्टर लेयर जोड़ने की भी कोशिश की है। मुझे एक जीपीएसबेल विंडो मिलती है जो कुछ भी नहीं दिखाती है, आखिरकार क्यूजीआईएस में एक अवैध डेटा स्रोत संदेश है।


2
टॉम, मैंने QGIS में OSM डेटा प्राप्त करने के लिए चरण-दर-चरण निर्देश लिखा था। आशा है कि शुरुआती लोगों के लिए यह सरल है। qgistutorials.com/en/docs/downloading_osm_data.html
स्थानिक विचार

यहाँ एक सभ्य शैली है (अच्छे सेटअप निर्देशों के साथ): github.com/yannos/Beautiful_OSM_in_QGIS यह PostGIS के लिए अभिप्रेत है (स्थानिक नहीं)।
kontextify

हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक-केवल उत्तर अमान्य हो सकते हैं यदि लिंक किए गए पृष्ठ बदल जाते हैं। - समीक्षा से
csk

जवाबों:


40

QGIS 3.x के लिए अद्यतन : QGIS 2 से पुराने OSM आयातक को QGIS 3 में बहुत सारे अनसुलझे बग के कारण छोड़ दिया गया था। QuickOSM प्लगइन भी osm कच्ची फ़ाइलों को पढ़ने में सक्षम करता है। आप उपयोगकर्ता परत का उपयोग कर सकते हैं - परत जोड़ें - इसके बजाय वेक्टर परत जोड़ें। उस स्थिति में, OSM डेटा को GDAL के साथ http://gdal.org/drv_osm.html द्वारा दस्तावेज के रूप में खोला जाता है


में QGIS 2.x , 3 चरणों शामिल हैं

  1. OSM फ़ाइल प्राप्त करें, आप इसे josm या ओवरपास या किसी अन्य स्रोत का उपयोग करके प्राप्त कर सकते हैं। इसे एक मान्य xml होना चाहिए। आप इसे qgis वेक्टर> OpenStreetMap> डाउनलोड OSM डेटा मेनू से भी डाउनलोड कर सकते हैं , लेकिन कभी-कभी यह परिणाम नहीं देता है। मैं ओवरपास टर्बो का उपयोग करने की सलाह दूंगा
  2. वेक्टर> OpenStreetMap> XML से आयात टोपोलॉजी , जैसा कि आपने कहा कि गैर-ज्यामिति तालिकाओं के साथ एक स्थानिक डेटाबेस का उत्पादन करेगा। मुझे लगता है कि यह टोपोलॉजी है।
  3. अंत में, आप वेक्टर> OpenStreetMap> एक्सपोर्ट टोपोलॉजी से स्पैटियालाइट पर डेटा प्राप्त कर सकते हैं , यहां आपको ऊपर दी गई db फाइल को देने की आवश्यकता है और जैसे qgis 1.8 में आपको पॉइंट्स, लाइन्स या पॉलीगन्स चुनने का विकल्प मिलेगा । नीचे निर्यात किए गए टैग अनुभाग में आप फ़ाइल में निहित सभी टैगों को लोड कर सकते हैं और केवल उन्हीं का चयन कर सकते हैं जिनकी आपको आवश्यकता है। यह 1.8 की तुलना में अतिरिक्त सुविधा है।

परत को नक्शे में जोड़ा जाता है, यदि आप सभी नोड चाहते हैं, तो आप अन्य विकल्पों के साथ चरण 3 को दोहरा सकते हैं।

http://wiki.openstreetmap.org/wiki/QGIS#QGIS2_OpenStreetMap_Vectors


4
यह अविश्वसनीय रूप से जटिल लगता है, लेकिन यह काम करता है। स्पष्टता के लिए, चरण 3 के बाद, आपको अभी भी एक स्थानिक परत जोड़ने की ज़रूरत है, आपके द्वारा बनाई गई db से कनेक्ट करें, और अंत में परिणाम देखने के लिए चरण 3 में बनाई गई परत (ओं) को चुनें। आपकी सहायताके लिए धन्यवाद!
लॉरेंट एस

मेरे लिए, लेयर्स अपने आप बन गए और जुड़ गए। डेटाबेस से कनेक्शन चरण 2 में स्थापित किया गया था (जब तक कि आप इसे अनियंत्रित नहीं करते)।
आंद्रे जे

15

मुझे प्लगइन का उपयोग करके OSM डेटा डाउनलोड करना और आयात और निर्यात गतियों के माध्यम से बहुत थकाऊ होना पाया गया। इसलिए मैंने एक अलग समाधान लिखा है: http://anitagraser.com/2014/05/31/a-guide-to-googlemaps-like-maps-with-osm-in-qgis/

सारांश:

रॉ OSM फाइलें काफी विशाल हो सकती हैं। यही कारण है कि XML .osm प्रारूप के बजाय संकुचित बाइनरी .pbf प्रारूप को डाउनलोड करना निश्चित रूप से बेहतर है । एक डाउनलोड स्रोत के रूप में, मैं जियोफैब्रिक की सिफारिश करूंगा

पहले प्रीप्रोसेसिंग कदम के लिए: ब्याज के क्षेत्र को निकालते हुए, हम ऑस्मोसिस का उपयोग कर सकते हैं:

C:\Users\anita_000\Geodata\OSM_Noirmoutier>..\bin\osmosis.bat --read-pbf pays-de-la-loire-latest.osm.pbf --bounding-box left=-2.59 bottom=46.58 right=-1.44 top=47.07 --write-xml noirmoutier.osm

जबकि QGIS .osm फ़ाइलों को भी लोड कर सकता है, मैंने पाया कि यदि .osm फ़ाइल को स्थानिक में परिवर्तित किया जाता है, तो प्रदर्शन और विशेषताओं तक पहुंच में बहुत सुधार होता है।

C:\Users\anita_000\Geodata\OSM_Noirmoutier>ogr2ogr -f "SQLite" -dsco SPATIALITE=YES noirmoutier.db noirmoutier.osm

QGIS में, हम Add SpatiaLite लेयर का उपयोग करके पॉइंट्स, लाइन्स और मल्टीप्लगॉन लोड कर सकते हैं। जब हम स्थानिक तालिकाओं को लोड करते हैं, तो कुछ मुद्दे होते हैं:

  • कोई भूमि बहुभुज नहीं है। इसके बजाय, "समुद्र तट" लाइन की विशेषताएं हैं।
  • अधिकांश नदी बहुभुज गायब हैं। इसके बजाय "रिवरबैंक" लाइन की विशेषताएं हैं।

लापता नदी बहुभुज बनाना कोई बड़ी बात नहीं है:

  1. उन सभी लाइनों का चयन करें जहां जलमार्ग = नदी का किनारा।
  2. प्रसंस्करण टूलबॉक्स से बहुभुज उपकरण का उपयोग करें चयनित रिवरबैंक लाइनों द्वारा संलग्न क्षेत्रों से स्वचालित रूप से बहुभुज बनाने के लिए। (ध्यान दें कि डिफ़ॉल्ट रूप से प्रसंस्करण केवल चयनित सुविधाओं पर काम करता है लेकिन इस सेटिंग को प्रसंस्करण सेटिंग्स में बदला जा सकता है।)

भूमि बहुभुज (या समुद्री बहुभुज बनाना यदि आप पसंद करते हैं कि किसी कारण से) थोड़ा अधिक शामिल है क्योंकि ज्यादातर समय समुद्र तट को सरल कारण से बंद नहीं किया जाएगा, जो कि हम अक्सर मुख्य महाद्वीप से बाहर जमीन का एक टुकड़ा काट रहे हैं। । इसलिए, बहुभुज उपकरण का उपयोग करने से पहले, हमें क्षेत्र को बंद करना होगा। ऐसा करने के लिए, मैं पहले "other_tags" LIKE '% "प्राकृतिक" => "समुद्र तट"% "का उपयोग करके तटरेखा का चयन करने का सुझाव देता हूं और इस चयन से एक नई परत बनाता हूं (चयन को सहेजें ...) और इसे संपादित करें (मत भूलना क्षेत्र को बंद करने के लिए लाइनों को जोड़ने के लिए तड़कना सक्षम करना!)। फिर बहुभुज।


यदि आप एक काफी विश्वसनीय कंप्यूटर चला रहे हैं, और आप चाहते हैं कि अगले बर्फ की उम्र से पहले ogr2ogr चरण पूरा हो जाए, तो जोड़ें --config OGR_SQLITE_SYNCHRONOUS OFF
स्क्रू

6

यदि आप प्लगइन पसंद नहीं करते हैं, तो आपको ओवरपास एपीआई के साथ Add Vector Layerओएसएम डेटा की आवश्यकता होती है, और परिणाम को क्यूजीआईएस (एनाब्लिंग All filesफिल्टर) के साथ जोड़ें ।

QGIS 2.0 GDAL 1.10 के ogr2ogr OSM आयातक का उपयोग करता है जो एक अच्छा काम करता है।

इस समय संबंध समर्थन प्लगइन की तुलना में बेहतर प्रतीत होता है।

बस यह सुनिश्चित करें कि आप तरीके और संबंध पूरी तरह से डाउनलोड कर लें , यह सभी तरीकों के नोड्स हैं, और संबंधों के सभी सदस्य, अपने सभी नोड्स के साथ।


4

तुम्हें पता है, तुम SpatialLite में डेटा डालने की जरूरत नहीं है । आप बस कर सकते हैं:

  1. डेटा डाउनलोड करें (वेक्टर> OpenStreetMap> डाउनलोड डेटा, एक .osm फ़ाइल बनाता है)
  2. वेक्टर परत के रूप में डेटा (.osm फ़ाइल) लोड करें (परत> वेक्टर परत जोड़ें)। फ़ाइल का चयन करने के बाद, यह आपसे पूछेगा कि आप किन परतों को जोड़ना चाहते हैं (जैसा कि GDAL प्रत्येक प्रकार के लिए अलग-अलग फ़ाइलें बनाता है: प्वाइंट, लाइन, मल्टीलाइन, मल्टीपोलियन, जियोक्लोलेशन)। जो आप चाहते हैं उसे चुनें और उसे लोड करें।

यह किसी तरह से काम करता है, लेकिन यह टैग के आधार पर अलग-अलग परतों को नहीं लगता है। इसलिए मूल रूप से सड़कें और नदियाँ एक ही पंक्ति की परत में समा जाती हैं, जो वास्तव में मददगार नहीं हैं यदि आप परिणामी डेटा पर विश्लेषण चलाना चाहते हैं।
लॉरेंट एस

आपके प्रश्न से यह स्पष्ट नहीं था कि एक बार आयात करने के बाद आप डेटा के साथ क्या कर रहे थे। आप निश्चित रूप से QGIS के भीतर डेटा से जो भी सुविधाएँ चाहें चुन सकते हैं। जैसा कि ऊपर बताया गया है, यदि आप जानते हैं कि आप केवल कुछ डेटा चाहते हैं (और यह बहुत बड़े क्षेत्र में नहीं है), तो ओवरपास के साथ डेटा डाउनलोड करना बेहतर होगा, क्योंकि आप केवल कुछ सुविधाओं के लिए पूर्व-चयन कर सकते हैं। मैं क्वेरी को विकसित करने के लिए उपयोगकर्ता के अनुकूल तरीका होने के लिए ओवरपास टर्बो ढूंढता हूं। यहां बाउंडिंग बॉक्स में सभी राजमार्गों का एक उदाहरण है: overpass-turbo.eu/s/2VX
neuhausr
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.