GeoJSON per le mappe web: una guida
GeoJSON è il principale formato di scambio di geodati sul web. Tutte le librerie cartografiche più diffuse — Leaflet, Mapbox GL JS, OpenLayers, deck.gl — supportano GeoJSON in modo nativo. Con osm2cdr.ru puoi esportare qualsiasi area di OpenStreetMap in GeoJSON in pochi secondi.
Struttura di GeoJSON
Un file GeoJSON è un normale JSON con oggetti di tipo FeatureCollection. Ogni Feature contiene una geometria (punto, linea, poligono) e delle proprietà (properties) — i tag di OpenStreetMap: nome, tipo di oggetto, indirizzo e altri attributi.
Come collegarlo a Leaflet
Il modo più semplice per mostrare GeoJSON su una mappa web:
fetch('/data/moscow-buildings.geojson')
.then(r => r.json())
.then(data => L.geoJSON(data, {
style: { color: '#3388ff', weight: 1, fillOpacity: 0.3 }
}).addTo(map));
Stilizzazione in base alle proprietà
Il GeoJSON di osm2cdr.ru conserva i tag OSM: highway, building, amenity, natural e altri. Questo consente di stilizzare gli oggetti per tipo:
L.geoJSON(data, {
style: function(feature) {
if (feature.properties.building) return { color: '#e74c3c' };
if (feature.properties.natural === 'water') return { color: '#3498db' };
return { color: '#95a5a6' };
}
});
Ottimizzazione per grandi quantità di dati
GeoJSON funziona benissimo per aree piccole e medie (fino a 50 km²). Per territori estesi:
- GeoJSON-Seq — formato in streaming, il file viene caricato riga per riga.
- PMTiles — formato a tile cloud-native con visualizzazione istantanea di milioni di oggetti.
- Tile vettoriali — vengono caricati man mano che si naviga sulla mappa.
Strumenti per lavorare con GeoJSON
- geojson.io — editor online per visualizzare e modificare.
- Mapshaper — semplificazione della geometria e conversione.
- Turf.js — analisi spaziale direttamente nel browser.
- QGIS — un GIS completo per l'elaborazione complessa.