GeoJSON-Standard erklärt: Meistern Sie RFC 7946 für Geodaten
In der Welt des Web-Mapping und der Geoinformationssysteme (GIS) ist GeoJSON zur universellen Sprache für den Austausch von Raumdaten geworden. Egal, ob Sie Leaflet, Mapbox oder Google Maps verwenden, Sie interagieren höchstwahrscheinlich mit RFC 7946, dem offiziellen GeoJSON-Standard.
Was ist RFC 7946 (GeoJSON)?
Der 2016 veröffentlichte RFC 7946 formalisierte das GeoJSON-Format. Es handelt sich um ein auf JSON (JavaScript Object Notation) basierendes Austauschformat für Geodaten. Es ermöglicht die Darstellung von Geometrie, Merkmalen (Features) und Sammlungen von Merkmalen.
GeoJSON unterstützt die folgenden Geometrietypen:
- Point (Punkt): Eine einzelne Position (Längengrad, Breitengrad).
- LineString (Linie): Eine Reihe verbundener Punkte.
- Polygon (Vieleck): Eine geschlossene Fläche (der erste und letzte Punkt sind identisch).
- MultiPoint, MultiLineString, MultiPolygon: Sammlungen der oben genannten Typen.
- GeometryCollection: Eine Mischung verschiedener Geometrietypen.
Kernprinzipien von GeoJSON
1. Das Koordinatensystem
RFC 7946 schreibt strikt die Verwendung des Datums WGS 84 (World Geodetic System 1984) vor. Koordinaten werden immer als [Längengrad, Breitengrad] (Longitude, Latitude) geordnet. Warnung: Viele Entwickler machen den Fehler, [Breitengrad, Längengrad] zu verwenden, wodurch Ihre Daten an einem völlig falschen Ort auf der Welt platziert werden!
2. Das Feature-Objekt
Ein GeoJSON-Feature-Objekt enthält eine Geometrie und zusätzliche Metadaten (Properties).
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [102.0, 0.5]
},
"properties": {
"name": "Dinagat Islands"
}
}
3. Die FeatureCollection
Die meisten GeoJSON-Dateien sind FeatureCollection-Objekte, die es ermöglichen, mehrere Features in einer einzigen Datei zu bündeln.
Praktische Anwendungsszenarien
Web-Mapping
GeoJSON ist das native Format für die meisten modernen Web-Mapping-Bibliotheken. Es lässt sich leicht über AJAX laden und kann basierend auf dem properties-Objekt dynamisch gestaltet werden.
Datenbank-Speicherung
Moderne Datenbanken wie PostgreSQL (mit PostGIS) und MongoDB bieten native Unterstützung für GeoJSON, sodass Sie räumliche Abfragen durchführen können (z. B. „Finde alle Punkte im Umkreis von 5 km um diesen Standort“).
Datenvisualisierung
Tools wie D3.js können GeoJSON-Daten aufnehmen und als interaktive SVG-Karten rendern – ideal für Dashboards und Infografiken.
GeoJSON vs. KML vs. Shapefile
| Merkmal | GeoJSON | KML | Shapefile |
|---|---|---|---|
| Format | JSON | XML | Binär (Mehrere Dateien) |
| Web-freundlich | Exzellent | Mittel | Schlecht |
| Styling | über Properties | Eingebaut (XML) | Separat (.qml/.sld) |
| Menschenlesbar | Ja | Ja | Nein |
FAQ
F: Warum wird [Längengrad, Breitengrad] statt [Breitengrad, Längengrad] verwendet?
A: RFC 7946 folgt dem Standard-kartesischen Koordinatensystem [x, y], wobei der Längengrad der X-Achse und der Breitengrad der Y-Achse entspricht.
F: Kann ich verschiedene Koordinatensysteme (CRS) verwenden?
A: Während ältere Versionen von GeoJSON benutzerdefinierte CRS erlaubten, erfordert RFC 7946 strikt WGS 84. Wenn Ihre Daten in einem anderen System vorliegen (z. B. UTM), müssen Sie diese vor der Freigabe als GeoJSON in WGS 84 transformieren.
F: Wie gehe ich mit großen Datensätzen um?
A: Bei sehr großen Geodatensätzen kann das Laden von GeoJSON langsam werden. Erwägen Sie die Verwendung von TopoJSON (das die Dateigröße durch Topologie-Sharing reduziert) oder Vektorkacheln (Vector Tiles, MVT) für professionelle Mapping-Anwendungen.
Verwandte Tools
- JSON-Formatierer - Unverzichtbar zum Validieren und Bereinigen Ihrer GeoJSON-Strukturen.
- URL-Kodierer/Dekodierer - Nützlich bei der Übergabe von GeoJSON-Daten als URL-Parameter.
- UUID-Generator - Wird oft verwendet, um eindeutige IDs für GeoJSON-Features zu generieren.