GeoJSON for webkart: en veiledning
GeoJSON er det viktigste formatet for utveksling av geodata på nett. Alle populære kartbiblioteker — Leaflet, Mapbox GL JS, OpenLayers, deck.gl — støtter GeoJSON nativt. Med osm2cdr.ru kan du eksportere et hvilket som helst OpenStreetMap-område til GeoJSON på sekunder.
GeoJSON-strukturen
En GeoJSON-fil er vanlig JSON med objekter av typen FeatureCollection. Hver Feature inneholder en geometri (punkt, linje, polygon) og egenskaper (properties) — OpenStreetMap-tagger: navn, objekttype, adresse og andre attributter.
Slik kobler du til Leaflet
Den enkleste måten å vise GeoJSON på et webkart:
fetch('/data/moscow-buildings.geojson')
.then(r => r.json())
.then(data => L.geoJSON(data, {
style: { color: '#3388ff', weight: 1, fillOpacity: 0.3 }
}).addTo(map));
Stilsetting etter egenskaper
GeoJSON fra osm2cdr.ru beholder OSM-taggene: highway, building, amenity, natural og andre. Dette gjør det mulig å stilsette objekter etter 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' };
}
});
Optimalisering for store datamengder
GeoJSON fungerer utmerket for små og mellomstore områder (opptil 50 km²). For store områder:
- GeoJSON-Seq — et strømmeformat der filen lastes inn linje for linje.
- PMTiles — et cloud-native flisformat med umiddelbar visning av millioner av objekter.
- Vektorfliser — lastes inn etter hvert som du navigerer i kartet.
Verktøy for arbeid med GeoJSON
- geojson.io — en nettleserbasert editor for visning og redigering.
- Mapshaper — forenkling av geometri og konvertering.
- Turf.js — romlig analyse rett i nettleseren.
- QGIS — en fullverdig GIS for kompleks behandling.