GeoJSON (.geojson)
IETF StandardiGeographic JavaScript Object Notation (GeoJSON) on maantieteellisten tietorakenteiden koodaukseen tarkoitettu universaali, verkkonatiivi standardi, jota käytetään laajasti nykyaikaisissa verkkokartoissa (Leaflet, Mapbox, OpenLayers) ja GIS-sovelluksissa.
Muunna tiedostot muodosta GEOJSON muotoon KML
Ilmainen selaimen sisäinen GEOJSON - KML-muunnin. Muunna tiedostoja välittömästi laitteellasi.
Tarkastele ja metatiedot
Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat GeoJSON-tiedostot tarkistamalla tiedoston alun binäärisarjan:
Tavutason otsikon allekirjoitus (Magic Bytes)
Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat GeoJSON-tiedostot tarkistamalla tiedoston alun binäärisarjan:
HEX-ALLEKIRJOITUS (OFFSET 0):
7B 0A 20 20 22 74 79 70 65 22 3A 20 22 46 65 61 74 75 72 65ASCII-ESITYSTAPA: {\n "type": "Feature
Standardointi: IETF RFC 7946
Tekniset tiedot
| Säiliöarkkitehtuuri | JSON document adhering to RFC 7946 representing geographic Features, FeatureCollections, and Geometries |
| Pakkaus | Uncompressed text (readily compressed over HTTP via Gzip or Brotli) |
| Tavujärjestys (Endianness) | UTF-8 text stream |
| Väriavaruudet | N/A (Geographic Data) |
| Kanavat ja rakenne | Points, MultiPoints, LineStrings, MultiLineStrings, Polygons, MultiPolygons, GeometryCollections, and custom properties |
| Suurimmat mitat | World Geodetic System 1984 (WGS 84) coordinate space: Longitude (-180 to +180), Latitude (-90 to +90) |
| Läpinäkyvyys | None |
| Suoratoisto ja progressiivinen lataus | Line-delimited GeoJSON (GeoJSONL / GeoJSONSeq) enables continuous streaming of millions of features |
Tekninen vertailumatriisi: GeoJSON vs. kilpailijat
| Tekninen attribuutti | GeoJSON (Nykyinen) | KML | GPX | SHP |
|---|---|---|---|---|
| Verkkokartoituksen omaksuminen | 100-prosenttisesti universaali web-GIS-oletus | Google Earthin oletus | GPS-laitteiden ja kuntoilun oletus | Työpöytä-GIS:n perinteinen standardi |
| Koordinaattijärjestys | [Pituuspiiri, leveyspiiri] (X, Y) | Pituuspiiri, leveyspiiri, korkeus | Leveyspiiri, pituuspiiri | X, Y -koordinaatit |
| Syntaksityyli | Puhtaat JSON-avain-arvoparit | Laajat XML-tunnisteet (<kml>) | Laajat XML-tunnisteet (<gpx>) | Monitiedostoinen binaari (.shp, .shx, .dbf) |
| Ominaisuuksien schema | Mielivaltainen JSON-ominaisuusolio | ExtendedData-schematunnisteet | Kiinteät GPX-schematunnisteet | dBase IV (.dbf) kiinteät sarakkeet |
Yleiset korruptiotilat ja heksatietojehdotusopas
Kartan pisteet ilmestyvät valtamerelle lähelle Etelämannerta todellisen sijaintinsa sijaan.
Perussyy: Leveys- ja pituuspiirin arvot vaihtuivat vahingossa keskenään koordinaattitaulukossa.
Korjaus: Vaihda koordinaattien paikkoja [lon, lat] käyttämällä File2File GeoJSON -muunninta.
Turvallisuusanalyysi ja jäsenninhyökkäysvektorit
GeoJSON-ominaisuudet voivat sisältää mielivaltaista käyttäjän syötettä, joka on puhdistettava ennen renderöintiä kartan ponnahdusikkunoihin XSS-hyökkäysten estämiseksi.
Tunnetut hyökkäysvektorit
- Sivustojen välinen komentosarjahyökkäys (XSS) kartan ohjeteksteissä renderöityjen GeoJSON-ominaisuuksien suojaamattoman HTML:n kautta.
- Palvelunestohyökkäys syvälle sisäkkäisten GeometryCollection-geometrioiden tai miljoonan verteksin monikulmioiden kautta.
- Palvelimen kautta toteutettu pyynnön väärennös (SSRF) etämuotoisen GeoJSON-aineiston lataamisen kautta.
Parhaat puolustuskäytännöt:
Historia ja virstanpylväät
Tärkeimmät edut
- Verkkonatiivi standardi: siirtyy suoraan JavaScript-objekteiksi selaimen karttakirjastoissa (Mapbox GL JS, Leaflet).
- Ihmisen luettava JSON-rakenne mahdollistaa vaivattoman ohjelmallisen luonnin, suodatuksen ja virheenjäljityksen.
- Mielivaltainen ominaisuusschema (properties): liitä mitä tahansa mukautettua metatietoa (väestömäärä, nimi, nopeus, liikevaihto) suoraan geometrisiin muotoihin.
Tekniset rajoitukset
- Tekstipohjainen laajuus: tallentaa liukulukukoordinaatit toistuvina ASCII-merkkeinä, mikä johtaa suurempiin tiedostokokoihin kuin binaariset Shapefile- tai FlatGeobuf-tiedostot.
- RFC 7946 määrittää tiukasti [pituuspiiri, leveyspiiri] -järjestyksen, mikä hämmentää usein 'Lat/Long'-järjestykseen tottuneita kehittäjiä.
- Suuret monikulmiot, joissa on miljoona verteksejä, voivat hidastaa verkkoselaimen DOM-renderöintiä.
Mielenkiintoisia teknisiä faktoja
- Virallinen GeoJSON-standardi järjestää koordinaatit muodossa [pituuspiiri, leveyspiiri] (X, Y -kartesiolainen järjestjestys), mikä on täysin päinvastoin kuin ihmisten puhekielessä ('leveyspiiri, pituuspiiri').
- Jos viet .geojson-tiedoston GitHubiin, GitHub renderöi sen automaattisesti interaktiiviseksi, klikattavaksi kartaksi.
- RFC 7946 edellyttää, että monikulmion rajarenkaiden on noudatettava 'oikean käden sääntöä': ulkorenkaiden on kierrettävä vastapäivään.
Usein kysytyt tekniset kysymykset
Miksi GeoJSON-koordinaattini on järjestetty muodossa [pituusaste, leveysaste] eikä [leveysaste, pituusaste]?
Koska matematiikassa ja tietokonegrafiikassa koordinaatit määritellään aina muodossa (X, Y). Pituusaste edustaa vaaka-akselia (X) ja leveysaste pystyakselia (Y).
Miten voin muuntaa KML- tai Shapefile-tiedoston GeoJSON-muotoon?
Voit muuntaa Google Earthin KML-tiedostot tai Esri Shapefile -tiedostot puhtaaksi, verkkovalmiiksi GeoJSON-muodoksi sekunneissa File2File.app-palvelulla suoraan selaimessasi.
Mikä ero on GeoJSON- ja Shapefile-muotojen välillä?
Shapefile on 1990-luvun vanhentunut useasta tiedostosta koostuva binäärimuoto (.shp, .shx, .dbf). GeoJSON on moderni, yhden tiedoston avoin verkkosiirtoformaatti, joka on kirjoitettu puhtaana JSON-muotona.
Aiheeseen liittyvät GeoJSON-muunnosparit
GeoJSON-vektorien muuntaminen Google KML -muotoon kääntää kevyet JSON-koordinaattitaulukot jäsennetyiksi XML-dokumenteiksi, jotka on räätälöity Google Earthia ja Google Mapsia varten.
Google KML -tiedostojen muuntaminen GeoJSON-muotoon muuntaa hierarkkisen XML-pohjaisen maantieteellisen datan kevyiksi vektorimuotoisiksi JavaScript Object Notation -objekteiksi nykyaikaisia verkkokarttoja varten.
GeoJSON-vektoridatan muuntaminen GPX-muotoon mahdollistaa verkkopohjaisten karttamuotojen lataamisen suoraan kädessä pidettäviin GPS-laitteisiin ja urheilukelloihin.