GeoJSON (.geojson)
IETF StandardnoGeografski JavaScript Object Notation (GeoJSON) je univerzalni mrežni standard za kodiranje geografskih struktura podataka, koji se naširoko koristi u modernom web mapiranju (Leaflet, Mapbox, OpenLayers) i GIS aplikacijama.
Pretvori GEOJSON u KML
Besplatni GEOJSON u KML pretvarač u pregledniku. Trenutno pretvorite datoteke na svom uređaju.
Pregledaj i metapodaci
Operativni sustavi i alati za analizu datoteka identificiraju GeoJSON datoteke provjerom početnog niza binarnih bajtova:
Potpis zaglavlja na razini bajtova (Magic Bytes)
Operativni sustavi i alati za analizu datoteka identificiraju GeoJSON datoteke provjerom početnog niza binarnih bajtova:
HEX POTPIS (POMAK 0):
7B 0A 20 20 22 74 79 70 65 22 3A 20 22 46 65 61 74 75 72 65ASCII PRIKAZ: {\n "type": "Feature
Standardizacija: IETF RFC 7946
Tehničke specifikacije
| Arhitektura spremnika | JSON document adhering to RFC 7946 representing geographic Features, FeatureCollections, and Geometries |
| Kompresija | Uncompressed text (readily compressed over HTTP via Gzip or Brotli) |
| 字节序 | UTF-8 text stream |
| Prostori boja | N/A (Geographic Data) |
| Kanali i struktura | Points, MultiPoints, LineStrings, MultiLineStrings, Polygons, MultiPolygons, GeometryCollections, and custom properties |
| Maksimalne dimenzije | World Geodetic System 1984 (WGS 84) coordinate space: Longitude (-180 to +180), Latitude (-90 to +90) |
| Prozirnost | None |
| Streaming i progresivno | Line-delimited GeoJSON (GeoJSONL / GeoJSONSeq) enables continuous streaming of millions of features |
Tehnička matrica usporedbe: GeoJSON vs Konkurencija
| Tehnički atribut | GeoJSON (Trenutno) | KML | GPX | SHP |
|---|---|---|---|---|
| Usvajanje web mapiranja | 100% univerzalna web GIS zadana postavka | Zadana postavka za Google Earth | Zadana postavka za GPS uređaje i fitness | Naslijeđeni standard za stolni GIS |
| Redoslijed koordinata | [Longitude, Latitude] (X, Y) | Longitude, Latitude, Altitude | Latitude, Longitude | X, Y koordinate |
| Stil sintakse | Čisti JSON ključevi i vrijednosti | Opširne XML oznake (<kml>) | Opširne XML oznake (<gpx>) | Više datoteka u binarnom obliku (.shp, .shx, .dbf) |
| Shema svojstava | Proizvoljni JSON objekt svojstava | Oznake sheme ExtendedData | Fiksne oznake GPX sheme | Fiksni stupci dBase IV (.dbf) |
Uobičajeni načini oštećenja i vodič za heksadecimalni oporavak
Točke na karti pojavljuju se u oceanu blizu Antarktike umjesto na svojoj pravoj lokaciji.
Temeljni uzrok: Vrijednosti geografske širine i dužine slučajno su zamijenjene u polju koordinata.
Oporavak: Zamijenite položaje koordinata [lon, lat] pomoću File2File GeoJSON pretvarača.
Sigurnosna analiza i vektori napada na parser
GeoJSON svojstva mogu sadržavati proizvoljan korisnički unos koji se mora očistiti prije iscrtavanja u skočnim prozorima karte kako bi se spriječio XSS.
Poznati vektori napada
- Skriptiranje na više lokacija (XSS) putem neescapiranog HTML-a u svojstvima GeoJSON značajki prikazanim u opisima alata na karti.
- Uskraćivanje usluge putem duboko ugniježđenih GeometryCollections ili poligona s milijunima vrhova.
- Krivotvorenje zahtjeva na poslužiteljskoj strani (SSRF) putem udaljenog učitavanja GeoJSON značajki.
Najbolje obrambene prakse:
Povijesni izvori i prekretnice
Ključne prednosti
- Izvorni web standard: preslikava se direktno u JavaScript objekte u knjižnicama za mapiranje u pregledniku (Mapbox GL JS, Leaflet).
- Čitljiva JSON struktura omogućuje jednostavno programsko stvaranje, filtriranje i otklanjanje pogrešaka.
- Proizvoljna shema svojstava: pridružite bilo koje prilagođene metapodatke (broj stanovnika, naziv, brzina, prihod) izravno geometrijskim oblicima.
Tehnička ograničenja i nedostaci
- Opširnost teksta: sprema koordinate s pomičnim zarezom kao ponovljene ASCII znamenke, što dovodi do veće veličine datoteka u odnosu na binarne Shapefileove ili FlatGeobuf.
- RFC 7946 strogo nalaže redoslijed [Longitude, Latitude] (dužina, širina), što često zbunjuje programere naviknute na 'Lat/Long'.
- Veliki poligoni s milijunima vrhova mogu uzrokovati usporavanje iscrtavanja DOM-a u web pregledniku.
Zanimljive tehničke činjenice
- Službeni GeoJSON standard uređuje koordinate kao [Longitude, Latitude] (X, Y Kartezijev redoslijed), što je potpuno suprotno načinu na koji ljudi govore ('Latitude, Longitude').
- Ako predate .geojson datoteku na GitHub, GitHub je automatski prikazuje kao interaktivnu kartu na koju se može kliknuti.
- RFC 7946 nalaže da rubni prstenovi poligona moraju slijediti 'pravilo desne ruke': vanjski prstenovi moraju biti namotani u smjeru suprotnom od kazaljke na satu.
Često postavljana tehnička pitanja
Zašto su moje GeoJSON koordinate poredane kao [longituda, latituda] umjesto [latituda, longituda]?
Zato što se u matematici i računalnoj grafici koordinate uvijek navode kao (X, Y). Longituda predstavlja horizontalnu X-os, a latituda predstavlja vertikalnu Y-os.
Kako mogu pretvoriti KML ili Shapefile u GeoJSON?
Možete pretvoriti Google Earth KML datoteke ili Esri Shapefile datoteke u čist GeoJSON spreman za web u nekoliko sekundi koristeći File2File.app izravno u svom pregledniku.
Koja je razlika između GeoJSON-a i Shapefile-a?
Shapefile je zastarjeli višedatotečni binarni format iz 1990-ih (.shp, .shx, .dbf). GeoJSON je moderan otvoreni web format u jednoj datoteci napisan u čistom JSON-u.
Povezani parovi konverzije za GeoJSON
Pretvaranje GeoJSON vektora u Google KML prevodi lagana JSON polja koordinata u strukturirane XML dokumente prilagođene za Google Earth i Google Maps.
Pretvaranje Google KML datoteka u GeoJSON transformira hijerarhijske XML geografske podatke u lagani vektorski JavaScript Object Notation za moderne mrežne karte.
Pretvaranje GeoJSON vektorskih podataka u GPX pretvara standardne geografske JSON objekte u format temeljen na XML-u koji je optimiziran za fizičke uređaje za navigaciju.