KML को CSV में बदलें

यहाँ आप KML को CSV में बदलते हैं, मुफ़्त और बिना खाते के: फ़ाइल ऊपर छोड़िए और कुछ ही सेकंड में नतीजा डाउनलोड के लिए तैयार मिलेगा। कन्वर्ज़न आपके अपने ब्राउज़र के भीतर होता है, इसलिए फ़ाइल कभी अपलोड नहीं होती। यह Windows, macOS और Linux पर वैसे ही चलता है जैसे iPhone और Android पर, और कनेक्शन काट देने पर भी चलता रहता है।

  • कहाँ चलता है आपके ब्राउज़र में। फ़ाइल कभी अपलोड नहीं होती।
  • नए सिरे से बना CSV के काम करने का तरीक़ा KML से अलग है। यह किसी लॉसी कोडेक जैसा धीरे-धीरे होने वाला नुक़सान नहीं है: CSV जो कुछ व्यक्त कर सकता है, वह हूबहू उतर आता है — और जिसका वहाँ कोई समतुल्य नहीं, वह पूरी तरह रह जाता है।
  • फ़ाइल आकार की सीमा हर फ़ाइल 100 MB तक, मुफ़्त, बिना खाते के।
  • जानने लायक़ हर दर्ज बिंदु के लिए एक पंक्ति। स्थिति, ऊँचाई और समय के अलावा फ़ाइल में जो कुछ था, वह तालिका में नहीं आता।

एक बार में 100 फ़ाइलें। फ़ॉर्मेट अलग-अलग हों तो भी चलेगा।

पिन वाली KML पहले से ही सूची है, और सूची टेबल में बैठती है

KML किसी गोले पर खींचने के लिए बना था। प्लेसमार्क वाली फ़ाइल में जगह से कहीं ज़्यादा है — हर आइकन की शैली, HTML वाला विवरण बैलून, उन्हें समूहित करता फ़ोल्डर पेड़, कभी-कभी पीछे कोई ग्राउंड ओवरले। पर घूम रही बहुत-सी KML फ़ाइलें असल में नक़्शे के भेस में सूची हैं: चालीस ब्रांच लोकेशन, सर्वे साइट का सेट, वे जगहें जिन्हें किसी ने साल भर में Google Earth में तारांकित किया।

ऐसी फ़ाइल के लिए CSV ज़्यादा ईमानदार कंटेनर है। हर प्लेसमार्क नाम और निर्देशांक की पंक्ति बनता है, जो geocoder, route optimiser, CRM इम्पोर्ट या `GROUP BY` असल में इस्तेमाल करता है। जो कुछ इसे ड्रॉइंग बनाता था वह पीछे छूट जाता है, और यह जान-बूझकर छूटा है, सीमा नहीं — आइकन URL का कॉलम किसी काम नहीं आता, और HTML विवरण बैलून के लिए कोई कॉलम आकार बचता ही नहीं।

फ़ाइल में पहले लॉन्गीट्यूड, नतीजे में पहले लैटीट्यूड

KML निर्देशांक `longitude,latitude,altitude` के तौर पर एक ही स्पेस-अलग स्ट्रिंग में लिखता है। इस परिवार के लगभग हर और फ़ॉर्मेट, GPX और TCX समेत, पहले latitude रखता है, और यह उलटफेर सबसे आम वजह है जिससे KML बदलाव ग़लत होता है: जोड़ा घूम जाता है, तो 13.4, 52.5 पर बर्लिन 52.5, 13.4 बनकर अरब सागर में पहुँच जाता है।

यह बदलाव उन्हें वापस बदल देता है, तो CSV कॉलम `latitude` फिर `longitude` में होते हैं। इसे भरोसा करने की बजाय जाँचना ठीक है, और एक सेकंड की जाँच है: पश्चिमी यूरोप के लिए latitude क़रीब 36 से 71 और longitude क़रीब −10 से 30 चलता है, तो अगर पहला निर्देशांक कॉलम छोटा है और दूसरा बड़ा, कहीं ऊपर उन्हें फिर से घुमा दिया गया है।

नेस्टेड फ़ोल्डर में दबे प्लेसमार्क भी मिल जाते हैं

KML नेस्ट करता है। `<Document>` में `<Folder>` एलिमेंट होते हैं, जिनमें और फ़ोल्डर और आख़िर में `<Placemark>` एलिमेंट geometry के साथ। Reader उस पेड़ को पूरा घूमता है, सिर्फ़ एक स्तर नीचे झाँकता नहीं, क्योंकि मैपिंग टूल से एक्सपोर्ट हुई KML अक्सर अपने प्लेसमार्क तीन स्तर नीचे रखती है।

यह घुमाई फ़ोल्डर बनावट नहीं रखती। `Sites / Phase 2 / Confirmed` में पड़ा पिन ऊपरी स्तर वाले से अलग नहीं दिखने वाली पंक्ति बनता है, क्योंकि CSV में सिर्फ़ एक `name` कॉलम है और वह प्लेसमार्क का है। अगर समूहीकरण ही जानकारी है, तो बदलने से पहले उसे प्लेसमार्क नामों में लिखना होगा।

कौन-सी KML geometry पंक्ति बनाती है, कौन-सी ख़ामोश रहती है

जिस Placemark में `<Point>` है वह एक `waypoint` पंक्ति बनता है। जिसमें `<LineString>` है वह `track` की एक क्रम पंक्तियाँ बनाता है, हर वर्टेक्स के लिए एक, सब उसी प्लेसमार्क नाम के साथ। ये दोनों घूम रही ज़्यादातर KML को ढँकते हैं और दोनों अपने नाम सलामत लेकर आते हैं।

दो चीज़ें कुछ नहीं देतीं, और दोनों बदलने से पहले जानने लायक़ हैं। `<Polygon>` — कोई छायांकित इलाक़ा, संपत्ति की सीमा, सेवा क्षेत्र — अपनी रूपरेखा नेस्टेड बाउंड्री एलिमेंट में रखता है जिसमें यह पार्सर नहीं उतरता, तो इलाक़ा कोई पंक्ति नहीं देता। एक प्लेसमार्क में कई लाइनें लपेटने वाला `<MultiGeometry>` भी उसी वजह से छोड़ दिया जाता है।

gx:Track इकलौती KML geometry है जो समय ढोती है

LineString एक आकार है जिसमें कब का कोई भान नहीं। अगर KML GPS एक्सपोर्ट से आई है, ड्रॉइंग से नहीं, तो शायद इसमें `gx:Track` हो, Google का विस्तार जो `<when>` टाइमस्टैम्प और `<coord>` पोज़िशन की समानांतर सूची रखता है। Reader इसे लाइन मानकर नहीं, अलग मामले की तरह संभालता है, और टाइमस्टैम्प `time` कॉलम में जाते हैं।

यह पहचानने का तरीक़ा है कि `time` कॉलम भरा है या नहीं। अगर हर सेल ख़ाली है, तो स्रोत में LineString थीं, और कोई भी कन्वर्टर वह समय वापस नहीं ला सकता जो फ़ाइल ने कभी सहेजा ही नहीं।

ऊँचाई शब्दशः ली जाती है, वे शून्य भी जिनका कोई मतलब नहीं

KML निर्देशांक का तीसरा मान मीटर में ऊँचाई है, और बदलाव इसे मौजूद होने पर `elevation` कॉलम में लिख देता है। यह `<altitudeMode>` नहीं देखता, जो बताता है ऊँचाई को कैसे समझा जाए — ज़मीन से चिपकी, उसके सापेक्ष, या पूर्ण।

यह इसलिए मायने रखता है क्योंकि Google Earth का डिफ़ॉल्ट `clampToGround` है, जिसमें ऊँचाई का मान पूरी तरह अनदेखा होता है और अक्सर `0` लिखा जाता है। पहाड़ी इलाक़े पर हाथ से बनाई KML में `elevation` कॉलम शून्य से भरा हो सकता है जिसका मतलब है "सतह पर", "समुद्र तल पर" नहीं।

Type कॉलम, और waypoint पहले क्यों आते हैं

नतीजा हर `waypoint` पंक्ति को हर `track` पंक्ति से पहले रखता है, चाहे दस्तावेज़ में क्रम कुछ भी रहा हो। यह आम हालत के लिए सहूलियत है: पिन वाली KML ऐसी फ़ाइल बनती है जिसकी सब पंक्तियाँ waypoint हैं, और पिन प्लस खींचा रास्ता मिलाकर बनी KML आपको पिन ऊपर देती है।

क़ीमत यह है कि दोनों तरह में दस्तावेज़ का क्रम नहीं बचता। अगर KML में सुविधाओं का क्रम कुछ मायने रखता था — जिस क्रम में सर्वे ने साइट देखीं, मसलन — वह क्रम प्लेसमार्क नाम या `time` कॉलम से आना चाहिए, पंक्ति संख्या से नहीं।

कॉमा वाले नाम, और उन्हें बचाने वाला quoting

प्लेसमार्क नाम वह फ़ील्ड है जो किसी सादे CSV को सबसे आसानी से तोड़ सकता है, क्योंकि यह किसी इंसान का लिखा मुक्त टेक्स्ट है। `Warehouse 3, Rear Entrance` में डिलीमीटर है, और नाम के तौर पर इस्तेमाल पता उससे कई रखता है। Writer कॉमा, उद्धरण चिह्न या नई लाइन वाले किसी भी मान को quote करता है और भीतरी उद्धरण चिह्न दोहराता है, जो RFC 4180 माँगता है।

निर्देशांक को कभी quoting नहीं चाहिए, तो फ़ाइल टेक्स्ट एडिटर में भी पढ़ने लायक़ रहती है। नतीजे को आँख से जाँचते समय quote किए नाम देखने लायक़ पंक्तियाँ हैं।

पता कॉलम जो आपको नहीं मिलता

KML किसी Placemark पर `<address>` एलिमेंट तय करता है, और Google Earth उसे तब भरता है जब पिन किसी जगह खोजकर बनाया गया, गोले पर क्लिक करके नहीं। यह यहाँ पढ़ा नहीं जाता, तो नतीजे में नाम और निर्देशांक होते हैं, डाक पते जैसा कुछ नहीं, भले स्रोत दस्तावेज़ में हो।

ज़्यादातर गंतव्य के लिए यह नुक़सान नहीं, क्योंकि latitude और longitude किसी सड़क वाली लाइन से मज़बूत कुंजी है और हर routing, mapping और geocoding सेवा उसे सीधे स्वीकार करती है। जहाँ पता सच में चाहिए — कोई मेलिंग रन, डिलीवरी मैनिफ़ेस्ट — वहाँ निर्देशांक के ख़िलाफ़ reverse-geocoding क़दम से लेना होगा।

My Maps लेयर अक्सर दूसरों के पते होते हैं

बदलाव पूरी तरह इसी ब्राउज़र टैब में चलता है — KML पढ़ी, घुमाई और दोबारा लिखी जाती है स्थानीय तौर पर, और कोई रिक्वेस्ट उसे कहीं नहीं ले जाती। न कोई अकाउंट, न कतार, न पढ़ने लायक़ रिटेंशन नीति, क्योंकि सर्वर पर रखने को कुछ है ही नहीं।

परवाह करने की वजह यह है कि प्लेसमार्क सूची अक्सर क्या होती है। पिन वाली KML अक्सर ग्राहक सूची, डिलीवरी पते, मरीज़ या क्लाइंट साइट, या ऐसी संपत्तियों की जगहें होती हैं जिन्हें कोई प्रकाशित नहीं करना चाहेगा।

KML को CSV में ऐसे बदलें

  1. अपनी KML फ़ाइल इस पेज पर छोड़ें, या चुनने के लिए दबाएँ।
  2. लक्ष्य के रूप में CSV चुनें। कन्वर्ज़न आपके ब्राउज़र में होता है और फ़ाइल अपलोड नहीं होती।
  3. तैयार CSV फ़ाइल डाउनलोड कर लें।

KML या CSV: क्या बदलता है

KML और CSV की तुलना
KMLCSV
पूरा नामKeyhole Markup LanguageComma-Separated Values
फ़ाइल एक्सटेंशन.kml.csv
मीडिया टाइपapplication/vnd.google-earth.kml+xmltext/csv
पहली बार प्रकाशित1972
प्रकाशकKeyhole
विनिर्देशOGC KML 2.3RFC 4180
लाइसेंसखुला मानकखुला मानक
आज की स्थितिमौजूदामौजूदा
ब्राउज़र में खुलता हैकोई ब्राउज़र नहींकोई ब्राउज़र नहीं
इसकी जगह विचारणीयKMZ, GPXXLSX, JSON, Parquet

नतीजा खोलना

दोनों तरफ़ के प्रोग्राम अलग हैं: KML फ़ाइल Google Earth, QGIS और ArcGIS में खुलती है और CSV फ़ाइल Microsoft Excel, LibreOffice Calc और pandas में — यानी नतीजा जिसके पास जाएगा, उसे दूसरी सूची में से कोई प्रोग्राम चाहिए होगा।

कौन-सा फ़ॉर्मेट किस काम के लिए है

दोनों का निशाना अलग काम है: KML का नक़्शे पर, CSV का प्रोग्रामों के बीच डेटा ले जाना पर। इस पर सोचना बनता है, क्योंकि जिस वजह से एक मौजूद है, आम तौर पर उसी वजह से दूसरा असुविधाजनक होता है।

KML Keyhole का फ़ॉर्मेट है। यह OGC KML 2.3 में तय किया गया है, और अगर फ़ाइल को उस औज़ार से ज़्यादा जीना है जिसने उसे लिखा, तो यह बात क़ीमती है।

CSV 1972 से चला आ रहा है, और RFC 4180 में तय किया गया है। Microsoft Excel, LibreOffice Calc और pandas इस फ़ॉर्मेट को पढ़ लेते है।

KML से CSV: आम सवाल

क्या मेरी KML फ़ाइल कहीं अपलोड होती है?

नहीं। यह कन्वर्ज़न पूरी तरह आपके ब्राउज़र में होता है, इसलिए फ़ाइल आपके डिवाइस से बाहर नहीं जाती। आप ख़ुद जाँच सकते हैं: डेवलपर टूल्स का नेटवर्क टैब खोलिए और कुछ बदल कर देखिए। आपको पेज ख़ुद दिखेगा और आँकड़ों तथा विज्ञापन के वे अनुरोध दिखेंगे जिनसे इस सेवा का ख़र्च निकलता है — और एक भी ऐसा अनुरोध नहीं जो आपकी फ़ाइल साथ ले जा रहा हो।

क्या KML को CSV में बदलना मुफ़्त है?

हाँ। न खाता, न वॉटरमार्क, और न कोई रोज़ का कोटा जो ख़त्म हो: यह आपकी अपनी मशीन पर चलता है, इसलिए आप जितनी बार चाहें लौट सकते हैं। ब्राउज़र 100 MB तक की फ़ाइलें सँभालता है, एक बार में 100।

KML को CSV में बदलने पर क्या गुणवत्ता जाती है?

KML और CSV सामग्री का वर्णन बुनियादी तौर पर अलग-अलग तरीक़ों से करते हैं। इसलिए यह कन्वर्ज़न नक़ल नहीं, पुनर्निर्माण है: ईमानदार, पर बाइट-दर-बाइट एक जैसा नहीं। हर दर्ज बिंदु के लिए एक पंक्ति। स्थिति, ऊँचाई और समय के अलावा फ़ाइल में जो कुछ था, वह तालिका में नहीं आता।

CSV फ़ाइल खोलने के लिए क्या मुझे कुछ इंस्टॉल करना होगा?

कन्वर्ज़न के लिए नहीं: वह उसी ब्राउज़र में होता है जो आपने पहले से खोल रखा है। नतीजा खोलने के लिए उसके बाद वही प्रोग्राम चाहिए जिससे आपका डिवाइस Comma-Separated Values आम तौर पर दिखाता है।

इन फ़ॉर्मेट के बारे में और