GeoJSON žiniatinklio žemėlapiams: vadovas

2026-03-02
geojsonleafletmapboxinterneto žemėlapiaijavascript

GeoJSON – pagrindinis geoduomenų mainų formatas žiniatinklyje. Visos populiarios kartografinės bibliotekos – Leaflet, Mapbox GL JS, OpenLayers, deck.gl – savaime palaiko GeoJSON. Su osm2cdr.ru galite eksportuoti bet kurią OpenStreetMap sritį į GeoJSON per kelias sekundes.

GeoJSON struktūra

GeoJSON failas – tai paprastas JSON su FeatureCollection tipo objektais. Kiekvienas Feature turi geometriją (taškas, linija, daugiakampis) ir savybes (properties) – OpenStreetMap žymas: pavadinimą, objekto tipą, adresą ir kitus atributus.

Kaip prijungti prie Leaflet

Paprasčiausias būdas parodyti GeoJSON žiniatinklio žemėlapyje:

fetch('/data/moscow-buildings.geojson')
  .then(r => r.json())
  .then(data => L.geoJSON(data, {
    style: { color: '#3388ff', weight: 1, fillOpacity: 0.3 }
  }).addTo(map));

Stilizavimas pagal savybes

GeoJSON iš osm2cdr.ru išsaugo OSM žymas: highway, building, amenity, natural ir kitas. Tai leidžia stilizuoti objektus pagal 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' };
  }
});

Optimizavimas dideliems duomenims

GeoJSON puikiai veikia mažoms ir vidutinėms sritims (iki 50 km²). Didelėms teritorijoms:

Įrankiai darbui su GeoJSON

← Visi vadovai