GeoJSON (.geojson)

IETF Τυπικό

Το GeoJSON είναι συνηθισμένο στους διαδικτυακούς χάρτες, αλλά η υποστήριξη διαφέρει. Το GitHub εμφανίζει συμβατά αρχεία με όρια· το RFC 7946 ορίζει πρώτα γεωγραφικό μήκος και μετά πλάτος.

Μετατροπή GEOJSON σε KML

Δωρεάν μετατροπέας από GEOJSON σε KML εντός του προγράμματος περιήγησης. Μετατρέψτε αρχεία άμεσα στη συσκευή σας.

Επιθεώρηση & Μεταδεδομένα

Τα λειτουργικά συστήματα και τα εργαλεία ανάλυσης αρχείων αναγνωρίζουν τα αρχεία GeoJSON ελέγχοντας την αρχική δυαδική ακολουθία byte:

Επιλέξτε ή αποθέστε αρχεία εδώ

Ιδιωτικά - τα αρχεία δεν φεύγουν ποτέ από τη συσκευή σας

ή επικόλληση Ctrl+V
Εγγύηση Απορρήτου Μηδενικής Μετάδοσης Δικτύου: Δεν μεταφορτώνεται κανένα byte σε εξωτερικούς διακομιστές. Όλη η επεξεργασία γίνεται τοπικά στο απομονωμένο περιβάλλον του προγράμματος περιήγησής σας.

Υπογραφή κεφαλίδας σε επίπεδο byte (Magic Bytes)

Τα λειτουργικά συστήματα και τα εργαλεία ανάλυσης αρχείων αναγνωρίζουν τα αρχεία GeoJSON ελέγχοντας την αρχική δυαδική ακολουθία byte:

ΔΕΚΑΕΞΑΔΙΚΗ ΥΠΟΓΡΑΦΗ (OFFSET 0):

7B 0A 20 20 22 74 79 70 65 22 3A 20 22 46 65 61 74 75 72 65

ΑΝΑΠΑΡΑΣΤΑΣΗ ASCII: {\n "type": "Feature

Τυποποίηση: IETF RFC 7946

Τεχνικές Προδιαγραφές

Αρχιτεκτονική ΠεριέκτηΈγγραφο JSON συμβατό με το RFC 7946 που αναπαριστά γεωγραφικά Features, FeatureCollections και Geometries
ΣυμπίεσηΚείμενο χωρίς συμπίεση (συμπιέζεται εύκολα μέσω HTTP με Gzip ή Brotli)
Σειρά byte (endianness)Ροή κειμένου UTF-8
Χρωματικοί ΧώροιN/A (Geographic Data)
Κανάλια & ΔομήPoints, MultiPoints, LineStrings, MultiLineStrings, Polygons, MultiPolygons, GeometryCollections και προσαρμοσμένες ιδιότητες
Μέγιστες ΔιαστάσειςΧώρος συντεταγμένων World Geodetic System 1984 (WGS 84): γεωγραφικό μήκος (-180 έως +180), γεωγραφικό πλάτος (-90 έως +90)
ΔιαφάνειαNone
Ροή δεδομένων και προοδευτική φόρτωσηΤο GeoJSON οριοθετημένο με γραμμές (GeoJSONL / GeoJSONSeq) επιτρέπει συνεχή μετάδοση εκατομμυρίων χαρακτηριστικών

Τεχνικός Πίνακας Σύγκρισης: GeoJSON έναντι Ανταγωνιστών

Τεχνικό χαρακτηριστικόGeoJSON (Τρέχον)KMLGPXSHP
Υιοθέτηση Web MappingΕυρέως χρησιμοποιούμενο στη χαρτογράφηση ιστού· η υποστήριξη διαφέρει ανά εφαρμογήΠροεπιλογή Google EarthΠροεπιλογή συσκευών GPS και fitnessΠαλαιό πρότυπο desktop GIS
Σειρά Συντεταγμένων[Γεωγραφικό Μήκος, Γεωγραφικό Πλάτος] (X, Y)Γεωγραφικό Μήκος, Γεωγραφικό Πλάτος, ΥψόμετροΓεωγραφικό Πλάτος, Γεωγραφικό ΜήκοςΣυντεταγμένες X, Y
Στυλ ΣύνταξηςΚαθαρά ζεύγη κλειδιού-τιμής JSONΠολύλογες ετικέτες XML (<kml>)Πολύλογες ετικέτες XML (<gpx>)Δυαδικά αρχεία πολλαπλών αρχείων (.shp, .shx, .dbf)
Σχήμα ΙδιοτήτωνΑυθαίρετο αντικείμενο ιδιοτήτων JSONΕτικέτες σχήματος ExtendedDataΣταθερές ετικέτες σχήματος GPXΣταθερές στήλες dBase IV (.dbf)

Συνήθεις τρόποι καταστροφής δεδομένων και οδηγός ανάκτησης δεκαεξαδικών δεδομένων

Τα σημεία του χάρτη εμφανίζονται στον ωκεανό κοντά στην Ανταρκτική αντί για την πραγματική τους τοποθεσία.

Βασική Αιτία: Οι τιμές γεωγραφικού πλάτους και μήκους αντιστράφηκαν τυχαία στον πίνακα συντεταγμένων.

Ανάκτηση: Ανταλλάξτε τις θέσεις συντεταγμένων [lon, lat] χρησιμοποιώντας το File2File.app GeoJSON Converter.

Ανάλυση ασφάλειας και διανύσματα επίθεσης στον αναλυτή

Οι ιδιότητες GeoJSON μπορούν να περιέχουν αυθαίρετες εισόδους χρηστών που πρέπει να απολυμαίνονται πριν από την απόδοση σε αναδυόμενα παράθυρα χάρτη για την αποτροπή XSS.

Γνωστά διανύσματα επίθεσης

  • Cross-site scripting (XSS) μέσω μη διαφεύγουσας HTML σε ιδιότητες χαρακτηριστικών GeoJSON που αποδίδονται σε tooltips χάρτη.
  • Άρνηση υπηρεσίας μέσω βαθιά ένθετων GeometryCollections ή πολυγώνων εκατομμυρίων κορυφών.
  • Server-Side Request Forgery μέσω απομακρυσμένης φόρτωσης χαρακτηριστικών GeoJSON.

Βέλτιστες αμυντικές πρακτικές: Καθαρίστε όλες τις συμβολοσειρές κειμένου των ιδιοτήτων με το DOMPurify πριν τις εισαγάγετε σε αναδυόμενα παράθυρα χαρτών.

Ιστορική Αναδρομή & Ορόσημα

2016Το IETF τυποποιεί επίσημα τη μορφή GeoJSON ως RFC 7946, καθιστώντας υποχρεωτικά τα συστήματα γεωγραφικών αναφορών WGS 84.
2014Το GeoJSON είναι συνηθισμένο στους διαδικτυακούς χάρτες, αλλά η υποστήριξη διαφέρει. Το GitHub εμφανίζει συμβατά αρχεία με όρια· το RFC 7946 ορίζει πρώτα γεωγραφικό μήκος και μετά πλάτος.
2008Ο Howard Butler, ο Sean Gillies και η κοινότητα ανοιχτού κώδικα GIS δημοσιεύουν την αρχική προδιαγραφή GeoJSON 1.0.

Κύρια Πλεονεκτήματα

  • Εγγενές πρότυπο ιστού: αντιστοιχίζεται απευθείας σε αντικείμενα JavaScript σε βιβλιοθήκες χαρτογράφησης περιηγητή (Mapbox GL JS, Leaflet).
  • Η ευανάγνωστη από τον άνθρωπο δομή JSON επιτρέπει την αβίαστη προγραμματική δημιουργία, φιλτράρισμα και αποσφαλμάτωση.
  • Αυθαίρετο σχήμα ιδιοτήτων: επισύναψη οποιωνδήποτε προσαρμοσμένων μεταδεδομένων (πληθυσμός, όνομα, ταχύτητα, έσοδα) απευθείας σε γεωμετρικά σχήματα.

Τεχνικοί Περιορισμοί & Μειονεκτήματα

  • Πολυλογία κειμένου: αποθηκεύει συντεταγμένες κινητής υποδιαστολής ως επαναλαμβανόμενα ψηφία ASCII, οδηγώντας σε μεγαλύτερα μεγέθη αρχείων από τα δυαδικά Shapefiles ή FlatGeobuf.
  • Το RFC 7946 ορίζει αυστηρά τη σειρά [Γεωγραφικό Μήκος, Γεωγραφικό Πλάτος] (Longitude, Latitude), η οποία συχνά μπερδεύει τους προγραμματιστές που έχουν συνηθίσει το «Lat/Long».
  • Τα μεγάλα πολύγωνα με εκατομμύρια κορυφές μπορούν να προκαλέσουν επιβράδυνση της απόδοσης DOM του προγράμματος περιήγησης ιστού.

Ενδιαφέροντα Τεχνικά Στοιχεία

  • Το επίσημο πρότυπο GeoJSON ταξινομεί τις συντεταγμένες ως [Γεωγραφικό Μήκος, Γεωγραφικό Πλάτος] (καρτεσιανή σειρά X, Y), η οποία είναι ακριβώς το αντίθετο από τον τρόπο που μιλούν οι άνθρωποι («Γεωγραφικό Πλάτος, Γεωγραφικό Μήκος»).
  • Το GeoJSON είναι συνηθισμένο στους διαδικτυακούς χάρτες, αλλά η υποστήριξη διαφέρει. Το GitHub εμφανίζει συμβατά αρχεία με όρια· το RFC 7946 ορίζει πρώτα γεωγραφικό μήκος και μετά πλάτος.
  • Το RFC 7946 ορίζει ότι τα όρια των πολυγώνων πρέπει να ακολουθούν τον «κανόνα του δεξιού χεριού»: τα εξωτερικά όρια πρέπει να τυλίγονται αριστερόστροφα.

Συχνές Τεχνικές Ερωτήσεις

Γιατί οι συντεταγμένες μου GeoJSON είναι ταξινομημένες ως [longitude, latitude] αντί για [latitude, longitude];

Το GeoJSON είναι συνηθισμένο στους διαδικτυακούς χάρτες, αλλά η υποστήριξη διαφέρει. Το GitHub εμφανίζει συμβατά αρχεία με όρια· το RFC 7946 ορίζει πρώτα γεωγραφικό μήκος και μετά πλάτος.

Πώς μπορώ να μετατρέψω KML ή Shapefile σε GeoJSON;

Μπορείτε να μετατρέψετε αρχεία Google Earth KML ή Esri Shapefiles σε καθαρό GeoJSON έτοιμο για τον ιστό σε λίγα δευτερόλεπτα χρησιμοποιώντας το File2File.app απευθείας στο πρόγραμμα περιήγησής σας.

Ποια είναι η διαφορά μεταξύ GeoJSON και Shapefile;

Τα Shapefile εξακολουθούν να χρησιμοποιούνται ευρέως για ανταλλαγή δεδομένων και υποστηρίζονται από λογισμικό GIS, αλλά η δομή πολλών αρχείων και οι περιορισμοί στα γνωρίσματα μπορεί να καθιστούν το GeoJSON ή μια γεωβάση δεδομένων καταλληλότερα για ορισμένες ροές εργασίας.