GeoJSON til webkort: en guide
GeoJSON er det primære format til udveksling af geodata på nettet. Alle populære kortbiblioteker — Leaflet, Mapbox GL JS, OpenLayers og deck.gl — understøtter GeoJSON nativt. Med osm2cdr.ru kan du eksportere ethvert OpenStreetMap-område til GeoJSON på få sekunder.
GeoJSON-strukturen
En GeoJSON-fil er almindelig JSON med objekter af typen FeatureCollection. Hvert Feature indeholder en geometri (punkt, linje, polygon) og egenskaber (properties) — OpenStreetMap-tags: navn, objekttype, adresse og andre attributter.
Sådan tilknytter du det til Leaflet
Den enkleste måde at vise GeoJSON på et webkort:
fetch('/data/moscow-buildings.geojson')
.then(r => r.json())
.then(data => L.geoJSON(data, {
style: { color: '#3388ff', weight: 1, fillOpacity: 0.3 }
}).addTo(map));
Stilsætning efter egenskaber
GeoJSON fra osm2cdr.ru bevarer OSM-tags: highway, building, amenity, natural og andre. Det gør det muligt at stilsætte objekter efter type:
L.geoJSON(data, {
style: function(feature) {
if (feature.properties.building) return { color: '#e74c3c' };
if (feature.properties.natural === 'water') return { color: '#3498db' };
return { color: '#95a5a6' };
}
});
Optimering til store datamængder
GeoJSON fungerer fremragende til små og mellemstore områder (op til 50 km²). Til større områder:
- GeoJSON-Seq — et streamingformat, hvor filen indlæses linje for linje.
- PMTiles — et cloud-native flisebaseret format med øjeblikkelig visning af millioner af objekter.
- Vektorfliser — indlæses efterhånden som man navigerer rundt på kortet.
Værktøjer til arbejde med GeoJSON
- geojson.io — en onlineeditor til visning og redigering.
- Mapshaper — forenkling af geometri og konvertering.
- Turf.js — rumlig analyse direkte i browseren.
- QGIS — et fuldt GIS til kompleks behandling.