Μετατροπή KML σε GeoJSON
Η μετατροπή αρχείων Google KML σε GeoJSON μετατρέπει τα ιεραρχικά γεωγραφικά δεδομένα XML σε ελαφριά μορφή JavaScript Object Notation για σύγχρονους χάρτες ιστού.
Σύγκριση μορφών και τεχνικές προδιαγραφές
| Προδιαγραφή | KML | GEOJSON |
|---|---|---|
| Τύπος MIME | application/ | application/ |
| Τύπος | Γεωγραφική σημειογραφία XML | Γεωγραφικό διανυσματικό JSON |
| Συμπίεση | κείμενο XML (KMZ όταν είναι συμπιεσμένο με ZIP) | κανένα (κείμενο JSON) |
| Πρότυπη προδιαγραφή | 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 κατά την εκτέλεση. Επιτρέπει στους χάρτες να εμφανίζουν χιλιάδες χαρακτηριστικά ομαλά διατηρώντας παράλληλα ακριβείς γεωμετρίες συντεταγμένων.
Τεχνικές προδιαγραφές και ανάλυση κωδικοποιητών
Το 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 για να αποφύγετε σφάλματα χωρικής μετατόπισης στους χάρτες ιστού σας.
Συχνές Ερωτήσεις
Πώς μετατρέπεται το Google KML σε GeoJSON χωρίς απώλεια ποιότητας;
Η μετατροπή είναι μαθηματικά χωρίς απώλειες για τα δεδομένα συντεταγμένων. Και οι δύο μορφές αποθηκεύουν γεωγραφικές συντεταγμένες χρησιμοποιώντας το σύστημα χωρικής αναφοράς WGS 84. Ωστόσο, συγκεκριμένοι κανόνες μορφοποίησης στο KML, όπως προσαρμοσμένα URL εικονιδίων και σύνθετα ύψη εξώθησης πολυγώνων, ενδέχεται να μην έχουν άμεσες ισοδυναμίες στο τυπικό GeoJSON και ενδέχεται να απαιτούν μη αυτόματη αναδημιουργία.
Ποια είναι η διαφορά μεταξύ του Google KML και του GeoJSON;
Το Google KML είναι μια γλώσσα βασισμένη σε XML που σχεδιάστηκε για προγράμματα περιήγησης γης, διαθέτοντας ιεραρχική δομή κόμβων που υποστηρίζει πλούσια μορφοποίηση, προβολές κάμερας και τρισδιάστατα στοιχεία. Το GeoJSON είναι μια ελαφριά μορφή βασισμένη σε JSON, βελτιστοποιημένη για API ιστού και διανυσματικά γραφικά με επίπεδη δομή που περιέχει συλλογές χαρακτηριστικών, γεωμετρίες και απλές ιδιότητες.