GeoJSON (.geojson)
IETF StandaardGeoJSON 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:
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 65ASCII-WEERGAVE: {\n "type": "Feature
Standaardisatie: IETF RFC 7946
Technische specificaties
| Containerarchitectuur | JSON-document dat voldoet aan RFC 7946 en geografische Features, FeatureCollections en Geometries vertegenwoordigt |
| Compressie | Niet-gecomprimeerde tekst (gemakkelijk te comprimeren via HTTP met Gzip of Brotli) |
| Bytevolgorde (endianness) | UTF-8-tekststroom |
| Kleurruimten | N.v.t. (Geografische gegevens) |
| Kanalen en structuur | Points, MultiPoints, LineStrings, MultiLineStrings, Polygons, MultiPolygons, GeometryCollections en aangepaste eigenschappen |
| Maximale afmetingen | Coördinatenruimte volgens World Geodetic System 1984 (WGS 84): lengtegraad (-180 tot +180), breedtegraad (-90 tot +90) |
| Transparantie | Geen |
| Streaming en progressief | GeoJSON met één object per regel (GeoJSONL / GeoJSONSeq) maakt het continu streamen van miljoenen objecten mogelijk |
Technische vergelijkingsmatrix: GeoJSON versus concurrenten
| Technisch kenmerk | GeoJSON (Huidig) | KML | GPX | SHP |
|---|---|---|---|---|
| Gebruik in webcartografie | Veel gebruikt in webcartografie; applicatieondersteuning varieert | Standaard voor Google Earth | Standaard voor gps-apparaten en fitness | Verouderde standaard voor desktop-GIS |
| Coördinatenvolgorde | [Lengtegraad, Breedtegraad] (X, Y) | Lengtegraad, Breedtegraad, Hoogte | Breedtegraad, Lengtegraad | X, Y-coördinaten |
| Syntaxisstijl | Heldere JSON-sleutel-waardepaarstructuur | Uitgebreide XML-tags (<kml>) | Uitgebreide XML-tags (<gpx>) | Binair formaat met meerdere bestanden (.shp, .shx, .dbf) |
| Schema voor eigenschappen | Willekeurig object met JSON-eigenschappen | ExtendedData-schematags | Vaste GPX-schematags | Vaste 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
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.
Gerelateerde conversieparen voor GeoJSON
Het converteren van GeoJSON-vectoren naar Google KML vertaalt lichtgewicht JSON-coördinatenarrays naar gestructureerde XML-documenten die zijn afgestemd op Google Earth en Google Maps.
Het converteren van Google KML-bestanden naar GeoJSON zet hiërarchische geografische XML-data om in lichtgewicht vectorgegevens in JavaScript Object Notation voor moderne webkaarten.
Het converteren van GeoJSON-vectorgegevens naar GPX vertaalt standaard geografische JSON-objecten naar een op XML gebaseerd formaat dat is geoptimaliseerd voor fysieke navigatieapparaten.