GeoJSON (.geojson)

IETF Standard

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.

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:

Selectează sau plasează fișierele aici

Privat - fișierele nu părăsesc niciodată dispozitivul tău

sau lipește Ctrl+V
Garanție de confidențialitate: nicio transmisie prin rețea: 0 octeți încărcați pe servere externe. Toată procesarea a avut loc local în sandbox-ul browserului tău.

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 65

REPREZENTARE ASCII: {\n "type": "Feature

Standardizare: IETF RFC 7946

Specificații tehnice

Arhitectură containerDocument JSON conform RFC 7946, care reprezintă entități geografice, colecții de entități și geometrii
CompresieText necomprimat (se comprimă ușor prin HTTP cu Gzip sau Brotli)
Ordinea octețilorFlux de text UTF-8
Spații de culoareNu 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 maximeSpaț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 progresivGeoJSON 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 tehnicGeoJSON (Curent)KMLGPXSHP
Adoptare în cartografia webFolosit pe scară largă în cartografia web; compatibilitatea aplicațiilor variazăImplicit pentru Google EarthImplicit pentru dispozitive GPS și fitnessStandard vechi pentru GIS desktop
Ordinea coordonatelor[Longitudine, Latitudine] (X, Y)Longitudine, Latitudine, AltitudineLatitudine, LongitudineCoordonate X, Y
Stil de sintaxăPerechi cheie-valoare JSON curateEtichete XML verboase (<kml>)Etichete XML verboase (<gpx>)Binare cu mai multe fișiere (.shp, .shx, .dbf)
Schema proprietățilorObiect JSON cu proprietăți arbitrareEtichete de schemă ExtendedDataEtichete de schemă GPX fixeColoane 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

2016IETF standardizează oficial formatul GeoJSON prin RFC 7946, impunând utilizarea sistemelor de referință a coordonatelor WGS 84.
2014GeoJSON 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.
2008Howard Butler, Sean Gillies și comunitatea GIS cu sursă deschisă publică specificația inițială GeoJSON 1.0.

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.