GeoJSON (.geojson)
IETF StandardGeographic JavaScript Object Notation (GeoJSON) on universaalne veebipõhine standard geograafiliste andmestruktuuride kodeerimiseks, mida kasutatakse laialdaselt kaasaegsetes veebikaardirakendustes (Leaflet, Mapbox, OpenLayers) ja GIS-tarkvaras.
Teisenda formaadist GEOJSON formaati KML
Tasuta GEOJSON -> KML konverter brauseris. Teisenda faile koheselt oma seadmes.
Kontrolli ja metaandmed
Operatsioonisüsteemid ja failianalüsaatorid tuvastavad GeoJSON faile, kontrollides algset binaarset baidijada:
Baidi-taseme päise allkiri (maagilised baidid)
Operatsioonisüsteemid ja failianalüsaatorid tuvastavad GeoJSON faile, kontrollides algset binaarset baidijada:
HEX-ALLKIRI (NIHE 0):
7B 0A 20 20 22 74 79 70 65 22 3A 20 22 46 65 61 74 75 72 65ASCII-ESITUS: {\n "type": "Feature
Standardiseerimine: IETF RFC 7946
Tehnilised andmed
| Konteineri arhitektuur | JSON document adhering to RFC 7946 representing geographic Features, FeatureCollections, and Geometries |
| Tihendamine | Uncompressed text (readily compressed over HTTP via Gzip or Brotli) |
| Baitide järjekord (Endianness) | UTF-8 text stream |
| Värviruumid | N/A (Geographic Data) |
| Kanalid ja struktuur | Points, MultiPoints, LineStrings, MultiLineStrings, Polygons, MultiPolygons, GeometryCollections, and custom properties |
| Max mõõtmed | World Geodetic System 1984 (WGS 84) coordinate space: Longitude (-180 to +180), Latitude (-90 to +90) |
| Läbipaistvus | None |
| Voogedastus ja progressiivsus | Line-delimited GeoJSON (GeoJSONL / GeoJSONSeq) enables continuous streaming of millions of features |
Tehniline võrdlusmaatriks: GeoJSON vs konkurendid
| Tehniline atribuut | GeoJSON (Praegune) | KML | GPX | SHP |
|---|---|---|---|---|
| Veebikaartide kasutuselevõtt | 100% universaalne veebi GIS-i vaikeseade | Google Earthi vaikeseade | GPS-seadme ja treeningu vaikeseade | Töölaua GIS-i pärandstandard |
| Koordinaatide järjekord | [Pikkuskraad, Laiuskraad] (X, Y) | Pikkuskraad, Laiuskraad, Kõrgus | Laiuskraad, Pikkuskraad | X, Y koordinaadid |
| Süntaksi stiil | Puhtad JSON-i võti-väärtus paarid | Kohmakad XML-sildid (<kml>) | Kohmakad XML-sildid (<gpx>) | Mitme failiga binaarvorming (.shp, .shx, .dbf) |
| Atribuutide skeem | Meelevaldne JSON-atribuutide objekt | ExtendedData skeemi sildid | Fikseeritud GPX-skeemi sildid | dBase IV (.dbf) fikseeritud veerud |
Levinud riknemisvead ja heksataaste juhend
Kaardi punktid ilmuvad ookeani Antarktika lähedal, mitte nende tegelikus asukohas.
Juurpõhjus: Laiuskraadi ja pikkuskraadi väärtused vahetati koordinaatide massiivis kogemata omavahel ära.
Taastamine: Vahetage koordinaatide positsioonid [pikkuskraad, laiuskraad] ümber, kasutades File2File GeoJSON-i konverterit.
Turvaanalüüs ja parsimisründevektorid
GeoJSON-i atribuudid võivad sisaldada meelevaldseid kasutaja sisestatud andmeid, mis tuleb enne kaardi hüpikaknatesse renderdamist puhastada, et vältida XSS-rünnakuid.
Teadaolevad ründavektorid
- Saididevaheline skriptimine (XSS) kaardi vihjete hulgas renderdatud GeoJSON-i elemendi atribuutides oleva põgenemata HTML-i kaudu.
- Teenusetõkestus sügavalt pesastatud GeometryCollectionite või miljoni tipuga polügoonide kaudu.
- Serveripoolne päringuvõltsing (SSRF) kaug-GeoJSON-i elementide laadimise kaudu.
Kaitsealased parimad tavad:
Ajalooline taust ja verstapostid
Peamised eelised
- Kohalik veebistandard: kaardistub otse brauseri kaarditeekide (Mapbox GL JS, Leaflet) JavaScripti objektideks.
- Inimesele loetav JSON-struktuur võimaldab lihtsat programmipõhist loomist, filtreerimist ja silumist.
- Meelevaldne atribuudiskeem: saate lisada mis tahes kohandatud metaandmeid (rahvaarv, nimi, kiirus, tulu) otse geomeetrilistele kujunditele.
Tehnilised piirangud ja puudused
- Tekstipõhine kohmakus: salvestab ujukoma-koordinaadid korduvate ASCII-numbritsetena, mis viib suuremate failisuurusteni kui binaarsed Shapefile'd või FlatGeobuf.
- RFC 7946 nõuab rangelt järjekorda [pikkuskraad, laiuskraad], mis ajab sageli segadusse arendajad, kes on harjunud järjekorraga „laiuskraad/pikkuskraad".
- Suured miljonite tippudega polügoonid võivad põhjustada veebibrauseri DOM-i renderdamise aeglustumist.
Huvitavaid tehnilisi fakte
- Ametlik GeoJSON-i standard seab koordinaadid järjekorda [pikkuskraad, laiuskraad] (X, Y Cartesiuse järjekord), mis on täpne vastand sellele, kuidas inimesed räägivad („laiuskraad, pikkuskraad").
- Kui laadite .geojson-faili GitHubi, renderdab GitHub selle automaatselt interaktiivseks ja klõpsatavaks kaardiks.
- RFC 7946 nõuab, et polügooni piirjooned peavad järgima „parema käe reeglit": välisringid peavad olema suunatud vastupäeva.
Korduma kippuvad tehnilised küsimused
Miks on minu GeoJSON-i koordinaadid järjestatud [pikkuskraad, laiuskraad] eikä [laiuskraad, pikkuskraad]?
Kuna matemaatikas ja arvutigraafikas määratakse koordinaadid alati kujul (X, Y). Pikkuskraad esindab horisontaalset X-telge ja laiuskraad vertikaalset Y-telge.
Kuidas teisendada KML- või Shapefile-fail GeoJSON-iks?
Saate Google Earthi KML-failid või Esri Shapefile'id puhtaks, veebivalmis GeoJSON-iks teisendada mõne sekundiga, kasutades otse brauseris lehte File2File.app.
Mis vahe on GeoJSON-il ja Shapefile'il?
Shapefile on 1990ndate aegunud mitmest failist koosnev binaarformaat (.shp, .shx, .dbf). GeoJSON on kaasaegne, puhtas JSON-is kirjutatud ühe failiga avatud veebivorming.
Seotud GeoJSON teisenduspaarid
GeoJSON vektorite teisendamine Google KML-vormingusse muudab kerged JSON-koordinaatide massiivid struktureeritud XML-dokumendiks, mis on kohandatud Google Earthi ja Google Mapsi jaoks.
Google KML-failide teisendamine GeoJSON-vormingusse muudab hierarhilised XML-põhised geograafilised andmed kergeteks vektorpõhisteks JavaScripti objektinotatsiooni andmeteks tänapäevaste veebikaartide jaoks.
GeoJSON vektorterminoloogia teisendamine GPX-vormingusse tõlgendab standardsed geograafilised JSON-objektid XML-põhisesse vormingusse, mis on optimeeritud füüsiliste navigatsiooniseadmete jaoks.