Μετατροπέας Google KML σε GeoJSON
Η μετατροπή αρχείων Google KML σε GeoJSON μετατρέπει τα ιεραρχικά γεωγραφικά δεδομένα XML σε ελαφριά διανύσματα JavaScript Object Notation για σύγχρονους χάρτες ιστού.
Σύγκριση Μορφών & Τεχνικές Προδιαγραφές
| Προδιαγραφή | KML | GEOJSON |
|---|---|---|
| Τύπος MIME | application/vnd.google-earth.kml+xml | application/geo+json |
| Τύπος | geographic XML notation | geographic vector JSON |
| Συμπίεση | XML text (KMZ when ZIP compressed) | none (JSON text) |
| Τυπική Προδιαγραφή | OGC KML 2.3 | IETF RFC 7946 |
| Κεφαλίδα Magic Bytes | 3C 3F 78 6D 6C ... 3C 6B 6D 6C (<kml) | 7B 22 74 79 70 65 22 3A 20 22 ({"type": ") JSON header |
Επισκόπηση Μορφής & Εφαρμογές
Τα γεωγραφικά δεδομένα μετακινούνται συχνά μεταξύ εργαλείων χαρτογράφησης επιτραπέζιων υπολογιστών και εφαρμογών ιστού. Το Google KML είναι η τυπική μορφή που χρησιμοποιείται από το Google Earth, δομώντας σημεία, γραμμές και πολύγωνα μέσα σε ένα δέντρο XML. Τα σύγχρονα προγράμματα περιήγησης ιστού και οι βιβλιοθήκες χαρτογράφησης, όπως το Mapbox και το Leaflet, προτιμούν το GeoJSON επειδή ταιριάζει εγγενώς με τις δομές δεδομένων που χρησιμοποιούνται από τη JavaScript. Οι προγραμματιστές και οι αναλυτές GIS μετατρέπουν το KML σε GeoJSON για να φορτώνουν γρήγορα επικαλύψεις χαρτών σε ιστοσελίδες χωρίς να χρειάζονται εξειδικευμένο λογισμικό επιτραπέζιων υπολογιστών. Οι εφαρμογές ιστού επεξεργάζονται το JSON άμεσα σε σύγκριση με την ανάλυση μεγάλων εγγράφων XML. Όταν οι χρήστες φορτώνουν έναν χάρτη ιστού, ένα αρχείο GeoJSON τροφοδοτείται απευθείας σε μηχανές απόδοση διανυσμάτων. Αυτή η μετατροπή εξαλείφει το υπολογιστικό βάρος της μετάφρασης ετικετών XML κατά την εκτέλεση. Επιτρέπει στους χάρτες να εμφανίζουν χιλιάδες χαρακτηριστικά ομαλά διατηρώντας παράλληλα ακριβείς γεωμετρίες συντεταγμένων.
Τεχνικές Προδιαγραφές & Ανάλυση Codec
Το Google KML χρησιμοποιεί τον τύπο MIME application/vnd.google-earth.kml+xml και βασίζεται στη σύνταξη κειμένου XML ή σε ένα κοντέινερ ZIP γνωστό ως KMZ όταν συμπιέζεται. Το GeoJSON χρησιμοποιεί τον τύπο MIME application/geo+json και αποτελείται από ασμπίεστο απλό κείμενο δομημένο ως αντικείμενο JSON. Τα αρχεία KML συχνά ξεκινούν με τυπικά byte δήλωσης XML, ενώ τα αρχεία KMZ ξεκινούν με τα byte επικεφαλίδας τοπικού αρχείου ZIP 50 4B 03 04. Τα αρχεία GeoJSON ξεκινούν με τον χαρακτήρα ASCII '{' που αντιπροσωπεύει το ρίζα αντικείμενο JSON. Η διαδικασία μετατροπής αναλύει το δέντρο εγγράφων XML, εξάγει πίνακες συντεταγμένων και ετικέτες μεταδεδομένων και τα επανεγγραφεί σε συλλογές χαρακτηριστικών JSON συμβατές με το RFC 7946 χωρίς να χάνεται η ακρίβεια των συντεταγμένων.
Συμβατότητα Λειτουργικού Συστήματος & Προγράμματος Περιήγησης
Και οι δύο μορφές λειτουργούν σε όλα τα σύγχρονα λειτουργικά συστήματα, συμπεριλαμβανομένων των Windows, macOS, Linux, iOS και Android. Το GeoJSON εκτελείται εγγενώς σε όλα τα σύγχρονα προγράμματα περιήγησης ιστού, όπως το Chrome, το Firefox, το Safari και το Edge, επειδή τα προγράμματα περιήγησης αναλύουν το JSON εγγενώς. Το Google KML απαιτεί εξειδικευμένο λογισμικό επιτραπέζιων υπολογιστών, όπως το Google Earth, ή εργαλεία μετάφρασης, όπως το QGIS, για σωστή απόδοση, καθώς τα προγράμματα περιήγησης ιστού δεν μπορούν να εμφανίσουν εγγενώς αρχεία KML χωρίς βιβλιοθήκες ανάλυσης τρίτων.
💡 Χρήσιμες πληροφορίες
Βεβαιωθείτε πάντα ότι το προέλευσης KML χρησιμοποιεί γεωγραφικές συντεταγμένες WGS 84 πριν από τη μετατροπή σε GeoJSON για να αποφύγετε σφάλματα χωρικής μετατόπισης στους χάρτες ιστού σας.
Σύγκριση Μορφών & Τεχνικές Προδιαγραφές
Ένα τυπικό αρχείο KML 5 megabyte μετατρέπεται σε αρχείο GeoJSON περίπου 4.2 megabyte. Σε ένα δίκτυο κινητής τηλεφωνίας 4G που λειτουργεί στα 30 megabits ανά δευτερόλεπτο, η λήψη αυτού του αρχείου διαρκεί περίπου 1.1 δευτερόλεπτα. Σε ένα δίκτυο 5G στα 150 megabits ανά δευτερόλεπτο, η μεταφορά ολοκληρώνεται σε 0.2 δευτερόλεπτα. Σε σύνδεση Gigabit Fiber, το αρχείο μεταφέρεται άμεσα σε λιγότερο από 0.05 δευτερόλεπτα.
Συχνές Ερωτήσεις
Πώς μετατρέπεται το Google KML σε GeoJSON χωρίς απώλεια ποιότητας;
Η μετατροπή είναι μαθηματικά χωρίς απώλειες για τα δεδομένα συντεταγμένων. Και οι δύο μορφές αποθηκεύουν γεωγραφικές συντεταγμένες χρησιμοποιώντας το σύστημα χωρικής αναφοράς WGS 84. Ωστόσο, συγκεκριμένοι κανόνες μορφοποίησης στο KML, όπως προσαρμοσμένα URL εικονιδίων και σύνθετα ύψη εξώθησης πολυγώνων, ενδέχεται να μην έχουν άμεσες ισοδυναμίες στο τυπικό GeoJSON και ενδέχεται να απαιτούν μηχανική ανα δημιουργία.
Ποια είναι η διαφορά μεταξύ του Google KML και του GeoJSON;
Το Google KML είναι μια γλώσσα βασισμένη σε XML που σχεδιάστηκε για προγράμματα περιήγησης γης, διαθέτοντας ιεραρχική δομή κόμβων που υποστηρίζει πλούσια μορφοποίηση, προβολές κάμερας και τρισδιάστατα στοιχεία. Το GeoJSON είναι μια ελαφριά μορφή βασισμένη σε JSON, βελτιστοποιημένη για API ιστού και διανυσματικά γραφικά με επίπεδη δομή που περιέχει συλλογές χαρακτηριστικών, γεωμετρίες και απλές ιδιότητες.