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 რთული დამუშავებისთვის.