GeoJSON (.geojson)
IETF StandardGeoJSON este comun în hărțile web, dar suportul variază. GitHub afișează fișiere compatibile cu limite; RFC 7946 stabilește longitudinea înaintea latitudinii.
Convertește din GEOJSON în KML
Convertor gratuit din GEOJSON în KML direct în browser. Convertește fișiere instantaneu pe dispozitivul tău.
Inspectare ș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 (octeți magici)
Sistemele de operare și analizatoarele de fișiere identifică fișierele GeoJSON prin inspectarea secvenței binare inițiale:
SEMNĂTURĂ HEXAZECIMALĂ (DECALAJ 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 | Document JSON conform RFC 7946, care reprezintă entități geografice, colecții de entități și geometrii |
| Compresie | Text necomprimat (se comprimă ușor prin HTTP cu Gzip sau Brotli) |
| Ordinea octeților | Flux de text UTF-8 |
| Spații de culoare | Nu se aplică (date geografice) |
| Canale și structură | Puncte, puncte multiple, linii, linii multiple, poligoane, poligoane multiple, colecții de geometrii și proprietăți personalizate |
| Dimensiuni maxime | Spațiul de coordonate al Sistemului geodezic mondial 1984 (WGS 84): longitudine (de la -180 la +180), latitudine (de la -90 la +90) |
| Transparență | Niciuna |
| Streaming și progresiv | GeoJSON cu delimitare pe linii (GeoJSONL / GeoJSONSeq) permite transmiterea continuă în flux a milioane de entități |
Matrice de comparație tehnică: GeoJSON vs. concurenți
| Atribut tehnic | GeoJSON (Curent) | KML | GPX | SHP |
|---|---|---|---|---|
| Adoptare în cartografia web | Folosit pe scară largă în cartografia web; compatibilitatea aplicațiilor variază | 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 JSON cu proprietăți 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: Inversează ordinea coordonatelor [lon, lat] cu GeoJSON Converter din File2File.app.
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 entităților GeoJSON afișate în baloanele informative ale hărții.
- Refuz al serviciului prin colecții de geometrii imbricate profund sau poligoane cu milioane de vertecși.
- Falsificarea cererilor către server (SSRF) prin încărcarea la distanță a entităților GeoJSON.
Cele mai bune practici de securitate: Igienizează toate valorile text ale proprietăților cu DOMPurify înainte să le inserezi în ferestrele pop-up ale hărții.
Origini istorice și repere
Avantaje cheie și beneficii
- Standard web nativ: datele sunt transformate direct în obiecte JavaScript în bibliotecile de hărți din 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șează orice metadate personalizate (populație, nume, viteză, venit) 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 derutează 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 astfel: [Longitudine, Latitudine] (ordinea carteziană X, Y), opusă ordinii folosite în vorbirea obișnuită („Latitudine, Longitudine”).
- GeoJSON este comun în hărțile web, dar suportul variază. GitHub afișează fișiere compatibile cu limite; RFC 7946 stabilește longitudinea înaintea latitudinii.
- RFC 7946 impune ca inelele de delimitare ale poligoanelor să respecte „regula mâinii drepte”: inelele exterioare trebuie orientate în sens antiorar.
Întrebări tehnice frecvente
De ce coordonatele mele GeoJSON sunt ordonate [longitudine, latitudine] în loc de [latitudine, longitudine]?
GeoJSON este comun în hărțile web, dar suportul variază. GitHub afișează fișiere compatibile cu limite; RFC 7946 stabilește longitudinea înaintea latitudinii.
Cum pot converti KML sau Shapefile în GeoJSON?
Poți converti fișiere KML Google Earth sau Shapefile Esri în fișiere GeoJSON curate, gata pentru web, în câteva secunde, folosind File2File.app direct în browser.
Care este diferența dintre GeoJSON și Shapefile?
Shapefile este încă folosit pe scară largă pentru schimbul de date și este acceptat de software-ul GIS, însă structura cu mai multe fișiere și limitările atributelor pot face ca GeoJSON sau o geobază de date să fie mai potrivite pentru unele fluxuri de lucru.
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 KML Google în GeoJSON transformă datele geografice XML ierarhice în obiecte JSON vectoriale ușoare 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.