QGIS का उपयोग करके विशेषताओं को खोए बिना KML को आकार में परिवर्तित करना?


29

मेरे पास सैकड़ों अंकों के साथ एक KML फ़ाइल है। प्रत्येक बिंदु पर जानकारी होती है, जैसे कि नाम, पावर, आयु (यह पनबिजली का एक नक्शा है)। यदि मैं उस KML फ़ाइल को QGIS में आयात करता हूं, तो यह जानकारी खो जाती है।

क्या कोई तरीका है जिससे मैं यह जानकारी रख सकता हूँ?

सूचना इस प्रकार है:

<ExtendedData>
 <SchemaData schemaUrl="#vorlage">
  <SimpleData name="Name">Test</SimpleData>
  <SimpleData name="Power">10895</SimpleData>
  <SimpleData name="Location">L</SimpleData>
 </SchemaData>
</ExtendedData>

क्या मेरे कोड के साथ कुछ गलत है?


1
आप .kmlQGIS में कैसे आयात कर रहे हैं ? यह प्रारूप मूल स्वरूपों में से एक के रूप में समर्थित है, इसलिए kmlएक परत के रूप में एक फ़ाइल को जोड़ने के लिए यह अपेक्षाकृत दर्द रहित प्रक्रिया होनी चाहिए । यदि आप अधिक विवरण प्रदान करते हैं, तो कोई व्यक्ति यह पता लगाने में मदद कर सकता है कि क्या गलत हो रहा है। फ़ाइल के स्रोत के बारे में भी जानकारी उपयोगी हो सकती है।
स्थानिक

1
क्या आपके पास kml का लाइव लिंक है?
Mapperz

मुझे लगता है कि यह एफएमई के माध्यम से संभव होगा, या यदि आप थोड़ा रोमांच महसूस करते हैं, तो आप एक पायथन स्क्रिप्ट लिख सकते हैं जो किमील (एक्सएमएल!) को पार्स करेगी और आकार में निर्यात करेगी। (पुस्तकालयों का उपयोग करने के लिए: अजगर शेपफाइल लाइब्रेरी, अजगर से किसी भी XML)
U2ros

2
आरके हाँ मैंने देखा है कि एक। हालांकि मैंने समस्या के बेहतर विवरण के साथ नया सवाल पूछने का फैसला किया क्योंकि इसका कोई संतोषजनक समाधान नहीं है। इसके अलावा प्रयास के एक और चक्र के बाद समस्या यह हो सकती है कि ओलांद KML फाइलें KML मान्य नहीं होती हैं जब ऑनलाइन KML सत्यापनकर्ता में परीक्षण किया जाता है और कई त्रुटियों के साथ आता है ...
Miro

1
U2ros मैं सफलता के बिना ऑनलाइन FME की कोशिश की है। हो सकता है कि डेस्कटॉप FME, मैं इसे अगले "इंस्टॉल राउंड" में आज़मा सकता हूं ... मुझे निश्चित रूप से प्रोग्राम स्क्रिप्ट के लिए पर्याप्त रोमांच महसूस नहीं होता है जो कि kml को shp :-) में बदल देगा। लेकिन सबसे खराब स्थिति में मैं स्क्रिप्ट जो एम एल के माध्यम से जाना होगा लेखन, हर सुविधा के लिए "ExtendedData" खोजने के लिए और मेज / सीएसवी जो मैं QGIS / ArcGIS / मैपसूचना ... में परिवर्तित करने के लिए एम एल "नाम" के माध्यम से शामिल हो सकते हैं बनाने की कल्पना कर सकते
Miro

जवाबों:


15

ExtendedData में "नाम" मान नहीं है।

उदाहरण के लिए

<Data><displayName>System</displayName><value>Riverine</value></Data>

GDAL और Qgis मास्टर द्वारा आयात नहीं किया गया है, जबकि

<Data name="System"><displayName>System</displayName><value>Riverine</value></Data>

आयात हो जाता है।

आप इसे एक अच्छे टेक्स्ट एडिटर से बदल सकते हैं।

------------------- मिरो द्वारा जोड़ा गया ---------------------

केएमएल एडिट के लिए टेक्स्ट एडिटर का उपयोग करना आवश्यक है जो पीएसपैड (या नोटपैड ++ और कई अन्य मुफ्त टेक्स्ट एडिटर) जैसे रिप्लेसमेंट फंक्शन में "रेगुलर एक्सप्रेशन" की अनुमति देता है।

खोजें: <Data><displayName>(.*)</displayName>

बदलने के: <Data name="$1"><displayName>$1</displayName>

इसके बाद बस QGIS का उपयोग करें (कुंजी "नया" संस्करण है - इसमें GDAL संस्करण 1.9.2 शामिल है) और "Add वेक्टर लेयर" और लेयर सभी "ExtendedData" के साथ लोड होगा।


धन्यवाद, यह कुंजी जानकारी थी। मैंने इसे एक परीक्षण फ़ाइल में बदलने की कोशिश की और इसने सही काम किया। सभी "एक्सटेंडेडडाटा" अब कॉलम्स के रूप में तालिका में हैं। पुनः आपका बहुत - बहुत धन्यवाद।
मिरो

3
दरअसल, DisplayName का उपयोग Qgis द्वारा नहीं किया जाता है। तो रीप्लेसमेंट बिना RegExp के किया जा सकता है <Data> <DisplayName> के साथ <Data name = "की जगह और </ DisplayName> की जगह">।
आंद्रेजे

1
मेरी KML फ़ाइल में एक टैग <SchemaData> भी था, जिसे मुझे QGIS में खोलने के लिए टिप्पणी करनी थी। लेकिन अन्यथा चाल पूरी तरह से काम करती है!
जोना

8

मैंने वेटलैंडफाइल्स में से एक को ग्लोबमैपर के साथ आकार में बदल दिया: परिवर्तित dff- फाइलों (क्षेत्रों और लाइनों) से दो स्क्रीनशॉट संलग्न: यहां छवि विवरण दर्ज करें

यहां छवि विवरण दर्ज करें

उम्मीद है कि यह आप चाहते हैं ..


धन्यवाद, हाँ, वही है जिसकी मुझे आवश्यकता है। सॉफ्टवेयर के बारे में जानने के लिए अच्छा है जो इन KML को संभाल सकता है जो KML मानक अनुरूप नहीं हैं। क्योंकि पहले से ही अन्य उत्तर है कि इसे कैसे करना है क्यूजीआईएस के साथ मैं ग्लोबल मैपर की कोशिश नहीं करने जा रहा हूं लेकिन यह निश्चित रूप से किसी और की मदद कर सकता है। फिर से धन्यवाद।
मिरो

वास्तव में एक शानदार कनवर्टर, अच्छा !!
SIslam

6

आप Global Mapper सॉफ्टवेयर का उपयोग कर सकते हैं जिसमें आप kml / kmz फाइलों को आसानी से निर्यात / आयात कर सकते हैं + डेटा और बहुत सारे वेक्टर और रेखापुंज स्वरूपों को संलग्न कर सकते हैं..एक सबसे अच्छा सॉफ्टवेयर ।।

http://www.bluemarblegeo.com/global-mapper/product/formats.php


टिप के लिए धन्यवाद। मेरा मानना ​​है कि यह kml / kmz फाइलों को आयात / निर्यात कर सकता है लेकिन मैंने पहले से ही 5+ ऐप्स आज़माए हैं जो ऐसा कर सकते हैं। और उनमें से कोई भी विशेषताओं ("एक्सटेंडेडडाटा") को पढ़ने में सक्षम नहीं है। तो क्या वास्तव में ग्लोबल मैपर ऐसा कर सकते हैं?
मिरो

5

ऐसा प्रतीत होता है कि Google का libkml Ubuntu पर GDAL 1.9.2 के साथ नहीं चलता है , विशेष रूप से gdal-bin 1.9.2-2 ~ exact4 के साथ:

$ ogrinfo --formats | grep -i kml
  -> "KML" (read/write)

एक संस्करण libkml और साथ इस्तेमाल करने के लिए ExtendedDataसमर्थन, मैं से GDAL का निर्माण करने के लिए किया था SVN ट्रंक से libkml निर्माण के बाद (r25473) SVN ट्रंक विशेष रूप से ध्यान देने योग्य बात है कि 1.2.0 रिलीज के रूप में, GDAL वेबसाइट पर प्रलेखित जाहिरा तौर पर नहीं पर्याप्त है, (r864), । libkml0उबंटू सटीक (वर्तमान में 1.2.0-1ubuntu6) पर स्थापित करने से सावधान रहें । आपको वास्तव में 1.3 या svn ट्रंक की आवश्यकता है, जिसके लिए मुझे PPA नहीं मिल रहा था।

मैं अंततः Ubuntu Ubuntu पर libkml का निर्माण करने में असमर्थ था; बढ़ावा देने के संस्करण में टाइप त्रुटियां हैं जो इसके साथ जहाज हैं, और कामेच्छा चलाने में त्रुटियां हैं क्योंकि निर्भरता क्रम से बाहर है। जो भी कारण के लिए, ये डेबियन निचोड़ पर एक मुद्दा नहीं थे, जहां मैं सफल रहा:

$ ogrinfo --formats | grep -i kml
  -> "LIBKML" (read/write)
  -> "KML" (read/write)

एक बार जब मैंने पाया कि जा रहा था, दौड़ने ogr2ogr -f "ESRI Shapefile" foo.shp foo.kmlने मुझे एक आकार दिया जो कि क्यूगिस को आयात करने, ExtendedDataविशेषताओं को संरक्षित करने में सक्षम था ।


5

Qgis 1.8.0 लिस्बोआ द्वारा उपयोग किया गया Ogr2ogr kml ड्राइवर kml ExtendedData टैग का समर्थन नहीं करता है।

LIBKML चालक करता है, इसे GDAL संस्करण 1.9.2 में शामिल किया गया है, OSGEO4W पैकेज, MS4W और Qgis मास्टर।

आपका डेटा गलत नहीं है, लेकिन OSGeo4W में LIBKML ड्राइवर को स्कीमाडाटा के साथ कुछ समस्याएं थीं। वैकल्पिक रूप से, निम्नलिखित कार्य:

<ExtendedData>
 <Data name="Name"><value>Test</value></Data> 
 <Data name="Power"><value>10895</value></Data>
 <Data name="Location"><value>L</value></Data> 
</ExtendedData>

EDIT: स्कीमाडाटा बग अब OSGEO4W के GDAL 1.9.2-2 पैकेज में तय किया गया है।


4

FME 2012 (SP4) का उपयोग करना

पाठक KML लोड करें

एक लेखक का चयन करें (शेपफाइल)

आइटम्स कनेक्ट करें और राइट सिलेक्ट करें ( फीचर के प्रकारों से कॉपी करें )

कार्यक्षेत्र चलाएं

यहां छवि विवरण दर्ज करें


धन्यवाद, मैंने fme_install.msi को डाउनलोड कर लिया है, लेकिन स्थापना में त्रुटि है और क्योंकि इस प्रश्न के लिए पहले से ही अलग-अलग काम कर रहे समाधान हैं मैं इस तरह से जारी नहीं रखने वाला हूं। वैसे भी फिर से शुक्रिया।
मिरो


1

मुझे नहीं पता कि आप QGIS के साथ इसे हासिल कर सकते हैं। MapWindow में KML2Shapefile प्लगइन है, हालांकि।

KML2Shapefile MapWindow GIS का एक प्लगइन है जो Google धरती KML और KMZ फ़ाइलों को एक GIS में उपयोग के लिए आकार-प्रकार में परिवर्तित करता है।

KML2Shapefile प्रत्येक KML ज्यामिति प्रकार को एक अलग आकार में विभाजित करेगा। यह जटिल ज्यामिति का समर्थन करता है, और KML के अधिकांश भाग को विशेषता डेटा के रूप में प्रस्तुत करने में सक्षम है।

MapWindow एक स्वतंत्र और खुला स्रोत जीआईएस पैकेज है, वैसे भी। आप इसे मुफ्त में डाउनलोड और इंस्टॉल कर सकते हैं। आप MapWindow में KML2Shapefile प्लगइन का उपयोग करके KML को आकार-प्रकार में बदल सकते हैं और QGIS में परिणामी आकृति फ़ाइल को लोड कर सकते हैं। मान लें कि आप वैसे भी विंडोज पर हैं।

सबसे अच्छा समाधान मैं अभी के लिए सोच सकते हैं। मुझे आशा है कि किसी को QGIS में इसे करने के लिए एक प्लगइन के बारे में पता है।


1
आपकी सहायता के लिए धन्यवाद। मैंने कोशिश की, लेकिन फिर भी डेटा खो गया है। सूचना इस तरह दिखती है: <ExtendedData> <स्कीमाडाटा स्कीमाUrl = "# vorlage"> <SimpleData नाम = "नाम"> परीक्षण </ SimpleData> "SimpleData नाम =" पावर "> 10895 </ SimpleData> <SimpleData नाम = "स्थान"> L </ SimpleData> </ SchemaData> </ ExtendedData> क्या मेरे कोड में कुछ भी गलत है?
फेलिक्स

उसके लिए माफ़ कीजिये। मुझे उम्मीद थी कि यह काम करेगा।
आरके

1
@ फेलिक्स - आपकी टिप्पणी में आपके द्वारा दी गई जानकारी वास्तव में उपयोगी है। मैं आपके प्रश्न को संपादित करने और अतिरिक्त संदर्भ और स्पष्टता के लिए इसमें जोड़ने की सलाह दूंगा।
स्थानिक

@AndreJoost - आप की तरह लगता है कि एक अच्छा जवाब के साथ आया था। यह एक वास्तविक उत्तर के रूप में जोड़ने के लायक होगा ताकि यह किसी और के खोज परिणामों में उसी मुद्दे के साथ दिखाई दे।
स्थानिक

1

ग्लोबल मैपर प्राप्त करें, आपको केवल केएमजेड या केएमएल में लाना है, फिर वेक्टर आईएमजी (ईएसआरआई एसएचपी फाइल) निर्यात करें। ग्लोबल मैपर अधिकांश फ़ाइल प्रकार पढ़ सकते हैं। फिर ARC, Global mapper, Manifold, QGIS, ect में आकृति खोलें और विशेषता तालिका देखें। सारी जानकारी होगी। आप इस बिंदु पर Microsoft Excel के साथ SHP से DBF फ़ाइल भी खोल सकते हैं और यदि आप ऐसा चाहते हैं तो XLXS फ़ाइल एक्सटेंशन के रूप में सहेजें।


1

QGIS 3.2.0 रूपांतरण में टूलबॉक्स का उपयोग करके की गई सुगमता हो सकती है।

टूलबॉक्स में चयन करें -> GDAL -> वेक्टर कनवर्ज़न -> कन्वर्ट फॉर्मेट .... (Caja de Herramientas de Procesos -> GDAL -> कन्वर्सियोन वेक्टरियल -> कन्वर्टर फॉर्मेटो)

KML फ़ाइल चुनें, SHP फ़ाइल के रूप में सहेजें। मुझे गुणों में पुनर्विक्रेता फ़ाइल ("रूपांतरित") को भी बदलना पड़ा -> स्रोत (टैब) -> स्रोत "कोडिंग" UTF-8 "से" विंडोज़ -1258 "को ठीक से स्पेनिश वर्णों को देखने के लिए।

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