GeoJSON per a mapes web: una guia
GeoJSON és el principal format d'intercanvi de geodades al web. Totes les biblioteques cartogràfiques populars — Leaflet, Mapbox GL JS, OpenLayers, deck.gl— admeten GeoJSON de manera nativa. Amb osm2cdr.ru pots exportar qualsevol àrea d'OpenStreetMap a GeoJSON en segons.
Estructura del GeoJSON
Un fitxer GeoJSON és un JSON normal amb objectes de tipus FeatureCollection. Cada Feature conté una geometria (punt, línia, polígon) i propietats (properties): les etiquetes d'OpenStreetMap com el nom, el tipus d'objecte, l'adreça i altres atributs.
Com connectar-lo a Leaflet
La manera més senzilla de mostrar GeoJSON en un mapa 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));
Estil segons les propietats
El GeoJSON d'osm2cdr.ru conserva les etiquetes d'OSM: highway, building, amenity, natural i d'altres. Això permet aplicar estil als objectes segons el seu tipus:
L.geoJSON(data, {
style: function(feature) {
if (feature.properties.building) return { color: '#e74c3c' };
if (feature.properties.natural === 'water') return { color: '#3498db' };
return { color: '#95a5a6' };
}
});
Optimització per a grans volums de dades
GeoJSON funciona molt bé per a àrees petites i mitjanes (fins a 50 km²). Per a territoris grans:
- GeoJSON-Seq — un format de flux; el fitxer es carrega línia a línia.
- PMTiles — un format de tessel·les cloud-native que mostra milions d'objectes a l'instant.
- Tessel·les vectorials — es carreguen a mesura que es navega pel mapa.
Eines per treballar amb GeoJSON
- geojson.io — un editor en línia per visualitzar i editar.
- Mapshaper — simplificació de geometries i conversió.
- Turf.js — anàlisi espacial directament al navegador.
- QGIS — un SIG complet per al processament complex.