GeoJSON för webbkartor: en guide
GeoJSON är det främsta formatet för utbyte av geodata på webben. Alla populära kartbibliotek — Leaflet, Mapbox GL JS, OpenLayers, deck.gl — har inbyggt stöd för GeoJSON. Med osm2cdr.com kan du exportera valfritt OpenStreetMap-område till GeoJSON på några sekunder.
GeoJSON:s struktur
En GeoJSON-fil är vanlig JSON med objekt av typen FeatureCollection. Varje Feature innehåller en geometri (punkt, linje, polygon) och egenskaper (properties) — OpenStreetMap-taggar: namn, objekttyp, adress och andra attribut.
Så ansluter du till Leaflet
Det enklaste sättet att visa GeoJSON på en webbkarta:
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ättning efter egenskaper
GeoJSON från osm2cdr.com bevarar OSM-taggar: highway, building, amenity, natural med flera. Det gör att du kan stilsätta objekt efter typ:
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 för stora datamängder
GeoJSON fungerar utmärkt för små och medelstora områden (upp till 50 km²). För större territorier:
- GeoJSON-Seq — ett strömmande format där filen läses in rad för rad.
- PMTiles — ett cloud-native rutformat som visar miljontals objekt direkt.
- Vektorrutor — laddas in efterhand som du navigerar på kartan.
Verktyg för att arbeta med GeoJSON
- geojson.io — en webbredigerare för att visa och redigera.
- Mapshaper — förenkling av geometri och konvertering.
- Turf.js — rumslig analys direkt i webbläsaren.
- QGIS — ett fullfjädrat GIS för avancerad bearbetning.