GeoJSON (.geojson)

IETF Szabvány

A Geographic JavaScript Object Notation (GeoJSON) a földrajzi adatszerkezetek kódolásának univerzális, webes natív szabványa, amelyet széles körben használnak a modern webes térképészetben (Leaflet, Mapbox, OpenLayers) és a GIS alkalmazásokban.

GEOJSON konvertálása erre: KML

Ingyenes, böngészőn belüli GEOJSON - KML konvertáló. Konvertáljon fájlokat azonnal az eszközén.

Vizsgálat és metaadatok

Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) GeoJSON fájlokat:

Válasszon ki vagy ejtsen ide fájlokat

100%-ban magánjellegű, böngészőn belüli konvertálás - a fájlok soha nem hagyják el az eszközét

vagy beillesztés Ctrl+V
Nulla hálózati adatátviteli adatvédelmi garancia: 0 bájt lett feltöltve külső szerverekre. Minden feldolgozás helyben, az Ön böngészőjének homokozójában történt.

Bájt-szintű fejléc aláírás (Magic Bytes)

Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) GeoJSON fájlokat:

HEX ALÁÍRÁS (ELTOLÁS 0):

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

ASCII REPREZENTÁCIÓ: {\n "type": "Feature

Szabványosítás: IETF RFC 7946

Műszaki specifikációk

Konténer architektúraJSON document adhering to RFC 7946 representing geographic Features, FeatureCollections, and Geometries
TömörítésUncompressed text (readily compressed over HTTP via Gzip or Brotli)
BájtsorrendUTF-8 text stream
SzínterekN/A (Geographic Data)
Csatornák és struktúraPoints, MultiPoints, LineStrings, MultiLineStrings, Polygons, MultiPolygons, GeometryCollections, and custom properties
Max. méretekWorld Geodetic System 1984 (WGS 84) coordinate space: Longitude (-180 to +180), Latitude (-90 to +90)
ÁtlátszóságNone
Streaming és progresszívLine-delimited GeoJSON (GeoJSONL / GeoJSONSeq) enables continuous streaming of millions of features

Műszaki összehasonlító mátrix: GeoJSON vs Versenytársak

Technikai attribútumGeoJSON (Jelenlegi)KMLGPXSHP
Webes Térképészeti Elterjedtség100%-ban univerzális webes GIS alapértelmezettA Google Earth alapértelmezettjeGPS eszközök és fittségi adatok alapértelmezettjeAsztali GIS örökölt szabvány
Koordináta-sorrend[Hosszúság, Szélesség] (X, Y)Hosszúság, Szélesség, MagasságSzélesség, HosszúságX, Y koordináták
Szintaxis StílusaTiszta JSON kulcs-érték párokTerjengős XML tagek (<kml>)Terjengős XML tagek (<gpx>)Többfájlos bináris (.shp, .shx, .dbf)
Tulajdonságok SémájaTetszőleges JSON tulajdonságobjektumExtendedData séma tagekRögzített GPX séma tagekdBase IV (.dbf) rögzített oszlopok

Gyakori sérülési módok és hexadecimális helyreállítási útmutató

A térképi pontok az Antarktisz közelében lévő óceánban jelennek meg avalódi helyük helyett.

Kiváltó ok: A szélességi és hosszúsági értékek véletlenül felcserélődtek a koordinátatömbben.

Helyreállítás: Cserélje fel a koordinátapozíciókat [hossz, szél] a File2File GeoJSON konverter segítségével.

Biztonsági elemzés és elemző (parser) támadási vektorok

A GeoJSON tulajdonságok olyan tetszőleges felhasználói bemeneteket tartalmazhatnak, amelyeket a térképes felugró ablakokba (popuplok) való renderelés előtt fertőtleníteni kell az XSS megelőzése érdekében.

Ismert támadási vektorok

  • Cross-site scripting (XSS) a térkép buborékaiban megjelenített GeoJSON elemtulajdonságokban lévő nem rejtett HTML-en keresztül.
  • Szolgáltatásmegtagadás (DoS) a mélyen beágyazott GeometryCollectionök vagy egymilliós csúcspontú poligonok révén.
  • Szerveroldali kérés hamisítás (SSRF) távoli GeoJSON elemek betöltése via.

Védekező Legjobb Gyakorlatok:

Történeti háttér és mérföldkövek

2016Az IETF hivatalosan szabványosítja a GeoJSON formátumot RFC 7946 néven, amely kötelezővé teszi a WGS 84 koordináta-rendszereket.
2014A GitHub bevezeti a natív, interaktív vizuális térkép-renderelést az összes .geojson fájlhoz.
2008Howard Butler, Sean Gillies és a nyílt forráskódú GIS közösség közzéteszi a kezdeti GeoJSON 1.0 specifikációt.

Főbb előnyök

  • Natív webes szabvány: közvetlenül leképezhető a böngésző térképészeti könyvtárainak (Mapbox GL JS, Leaflet) JavaScript objektumaira.
  • Az emberi szemmel is olvasható JSON struktúra lehetővé teszi a könnyű programozott létrehozást, szűrést és hibakeresést.
  • Tetszőleges tulajdonságséma: bármilyen egyedi metaadat (népesség, név, sebesség, bevétel) közvetlenül csatolható a geometriai alakzatokhoz.

Technikai korlátok és hátrányok

  • Szöveges terjengősség: a lebegőpontos koordinátákat ismétlődő ASCII számjegyekként tárolja, ami nagyobb fájlméreteket eredményez, mint a bináris Shapefile-ok vagy FlatGeobuf-ok.
  • Az RFC 7946 szigorúan előírja a [Hosszúság, Szélesség] sorrendet, ami gyakran összezavarja a 'Szél/Hossz' sorrendhez szokott fejlesztőket.
  • Amillió csúcsponttal rendelkező nagy poligonok a webböngésző DOM renderelésének lassulását okozhatják.

Érdekes technikai tudnivalók

  • A hivatalos GeoJSON szabvány a koordinátákat [Hosszúság, Szélesség] (X, Y derékszögű) sorrendben adja meg, ami pontosan az ellentéte annak, ahogy az emberek beszélni szoktak ('Szélesség, Hosszúság').
  • Ha feltölt egy .geojson fájlt a GitHubra, a GitHub automatikusan interaktív, kattintható térképként jeleníti meg azt.
  • Az RFC 7946 előírja, hogy a poligonok határgyűrűinek követniük kell a 'jobbkéz-szabályt': a külső gyűrűket az óramutató járásával ellentétes irányba kell tekerni.

Gyakran Ismételt Műszaki Kérdések

Miért van az, hogy a GeoJSON-koordinátáim [hosszúság, szélesség] sorrendben vannak a [szélesség, hosszúság] helyett?

Mert a matematika és a számítógépes grafika területén a koordinátákat mindig (X, Y) alakban adják meg. A hosszúság jelöli a vízszintes X-tengelyt, a szélesség pedig a függőleges Y-tengelyt.

Hogyan konvertálhatok KML-t vagy Shapefile-t GeoJSON-ba?

A File2File.app segítségével közvetlenül a böngészőjében, másodpercek alatt alakíthat át Google Earth KML-fájlokat vagy Esri Shapefile-okat tiszta, webkész GeoJSON formátumba.

Mi a különbség a GeoJSON és a Shapefile között?

A Shapefile egy elavult, 1990-es évekbeli többfájlos bináris formátum (.shp, .shx, .dbf). A GeoJSON egy modern, egyfájlos, nyílt webes formátum, amely tiszta JSON-ban íródott.