GeoJSON pentru hărți web: un ghid
GeoJSON este principalul format de schimb de geodate pe web. Toate bibliotecile cartografice populare — Leaflet, Mapbox GL JS, OpenLayers, deck.gl — susțin nativ GeoJSON. Cu osm2cdr.ru poți exporta orice zonă OpenStreetMap în GeoJSON în câteva secunde.
Structura GeoJSON
Un fișier GeoJSON este un JSON obișnuit cu obiecte de tip FeatureCollection. Fiecare Feature conține o geometrie (punct, linie, poligon) și proprietăți (properties) — etichetele OpenStreetMap: nume, tip de obiect, adresă și alte atribute.
Cum se conectează la Leaflet
Cel mai simplu mod de a afișa GeoJSON pe o hartă 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));
Stilizarea după proprietăți
GeoJSON din osm2cdr.ru păstrează etichetele OSM: highway, building, amenity, natural și altele. Acest lucru permite stilizarea obiectelor în funcție de tip:
L.geoJSON(data, {
style: function(feature) {
if (feature.properties.building) return { color: '#e74c3c' };
if (feature.properties.natural === 'water') return { color: '#3498db' };
return { color: '#95a5a6' };
}
});
Optimizarea pentru volume mari de date
GeoJSON funcționează excelent pentru zone mici și medii (până la 50 km²). Pentru teritorii mari:
- GeoJSON-Seq — un format de streaming, fișierul se încarcă linie cu linie.
- PMTiles — un format cloud-native de dale, cu afișarea instantanee a milioane de obiecte.
- Dale vectoriale — se încarcă pe măsură ce navighezi pe hartă.
Instrumente pentru lucrul cu GeoJSON
- geojson.io — un editor online pentru vizualizare și editare.
- Mapshaper — simplificarea geometriei și conversie.
- Turf.js — analiză spațială direct în browser.
- QGIS — un GIS complet pentru prelucrare complexă.