GeoJSON dla map webowych: przewodnik
GeoJSON to główny format wymiany geodanych w sieci. Wszystkie popularne biblioteki kartograficzne — Leaflet, Mapbox GL JS, OpenLayers, deck.gl — natywnie obsługują GeoJSON. Dzięki osm2cdr.com możesz wyeksportować dowolny obszar OpenStreetMap do GeoJSON w kilka sekund.
Struktura GeoJSON
Plik GeoJSON to zwykły JSON z obiektami typu FeatureCollection. Każdy Feature zawiera geometrię (punkt, linia, wielokąt) i właściwości (properties) — tagi OpenStreetMap: nazwę, typ obiektu, adres i inne atrybuty.
Jak podłączyć do Leaflet
Najprostszy sposób wyświetlenia GeoJSON na mapie webowej:
fetch('/data/moscow-buildings.geojson')
.then(r => r.json())
.then(data => L.geoJSON(data, {
style: { color: '#3388ff', weight: 1, fillOpacity: 0.3 }
}).addTo(map));
Stylizacja według właściwości
GeoJSON z osm2cdr.com zachowuje tagi OSM: highway, building, amenity, natural i inne. Pozwala to stylizować obiekty według typu:
L.geoJSON(data, {
style: function(feature) {
if (feature.properties.building) return { color: '#e74c3c' };
if (feature.properties.natural === 'water') return { color: '#3498db' };
return { color: '#95a5a6' };
}
});
Optymalizacja dla dużych danych
GeoJSON świetnie sprawdza się dla małych i średnich obszarów (do 50 km²). Dla dużych terytoriów:
- GeoJSON-Seq — format strumieniowy, plik ładuje się wiersz po wierszu.
- PMTiles — cloud-native format kafelkowy z natychmiastowym wyświetlaniem milionów obiektów.
- Kafelki wektorowe — doładowywane w miarę nawigacji po mapie.
Narzędzia do pracy z GeoJSON
- geojson.io — edytor online do podglądu i edycji.
- Mapshaper — upraszczanie geometrii i konwersja.
- Turf.js — analiza przestrzenna bezpośrednio w przeglądarce.
- QGIS — pełnoprawny GIS do złożonego przetwarzania.