GeoJSON (.geojson)
IETF StandardNotația de obiecte JavaScript geografice (GeoJSON) este standardul universal, nativ pentru web, destinat codificării structurilor de date geografice, fiind utilizat pe scară largă în cartografia web modernă (Leaflet, Mapbox, OpenLayers) și în aplicațiile GIS.
Convertește din GEOJSON în KML
Convertor gratuit din GEOJSON în KML direct în browser. Convertește fișiere instantaneu pe dispozitivul tău.
Inspectează și Metadate
Sistemele de operare și analizatoarele de fișiere identifică fișierele GeoJSON prin inspectarea secvenței binare inițiale:
Semnătura antetului la nivel de octet (Magic Bytes)
Sistemele de operare și analizatoarele de fișiere identifică fișierele GeoJSON prin inspectarea secvenței binare inițiale:
SEMNĂTURĂ HEX (OFFSET 0):
7B 0A 20 20 22 74 79 70 65 22 3A 20 22 46 65 61 74 75 72 65REPREZENTARE ASCII: {\n "type": "Feature
Standardizare: IETF RFC 7946
Specificații tehnice
| Arhitectură container | JSON document adhering to RFC 7946 representing geographic Features, FeatureCollections, and Geometries |
| Compresie | Uncompressed text (readily compressed over HTTP via Gzip or Brotli) |
| Endianitatea octeților | UTF-8 text stream |
| Spații de culoare | N/A (Geographic Data) |
| Canale și structură | Points, MultiPoints, LineStrings, MultiLineStrings, Polygons, MultiPolygons, GeometryCollections, and custom properties |
| Dimensiuni maxime | World Geodetic System 1984 (WGS 84) coordinate space: Longitude (-180 to +180), Latitude (-90 to +90) |
| Transparență | None |
| Streaming și progresiv | Line-delimited GeoJSON (GeoJSONL / GeoJSONSeq) enables continuous streaming of millions of features |
Matrice de comparație tehnică: GeoJSON vs Competitori
| Atribut tehnic | GeoJSON (Curent) | KML | GPX | SHP |
|---|---|---|---|---|
| Adopție în cartografia web | Implicit 100% universal pentru GIS web | Implicit pentru Google Earth | Implicit pentru dispozitive GPS și fitness | Standard vechi pentru GIS desktop |
| Ordinea coordonatelor | [Longitudine, Latitudine] (X, Y) | Longitudine, Latitudine, Altitudine | Latitudine, Longitudine | Coordonate X, Y |
| Stil de sintaxă | Perechi cheie-valoare JSON curate | Etichete XML verboase (<kml>) | Etichete XML verboase (<gpx>) | Binare cu mai multe fișiere (.shp, .shx, .dbf) |
| Schema proprietăților | Obiect de proprietăți JSON arbitrare | Etichete de schemă ExtendedData | Etichete de schemă GPX fixe | Coloane fixe dBase IV (.dbf) |
Moduri comune de corupție și ghid de recuperare hexazecimală
Punctele de pe hartă apar în ocean, lângă Antarctica, în loc de locația lor reală.
Cauză principală: Valorile pentru latitudine și longitudine au fost inversate accidental în matricea de coordonate.
Recuperare: Inversați pozițiile coordonatelor [lon, lat] folosind convertorul GeoJSON File2File.
Analiză de securitate și vectori de atac asupra parserului
Proprietățile GeoJSON pot conține intrări arbitrare de la utilizatori, care trebuie igienizate înainte de a fi afișate în ferestrele pop-up ale hărților pentru a preveni atacurile XSS.
Vectori de atac cunoscuți
- Scripting intersite (XSS) prin HTML neescapat în proprietățile caracteristicilor GeoJSON afișate în indiciile de pe hartă (tooltips).
- Refuz al serviciului prin GeometryCollections imbricate profund sau poligoane cu un milion de vertecși.
- Forgery de cereri pe server (SSRF) prin încărcarea la distanță a caracteristicilor GeoJSON.
Cele mai bune practici de securitate:
Origini istorice și repere
Avantaje cheie și beneficii
- Standard web nativ: se mapează direct în obiecte JavaScript în bibliotecile de hărți pentru browser (Mapbox GL JS, Leaflet).
- Structura JSON ușor de citit de către oameni permite crearea, filtrarea și depanarea programatică fără efort.
- Schemă de proprietăți arbitrare: atașați orice metadate personalizate (populație, nume, viteză, venituri) direct la formele geometrice.
Limitări tehnice și dezavantaje
- Verbozitatea textului: stochează coordonate în virgulă mobilă ca cifre ASCII repetate, ducând la dimensiuni de fișier mai mari decât fișierele Shapefile binare sau FlatGeobuf.
- Standardul RFC 7946 impune strict ordinea [Longitudine, Latitudine], ceea ce îi confuzează frecvent pe dezvoltatorii obișnuiți cu „Lat/Long".
- Poligoanele mari cu milioane de vertecși pot cauza încetiniri ale randării DOM în browserul web.
Curiozități tehnice interesante
- Standardul oficial GeoJSON ordonează coordonatele ca [Longitudine, Latitudine] (ordine carteziană X, Y), ceea ce este opusul modului în care oamenii vorbesc de obicei („Latitudine, Longitudine").
- Dacă adăugați un fișier .geojson într-un depozit GitHub, acesta îl va randa automat sub forma unei hărți interactive, pe care se poate da clic.
- RFC 7946 impune ca inelele limită ale poligoanelor să respecte „regula mâinii drept": inelele exterioare trebuie să fie orientate în sens antiorar.
Întrebări tehnice frecvente
De ce coordonatele mele GeoJSON sunt ordonate [longitudine, latitudine] în loc de [latitudine, longitudine]?
Deoarece în matematică și grafică pe computer, coordonatele sunt întotdeauna specificate ca (X, Y). Longitudinea reprezintă axa X orizontală, iar Latitudinea reprezintă axa Y verticală.
Cum pot converti KML sau Shapefile în GeoJSON?
Poți converti fișiere Google Earth KML sau Esri Shapefiles în fișiere GeoJSON curate, gata pentru web, în câteva secunde, folosind File2File.app direct în browserul tău.
Care este diferența dintre GeoJSON și Shapefile?
Shapefile este un format binar învechit cu mai multe fișiere din anii '90 (.shp, .shx, .dbf). GeoJSON este un format web deschis modern, dintr-un singur fișier, scris în JSON curat.
Perechi de conversie GeoJSON conexe
Conversia vectorilor GeoJSON în Google KML traduce matricile de coordonate JSON ușoare în documente XML structurate, adaptate pentru Google Earth și Google Maps.
Conversia fișierelor Google KML în format GeoJSON transformă datele geografice XML ierarhice în obiecte vectoriale ușoare JavaScript Object Notation pentru hărți web moderne.
Conversia datelor vectoriale GeoJSON în GPX transformă obiectele JSON geografice standard într-un format bazat pe XML, optimizat pentru dispozitivele de navigație fizice.