GeoJSON (.geojson)

IETF Standaard

GeoJSON is een open formaat voor het coderen van geografische datastructuren. Het wordt veel gebruikt in webcartografie en wordt door veel GIS-toepassingen ondersteund, hoewel de ondersteuning en het gedrag variëren.

GEOJSON naar KML converteren

Gratis GEOJSON-naar-KML-converter in uw browser. Converteer bestanden direct op uw apparaat.

Inspecteren en metadata

Besturingssystemen en bestandsanalysators herkennen GeoJSON-bestanden aan de hand van de eerste binaire bytesequentie:

Selecteer of sleep bestanden hierheen

Privé - bestanden verlaten uw apparaat niet

of plak Ctrl+V
Privacygarantie zonder netwerktransmissie: 0 bytes geüpload naar externe servers. Alle verwerking vond lokaal plaats in uw browser-sandbox.

Bestandshandtekening op byteniveau (magic bytes)

Besturingssystemen en bestandsanalysators herkennen GeoJSON-bestanden aan de hand van de eerste binaire bytesequentie:

HEX-HANDTEKENING (OFFSET 0):

7B 0A 20 20 22 74 79 70 65 22 3A 20 22 46 65 61 74 75 72 65

ASCII-WEERGAVE: {\n "type": "Feature

Standaardisatie: IETF RFC 7946

Technische specificaties

ContainerarchitectuurJSON-document dat voldoet aan RFC 7946 en geografische Features, FeatureCollections en Geometries vertegenwoordigt
CompressieNiet-gecomprimeerde tekst (gemakkelijk te comprimeren via HTTP met Gzip of Brotli)
Bytevolgorde (endianness)UTF-8-tekststroom
KleurruimtenN.v.t. (Geografische gegevens)
Kanalen en structuurPoints, MultiPoints, LineStrings, MultiLineStrings, Polygons, MultiPolygons, GeometryCollections en aangepaste eigenschappen
Maximale afmetingenCoördinatenruimte volgens World Geodetic System 1984 (WGS 84): lengtegraad (-180 tot +180), breedtegraad (-90 tot +90)
TransparantieGeen
Streaming en progressiefGeoJSON met één object per regel (GeoJSONL / GeoJSONSeq) maakt het continu streamen van miljoenen objecten mogelijk

Technische vergelijkingsmatrix: GeoJSON versus concurrenten

Technisch kenmerkGeoJSON (Huidig)KMLGPXSHP
Gebruik in webcartografieVeel gebruikt in webcartografie; applicatieondersteuning varieertStandaard voor Google EarthStandaard voor gps-apparaten en fitnessVerouderde standaard voor desktop-GIS
Coördinatenvolgorde[Lengtegraad, Breedtegraad] (X, Y)Lengtegraad, Breedtegraad, HoogteBreedtegraad, LengtegraadX, Y-coördinaten
SyntaxisstijlHeldere JSON-sleutel-waardepaarstructuurUitgebreide XML-tags (<kml>)Uitgebreide XML-tags (<gpx>)Binair formaat met meerdere bestanden (.shp, .shx, .dbf)
Schema voor eigenschappenWillekeurig object met JSON-eigenschappenExtendedData-schematagsVaste GPX-schematagsVaste kolommen in dBase IV (.dbf)

Veelvoorkomende beschadigingen en gids voor hex-herstel

Kaartpunten verschijnen in de oceaan bij Antarctica in plaats van op hun werkelijke locatie.

Oorzaak: Waarden voor breedtegraad en lengtegraad zijn per ongeluk verwisseld in de coördinatenarray.

Herstel: Verwissel de coördinatenposities [lon, lat] met behulp van de GeoJSON Converter van File2File.app.

Beveiligingsanalyse en aanvalsvectoren voor parsers

GeoJSON-eigenschappen kunnen willekeurige gebruikersinvoer bevatten. Die moet worden opgeschoond voordat deze in pop-ups op de kaart wordt weergegeven, om XSS te voorkomen.

Bekende aanvalsvectoren

  • Cross-site scripting (XSS) via niet-geëscapete HTML in eigenschappen van GeoJSON-objecten die in kaarttooltips worden weergegeven.
  • Denial of service door diep geneste GeometryCollections of polygonen met een miljoen hoekpunten.
  • Server-Side Request Forgery via het laden van externe GeoJSON-objecten.

Aanbevolen beveiligingspraktijken: Schoon alle tekstreeksen van eigenschappen op met DOMPurify voordat u deze invoegt in pop-upvensters op de kaart.

Historische oorsprong en mijlpalen

2016De IETF standaardiseert het GeoJSON-formaat officieel als RFC 7946 en stelt coördinatenreferentiesystemen op basis van WGS 84 verplicht.
2014GitHub voegt kaartweergave toe voor ondersteunde GeoJSON-bestanden in repositories; sommige bestanden kunnen niet worden weergegeven, waaronder bestanden die de gedocumenteerde groottebeperking overschrijden.
2008Howard Butler, Sean Gillies en de opensource-GIS-gemeenschap publiceren de initiële GeoJSON 1.0-specificatie.

Belangrijkste voordelen

  • Native webstandaard: wordt in bibliotheken voor webkaarten (Mapbox GL JS, Leaflet) rechtstreeks omgezet in JavaScript-objecten.
  • De menselijk leesbare JSON-structuur maakt het eenvoudig om gegevens programmatisch aan te maken, te filteren en fouten op te sporen.
  • Vrij schema voor eigenschappen: koppel willekeurige metadata (bevolking, naam, snelheid, inkomsten) direct aan geometrische vormen.

Technische beperkingen

  • Tekstuitvoerigheid: slaat drijvende-kommacoördinaten op als herhaalde ASCII-cijfers, wat leidt tot grotere bestandsgroottes dan binaire Shapefiles of FlatGeobuf.
  • RFC 7946 schrijft strikt de volgorde [Lengtegraad, Breedtegraad] voor, wat ontwikkelaars die gewend zijn aan 'Lat/Long' vaak in verwarring brengt.
  • Grote polygonen met miljoenen hoekpunten kunnen vertragingen in de DOM-weergave van de webbrowser veroorzaken.

Interessante technische weetjes

  • De officiële GeoJSON-standaard ordent coördinaten als [Lengtegraad, Breedtegraad] (Cartesiaanse volgorde X, Y), precies omgekeerd aan de volgorde waarin mensen ze doorgaans noemen ('Breedtegraad, Lengtegraad').
  • GitHub kan ondersteunde GeoJSON-bestanden weergeven als kaarten in repositories. De weergave kent limieten, waaronder bestandsgrootte en het coördinatenreferentiesysteem.
  • RFC 7946 schrijft voor dat de ringen die de grenzen van polygonen vormen de 'rechterhandregel' volgen: buitenste ringen moeten tegen de klok in lopen.

Veelgestelde technische vragen

Waarom zijn mijn GeoJSON-coördinaten gerangschikt als [lengtegraad, breedtegraad] in plaats van [breedtegraad, lengtegraad]?

De coördinatenvolgorde is afhankelijk van het formaat. RFC 7946 GeoJSON-posities gebruiken de lengtegraad gevolgd door de breedtegraad; andere formaten hanteren mogelijk een andere asvolgorde.

Hoe kan ik KML of Shapefile converteren naar GeoJSON?

U kunt Google Earth KML-bestanden of Esri Shapefiles binnen enkele seconden rechtstreeks in uw browser met File2File.app converteren naar overzichtelijke GeoJSON die geschikt is voor het web.

Wat is het verschil tussen GeoJSON en Shapefile?

Shapefiles worden nog steeds veel gebruikt voor gegevensuitwisseling en worden ondersteund door GIS-software. Hun structuur met meerdere bestanden en beperkingen voor attributen kunnen GeoJSON of een geodatabase echter geschikter maken voor bepaalde werkprocessen.