GeoJSON para mapas web: um guia
O GeoJSON é o principal formato de troca de geodados na web. Todas as bibliotecas cartográficas populares — Leaflet, Mapbox GL JS, OpenLayers, deck.gl — suportam GeoJSON de forma nativa. Com o osm2cdr.ru, pode exportar qualquer área do OpenStreetMap para GeoJSON em segundos.
Estrutura do GeoJSON
Um ficheiro GeoJSON é um JSON comum com objetos do tipo FeatureCollection. Cada Feature contém uma geometria (ponto, linha, polígono) e propriedades (properties) — etiquetas do OpenStreetMap: nome, tipo de objeto, endereço e outros atributos.
Como ligar ao Leaflet
A forma mais simples de mostrar GeoJSON num 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));
Estilização por propriedades
O GeoJSON do osm2cdr.ru preserva as etiquetas OSM: highway, building, amenity, natural e outras. Isto permite estilizar os objetos por 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' };
}
});
Otimização para grandes volumes de dados
O GeoJSON funciona muito bem para áreas pequenas e médias (até 50 km²). Para territórios maiores:
- GeoJSON-Seq — formato de streaming, o ficheiro é carregado linha a linha.
- PMTiles — formato de tiles cloud-native com exibição instantânea de milhões de objetos.
- Tiles vetoriais — carregados à medida que se navega pelo mapa.
Ferramentas para trabalhar com GeoJSON
- geojson.io — editor online para visualizar e editar.
- Mapshaper — simplificação de geometria e conversão.
- Turf.js — análise espacial diretamente no navegador.
- QGIS — SIG completo para processamento avançado.