GeoJSON (.geojson)
IETF StandardGeografski zapis JavaScript Object Notation (GeoJSON) je univerzalni spletni standard za kodiranje geografskih podatkovnih struktur, ki se pogosto uporablja v sodobnih spletnih kartografskih rešitvah (Leaflet, Mapbox, OpenLayers) in aplikacijah GIS.
Pretvori GEOJSON v KML
Brezplačen pretvornik iz GEOJSON v KML v brskalniku. Pretvorite datoteke takoj v svoji napravi.
Pregled in metapodatki
Operacijski sistemi in analizatorji datotek identificirajo datoteke GeoJSON s pregledom vodilnega binarnega zaporedja bajtov:
Podpis glave na ravni bajtov (Čarobni bajti)
Operacijski sistemi in analizatorji datotek identificirajo datoteke GeoJSON s pregledom vodilnega binarnega zaporedja bajtov:
PODPIS HEX (ZAMIK 0):
7B 0A 20 20 22 74 79 70 65 22 3A 20 22 46 65 61 74 75 72 65REPREZENTACIJA ASCII: {\n "type": "Feature
Standardizacija: IETF RFC 7946
Tehnične specifikacije
| Arhitektura vsebnika | JSON document adhering to RFC 7946 representing geographic Features, FeatureCollections, and Geometries |
| Stiskanje | Uncompressed text (readily compressed over HTTP via Gzip or Brotli) |
| Vrstni red bajtov | UTF-8 text stream |
| Barvni prostori | N/A (Geographic Data) |
| Kanali in struktura | Points, MultiPoints, LineStrings, MultiLineStrings, Polygons, MultiPolygons, GeometryCollections, and custom properties |
| Največje dimenzije | World Geodetic System 1984 (WGS 84) coordinate space: Longitude (-180 to +180), Latitude (-90 to +90) |
| Prosojnost | None |
| Pretočno in progresivno predvajanje | Line-delimited GeoJSON (GeoJSONL / GeoJSONSeq) enables continuous streaming of millions of features |
Tehnična primerjalna matrika: GeoJSON proti konkurenci
| Tehnični atribut | GeoJSON (Trenutno) | KML | GPX | SHP |
|---|---|---|---|---|
| Uporaba v spletnih zemljevidih | 100-odstotno univerzalna privzeta vrednost za spletni GIS | Privzeta vrednost Google Earth | Privzeta vrednost za naprave GPS in fitnes | Zapuščeni standard namiznega sistema GIS |
| Vrstni red koordinat | [zemljepisna dolžina, zemljepisna širina] (X, Y) | Zemljepisna dolžina, zemljepisna širina, nadmorska višina | Zemljepisna širina, zemljepisna dolžina | Koordinate X, Y |
| Slog sintakse | Čisti ključi in vrednosti JSON | Obsežne oznake XML (<kml>) | Obsežne oznake XML (<gpx>) | Večdatotečni binarni zapis (.shp, .shx, .dbf) |
| Shema lastnosti | Poljuben predmet lastnosti JSON | Oznake sheme ExtendedData | Fiksne oznake sheme GPX | Fiksni stolpci dBase IV (.dbf) |
Pogosti načini okvar in vodič za heksadecimalno obnovo
Točke na zemljevidu se prikažejo v oceanu blizu Antarktike namesto na pravi lokaciji.
Glavni vzrok: V tabeli koordinat so bile vrednosti zemljepisne širine in dolžine pomotoma zamenjane.
Sanacija: Zamenjajte položaj koordinat [lon, lat] s pretvornikom File2File GeoJSON.
Varnostna analiza in napadalni vektorji razčlenjevalnika
Lastnosti GeoJSON lahko vsebujejo poljuben uporabniški vnos, ki ga je treba pred upodobitvijo v pojavnih okencih zemljevida očistiti, da se prepreči napad XSS.
Znani vektorji napada
- Navzkrižno skriptiranje (XSS) prek neoznačenega HTML v lastnostih funkcij GeoJSON, upodobljenih v orodnih namigih zemljevidov.
- Zavrnitev storitve zaradi globoko gnezdenih elementov GeometryCollection ali mnogokotnikov z milijoni oglišč.
- Ponarejanje zahtevkov na strežniški strani (SSRF) prek oddaljenega nalaganja funkcij GeoJSON.
Obrambne najboljše prakse:
Zgodovinski izvor in mejniki
Ključne prednosti
- Domači spletni standard: neposredno se preslikava v predmete JavaScript v knjižnicah za kartiranje v brskalniku (Mapbox GL JS, Leaflet).
- Bralljiva struktura JSON omogoča preprosto programsko ustvarjanje, filtriranje in odpravljanje napak.
- Poljubna shema lastnosti: katerim koli geometrijskim oblikam lahko neposredno dodate poljubne metapodatke (štebilo prebivalstva, ime, hitrost, prihodek).
Tehnične omejitve in slabosti
- Besedilna obsežnost: koordinate s plavajočo vejico shranjuje kot ponavljajoče se znake ASCII, kar vodi do večjih velikosti datotek kot pri binarnih oblikah Shapefile ali FlatGeobuf.
- RFC 7946 strogo določa vrstni red [zemljepisna dolžina, zemljepisna širina], kar pogosto bega razvijalce, vajene oblike 'širina/dolžina'.
- Veliki mnogokotniki z milijoni oglišč lahko povzročijo upočasnitev upodabljanja DOM v spletnem brskalniku.
Zanimive tehnične malenkosti
- Uradni standard GeoJSON ureja koordinate kot [zemljepisna dolžina, zemljepisna širina] (kartezični vrstni red X, Y), kar je točno nasprotno od tega, kako ljudje govorijo ('zemljepisna širina, zemljepisna dolžina').
- Če v GitHubu naložite datoteko .geojson, jo GitHub samodejno prikaže kot interaktiven zemljevid, na katerega je mogoče klikniti.
- RFC 7946 določa, da morajo obodne linije mnogokotnikov slediti 'pravilu desne roke': zunanje linije morajo biti obrnjene v nasprotni smeri urinega kazalca.
Pogosta tehnična vprašanja
Zakaj so moje koordinate v formatu GeoJSON urejene kot [zemljepisna dolžina, zemljepisna širina] namesto [zemljepisna širina, zemljepisna dolžina]?
Ker so v matematiki in računalniški grafiki koordinate vedno podane kot (X, Y). Zemljepisna dolžina predstavlja vodoravno os X, zemljepisna širina pa navpično os Y.
Kako lahko pretvorim KML ali Shapefile v GeoJSON?
Datoteke Google Earth KML ali Esri Shapefile lahko v nekaj sekundah pretvorite v čist format GeoJSON, pripravljen za splet, z uporabo File2File.app neposredno v brskalniku.
Kakšna je razlika med GeoJSON in Shapefile?
Shapefile je zastarel binarni večdatotečni format iz 90. let prejšnjega stoletja (.shp, .shx, .dbf). GeoJSON je sodoben, enodatotečni odprti spletni format, zapisan v čistem zapisu JSON.
Sorodni pari pretvorbe za GeoJSON
Pretvorba vektorjev GeoJSON v Google KML pretvori lahka polja koordinat JSON v strukturirane dokumente XML, prilagojene za Google Earth in Google Maps.
Pretvarjanje datotek Google KML v zapis GeoJSON pretvori hierarhične geografske podatke XML v lahke vektorske predmete JavaScript Object Notation za sodobne spletne zemljevide.
Pretvorba vektorskih podatkov GeoJSON v GPX prevede standardne geografske predmete JSON v format na osnovi XML, optimiziran za naprave za fizično navigacijo.