GeoJSON-ը վեբ-քարտեզների համար. ուղեցույց
GeoJSON-ը գեոտվյալների փոխանակման գլխավոր ֆորմատն է վեբում: Բոլոր հանրաճանաչ քարտեզագրական գրադարանները՝ Leaflet, Mapbox GL JS, OpenLayers, deck.gl — ուղղակիորեն աջակցում են GeoJSON-ին: osm2cdr.com-ով դուք կարող եք արտահանել OpenStreetMap-ի ցանկացած տարածք GeoJSON-ով վայրկյանների ընթացքում:
GeoJSON-ի կառուցվածքը
GeoJSON ֆայլը սովորական JSON է FeatureCollection տիպի օբյեկտներով: Յուրաքանչյուր Feature պարունակում է երկրաչափություն (կետ, գիծ, բազմանկյուն) և հատկություններ (properties)՝ OpenStreetMap-ի պիտակները՝ անվանում, օբյեկտի տիպ, հասցե և այլ հատկանիշներ:
Ինչպես միացնել Leaflet-ին
GeoJSON-ը վեբ-քարտեզի վրա ցույց տալու ամենապարզ եղանակը՝
fetch('/data/moscow-buildings.geojson')
.then(r => r.json())
.then(data => L.geoJSON(data, {
style: { color: '#3388ff', weight: 1, fillOpacity: 0.3 }
}).addTo(map));
Ոճավորում ըստ հատկությունների
osm2cdr.com-ից ստացված GeoJSON-ը պահպանում է OSM-պիտակները՝ highway, building, amenity, natural և այլն: Սա թույլ է տալիս ոճավորել օբյեկտներն ըստ տիպի՝
L.geoJSON(data, {
style: function(feature) {
if (feature.properties.building) return { color: '#e74c3c' };
if (feature.properties.natural === 'water') return { color: '#3498db' };
return { color: '#95a5a6' };
}
});
Օպտիմիզացիա մեծ տվյալների համար
GeoJSON-ը հիանալի աշխատում է փոքր և միջին տարածքների համար (մինչև 50 կմ²): Մեծ տարածքների համար՝
- GeoJSON-Seq — հոսքային ֆորմատ, ֆայլը բեռնվում է տողառ տող:
- PMTiles — cloud-native սալիկային ֆորմատ՝ միլիոնավոր օբյեկտների ակնթարթային ցուցադրմամբ:
- Վեկտորային սալիկներ — բեռնվում են քարտեզով նավիգացիայի ընթացքում:
GeoJSON-ի հետ աշխատելու գործիքներ
- geojson.io — առցանց խմբագիր դիտման և խմբագրման համար:
- Mapshaper — երկրաչափության պարզեցում և փոխարկում:
- Turf.js — տարածական վերլուծություն անմիջապես բրաուզերում:
- QGIS — լիարժեք GIS բարդ մշակման համար: