GeoJSON webes térképekhez: útmutató
A GeoJSON a geoadatok cseréjének fő formátuma a weben. Minden népszerű térképészeti könyvtár — Leaflet, Mapbox GL JS, OpenLayers, deck.gl — natívan támogatja a GeoJSON-t. Az osm2cdr.ru segítségével másodpercek alatt exportálhat bármely OpenStreetMap-területet GeoJSON formátumba.
A GeoJSON szerkezete
A GeoJSON-fájl egy közönséges JSON, FeatureCollection típusú objektumokkal. Minden Feature tartalmaz egy geometriát (pont, vonal, sokszög) és tulajdonságokat (properties) — az OpenStreetMap címkéit: nevet, objektumtípust, címet és további attribútumokat.
Hogyan kösse össze a Leaflettel
A legegyszerűbb módja a GeoJSON megjelenítésének egy webes térképen:
fetch('/data/moscow-buildings.geojson')
.then(r => r.json())
.then(data => L.geoJSON(data, {
style: { color: '#3388ff', weight: 1, fillOpacity: 0.3 }
}).addTo(map));
Stílusozás a tulajdonságok alapján
Az osm2cdr.ru-ból származó GeoJSON megőrzi az OSM-címkéket: highway, building, amenity, natural és egyebek. Ez lehetővé teszi az objektumok típus szerinti stílusozását:
L.geoJSON(data, {
style: function(feature) {
if (feature.properties.building) return { color: '#e74c3c' };
if (feature.properties.natural === 'water') return { color: '#3498db' };
return { color: '#95a5a6' };
}
});
Optimalizálás nagy adatmennyiséghez
A GeoJSON kiválóan működik kis és közepes területekhez (akár 50 km²). Nagy területekhez:
- GeoJSON-Seq — folyamszerű formátum, a fájl soronként töltődik be.
- PMTiles — felhőnatív csempés formátum több millió objektum azonnali megjelenítésével.
- Vektorcsempék — a térképen való navigálás közben töltődnek be.
Eszközök a GeoJSON-nal való munkához
- geojson.io — online szerkesztő megtekintéshez és szerkesztéshez.
- Mapshaper — geometria-egyszerűsítés és konvertálás.
- Turf.js — térbeli elemzés közvetlenül a böngészőben.
- QGIS — teljes értékű GIS az összetett feldolgozáshoz.