Μετατροπέας GeoJSON σε Google KML
Η μετατροπή διανυσμάτων GeoJSON σε Google KML μεταφράζει ελαφριές συστοιχίες συντεταγμένων JSON σε δομημένα έγγραφα XML προσαρμοσμένα για το Google Earth και τους Χάρτες Google.
Σύγκριση Μορφών & Τεχνικές Προδιαγραφές
| Προδιαγραφή | GEOJSON | KML |
|---|---|---|
| Τύπος MIME | application/geo+json | application/vnd.google-earth.kml+xml |
| Τύπος | geographic vector JSON | geographic XML notation |
| Συμπίεση | none (JSON text) | XML text (KMZ when ZIP compressed) |
| Τυπική Προδιαγραφή | IETF RFC 7946 | OGC KML 2.3 |
| Κεφαλίδα Magic Bytes | 7B 22 74 79 70 65 22 3A 20 22 ({"type": ") JSON header | 3C 3F 78 6D 6C ... 3C 6B 6D 6C (<kml) |
Επισκόπηση Μορφής & Εφαρμογές
Τα γεωγραφικά διανυσματικά δεδομένα συχνά καταγράφονται και κοινοποιούνται με χρήση GeoJSON επειδή οι προγραμματιστές ιστού και οι βιβλιοθήκες χαρτογράφησης JavaScript τα επεξεργάζονται φυσικά. Ωστόσο, το λογισμικό GIS επιτραπέζιων υπολογιστών όπως το Google Earth και οι παλαιότερες εφαρμογές globe επιχειρήσεων απαιτούν τη γλώσσα Keyhole Markup Language, γνωστή ως KML. Η μετάφραση αυτών των formats επιτρέπει στους ερευνητές πεδίου και τους χαρτογράφους να προβάλλουν πολυγώνους ορίων που έχουν συλλεχθεί από τον ιστό, σημεία τηλεμετρίας drone και διαδρομές δημοτικών περιουσιακών στοιχείων μέσα σε εικονικές υδρόγειες σφαίρες χωρίς να γράφουν προσαρμοσμένα σενάρια. Η μετακίνηση δεδομένων από το GeoJSON στο KML γεφυρώνει επίσης το χάσμα μεταξύ των API ιστού ανοιχτού κώδικα και των εργαλείων χαρτογράφησης που απευθύνονται στους καταναλωτές. Πολλοί πολεοδόμοι συλλέγουν δεδομένα χρησιμοποιώντας βιβλιοθήκες Leaflet ή Mapbox που εξάγουν αρχεία GeoJSON. Όταν τα ενδιαφερόμενα μέρη θέλουν να εξετάσουν αυτά τα ακριβή επίπεδα σε ένα περιβάλλον επιτραπέζιου υπολογιστή 3D, η μετατροπή των ετικετών γεωμετρίας, των ιδιοκτησιών στυλ και των ιδιοτήτων μεταδεδομένων σε κόμβους XML διασφαλίζει ότι τα οπτικά στοιχεία όπως τα εικονίδια, τα πάχη γραμμών και τα χρώματα γεμίσματος αποδίδονται σωστά.
Τεχνικές Προδιαγραφές & Ανάλυση Codec
Το GeoJSON χρησιμοποιεί τον τύπο MIME application/geo+json, αντιπροσωπευτικό γεωγραφικών σημείων, γραμμών και πολυγώνων μέσα σε απλό κείμενο JavaScript Object Notation. Δεν περιέχει δυαδικά μαγικά byte, βασιζόμενο αντίθετα σε τυπικές αγκύλες ASCII ή UTF-8 και ζεύγη κλειδιού-τιμής όπως "type": "FeatureCollection". Αντίθετα, το Google KML χρησιμοποιεί τον τύπο MIME application/vnd.google-earth.kml+xml, δομώντας χωρικά χαρακτηριστικά μέσα σε ετικέτες XML όπως <Placemark>, <Point> και <Polygon>. Ενώ κανένα από τα δύο formats δεν χρησιμοποιεί εγγενώς συμπίεση με απώλειες σε επίπεδο κειμένου, τα αρχεία KML μπορούν να συμπιεστούν σε αρχεία KMZ χρησιμοποιώντας τυπική συμπίεση DEFLATE για να συνδυάσουν βαριά διανυσματικά δεδομένα και τοπικά εικονίδια εικόνας μαζί.
Συμβατότητα Λειτουργικού Συστήματος & Προγράμματος Περιήγησης
Και τα δύο formats φορτώνονται ομαλά σε σύγχρονα λειτουργικά συστήματα, συμπεριλαμβανομένων των Windows, macOS, Linux, iOS και Android. Τα σύγχρονα προγράμματα περιήγησης ιστού αναλύουν εγγενώς συμβολοσειρές GeoJSON χρησιμοποιώντας τυπικές μηχανές JavaScript, ενώ το Google KML απαιτεί εξειδικευμένους αναλυτές ή αποκλειστικό λογισμικό επιτραπέζιου υπολογιστή όπως το Google Earth Pro. Τα προγράμματα περιήγησης κινητών συσκευών δεν μπορούν να εμφανίσουν απευθείας ακατέργαστα αρχεία KML χωρίς μια εφαρμογή βοήθειας ή προ-απόδοση από την πλευρά του διακομιστή.
💡 Χρήσιμες πληροφορίες
Όταν μετατρέπετε μεγάλα σύνολα δεδομένων με χιλιάδες πολύπλοκα πολύγωνα, χωρίστε το πηγαίο GeoJSON σε μικρότερα περιφερειακά αρχεία πριν κάνετε εξαγωγή σε KML για να αποτρέψετε τερματισμούς μνήμης σε εφαρμογές χαρτογράφησης καταναλωτών.
Σύγκριση Μορφών & Τεχνικές Προδιαγραφές
Ένα τυπικό διανυσματικό αρχείο GeoJSON 5 megabyte μεταφέρεται σε περίπου 0.05 δευτερόλεπτα μέσω σύνδεσης οπτικών ινών 1 Gbps, περίπου 0.4 δευτερόλεπτα σε τυπικό δίκτυο κινητής τηλεφωνίας 5G και περίπου 1 δευτερόλεπτο σε τυπική σύνδεση 4G LTE.
Συχνές Ερωτήσεις
Πώς μετατρέπεται το GeoJSON σε Google KML χωρίς απώλεια ποιότητας;
Αυτή η μετατροπή είναι αυστηρά χωρίς απώλειες (lossless) επειδή και τα δύο formats αποθηκεύουν διανυσματικές συντεταγμένες χρησιμοποιώντας ακριβείς αριθμητικές τιμές γεωγραφικού πλάτους και μήκους. Η διαδικασία μετάφρασης αντιστοιχίζει τα κλειδιά GeoJSON στα αντίστοιχα στοιχεία KML XML χωρίς να αλλοιώνει την ακρίβεια των συντεταγμένων, αν και οι προσαρμοσμένες ιδιότητες στυλ ενδέχεται να απαιτούν μη αυτόματη αντιστοίχιση εάν το λογισμικό προορισμού διαβάζει μη τυπικά χαρακτηριστικά διαφορετικά.
Ποια είναι η διαφορά μεταξύ GeoJSON και Google KML;
Το GeoJSON είναι ένα ελαφρύ format κειμένου βασισμένο σε σύνταξη JSON, σχεδιασμένο ειδικά για API χαρτογράφησης ιστού και επεξεργασία JavaScript. Το Google KML είναι μια γλώσσα βασισμένη σε XML σχεδιασμένη για το Google Earth, προσφέροντας ενσωματωμένη υποστήριξη για προσάρτηση υψομέτρου 3D, προσαρμοσμένες απόψεις κάμερας, ιεραρχίες ένθετων φακέλων και ενσωματωμένα εικονίδια.