GeoJSON (.geojson)
IETF SzabványA GeoJSON elterjedt a webes térképeken, de a támogatás változó. A GitHub csak korlátozásokkal jelenít meg fájlokat; az RFC 7946 a hosszúságot teszi előre.
GEOJSON konvertálása erre: KML
Ingyenes, böngészőben használható GEOJSON-konverter KML formátumba. A fájlokat azonnal konvertálhatja 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:
Bájtszintű fejlécaláírás (fájlazonosító bájtok)
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 65ASCII ÁBRÁZOLÁS: {\n "type": "Feature
Szabványosítás: IETF RFC 7946
Műszaki specifikációk
| Konténer architektúra | Az RFC 7946-nak megfelelő JSON-dokumentum, amely földrajzi objektumokat (Feature), objektumgyűjteményeket (FeatureCollection) és geometriákat (Geometry) ír le. |
| Tömörítés | Tömörítetlen szöveg, amely HTTP-n keresztül Gzip vagy Brotli segítségével könnyen tömöríthető. |
| Bájtsorrend | UTF-8 szöveges adatfolyam. |
| Színterek | Nem alkalmazható (földrajzi adatok). |
| Csatornák és struktúra | Pontok (Point), többpontos alakzatok (MultiPoint), vonalak (LineString), több részből álló vonalak (MultiLineString), sokszögek (Polygon), több részből álló sokszögek (MultiPolygon), geometriagyűjtemények (GeometryCollection) és egyéni tulajdonságok. |
| Max. méretek | A World Geodetic System 1984 (WGS 84) koordinátarendszere: hosszúság (-180 és +180 között), szélesség (-90 és +90 között). |
| Átlátszóság | None |
| Streaming és progresszív | A soronként tagolt GeoJSON (GeoJSONL / GeoJSONSeq) több millió objektum folyamatos adatfolyamos feldolgozását teszi lehetővé. |
Műszaki összehasonlító mátrix: GeoJSON vs. versenytársak
| Technikai attribútum | GeoJSON (Jelenlegi) | KML | GPX | SHP |
|---|---|---|---|---|
| Webes térképészeti elterjedtség | Széles körben használják webes térképezéshez; az alkalmazások támogatása eltérő. | A Google Earth alapértelmezettje | GPS eszközök és fittségi adatok alapértelmezettje | Asztali GIS örökölt szabvány |
| Koordináta-sorrend | [Hosszúság, Szélesség] (X, Y) | Hosszúság, Szélesség, Magasság | Szélesség, Hosszúság | X, Y koordináták |
| Szintaxis stílusa | Tiszta JSON kulcs-érték párok | Terjengős XML címkék (<kml>) | Terjengős XML címkék (<gpx>) | Többfájlos bináris (.shp, .shx, .dbf) |
| Tulajdonságok sémája | Tetszőleges JSON tulajdonságobjektum | ExtendedData séma címkék | Rögzített GPX séma címkék | dBase 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 a való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úság, szélesség] sorrendre a File2File.app GeoJSON-átalakítójával.
Biztonsági elemzés és elemző (parser) támadási vektorok
A GeoJSON-tulajdonságok tetszőleges felhasználói bemeneteket tartalmazhatnak, amelyeket a térképes felugró ablakokban való megjelenítés előtt meg kell tisztítani az XSS megelőzése érdekében.
Ismert támadási vektorok
- Webhelyek közötti parancsfuttatás (XSS) a térképes buborékokban megjelenített GeoJSON-objektumok escape-elés nélküli HTML-t tartalmazó tulajdonságain keresztül.
- Szolgáltatásmegtagadás (DoS) mélyen beágyazott GeometryCollection-ök vagy millió csúcspontú poligonok révén.
- Szerveroldali kéréshamisítás (SSRF) távoli GeoJSON-objektumok betöltésével.
Ajánlott védekezési módszerek: A térképes felugró ablakokba illesztés előtt minden tulajdonságszöveget meg kell tisztítani a DOMPurify segítségével.
Történeti háttér és mérföldkövek
Főbb előnyök
- Natív webes szabvány: a böngésző térképészeti könyvtáraiban (Mapbox GL JS, Leaflet) közvetlenül JavaScript-objektumként használható.
- 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élesség/hosszúság” sorrendhez szokott fejlesztőket.
- A millió 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] (derékszögű X, Y sorrendben) adja meg, ami pontosan az ellentéte a megszokott sorrendnek: „szélesség, hosszúság”.
- A GeoJSON elterjedt a webes térképeken, de a támogatás változó. A GitHub csak korlátozásokkal jelenít meg fájlokat; az RFC 7946 a hosszúságot teszi előre.
- 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űknek az óramutató járásával ellentétes irányban kell futniuk.
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?
A GeoJSON elterjedt a webes térképeken, de a támogatás változó. A GitHub csak korlátozásokkal jelenít meg fájlokat; az RFC 7946 a hosszúságot teszi előre.
Hogyan konvertálhatok KML-t vagy Shapefile-t GeoJSON-formátumba?
A Google Earth KML-fájljai és az Esri Shapefile-fájlok másodpercek alatt tiszta, webre kész GeoJSON-formátummá alakíthatók a File2File.app segítségével, közvetlenül a böngészőben.
Mi a különbség a GeoJSON és a Shapefile között?
A Shapefile-t továbbra is széles körben használják adatcserére, és a GIS-szoftverek támogatják, de a több fájlból álló szerkezet és az attribútumkorlátok miatt egyes munkafolyamatokhoz a GeoJSON vagy egy geoadatbázis megfelelőbb lehet.
Kapcsolódó GeoJSON konverziós párok
A GeoJSON-vektorok Google KML-formátumba alakítása a kis méretű JSON-koordinátatömböket a Google Earth és a Google Maps igényeire szabott, strukturált XML-dokumentumokká alakítja.
A Google KML-fájlok GeoJSON-formátumba alakítása a hierarchikus XML-alapú földrajzi adatokat a modern webes térképekhez használható, kis méretű, vektoros JavaScript Object Notation formátummá alakítja.
A GeoJSON vektoradatok GPX formátumra konvertálása a szabványos földrajzi JSON-objektumokat fizikai navigációs eszközökre optimalizált, XML-alapú formátummá alakítja.