GeoJSON para mapas web: una guía
GeoJSON es el principal formato de intercambio de datos geográficos en la web. Todas las bibliotecas cartográficas populares (Leaflet, Mapbox GL JS, OpenLayers, deck.gl) admiten GeoJSON de forma nativa. Con osm2cdr.ru puedes exportar cualquier zona de OpenStreetMap a GeoJSON en segundos.
Estructura de GeoJSON
Un archivo GeoJSON es un JSON normal con objetos de tipo FeatureCollection. Cada Feature contiene una geometría (punto, línea, polígono) y propiedades (properties): las etiquetas de OpenStreetMap, como el nombre, el tipo de objeto, la dirección y otros atributos.
Cómo conectarlo a Leaflet
La forma más sencilla 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));
Estilizado según las propiedades
El GeoJSON de osm2cdr.ru conserva las etiquetas de OSM: highway, building, amenity, natural y otras. Esto permite estilizar los objetos según su 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' };
}
});
Optimización para grandes volúmenes de datos
GeoJSON funciona perfectamente para zonas pequeñas y medianas (hasta 50 km²). Para territorios extensos:
- GeoJSON-Seq — un formato de flujo; el archivo se carga línea a línea.
- PMTiles — un formato de teselas cloud-native que muestra al instante millones de objetos.
- Teselas vectoriales — se cargan a medida que navegas por el mapa.
Herramientas para trabajar con GeoJSON
- geojson.io — editor en línea para ver y modificar.
- Mapshaper — simplificación de la geometría y conversión.
- Turf.js — análisis espacial directamente en el navegador.
- QGIS — un GIS completo para el procesamiento complejo.