GeoJSON για web χάρτες: ένας οδηγός
Το GeoJSON είναι η κύρια μορφή ανταλλαγής γεωδεδομένων στο web. Όλες οι δημοφιλείς χαρτογραφικές βιβλιοθήκες — Leaflet, Mapbox GL JS, OpenLayers, deck.gl — υποστηρίζουν εγγενώς το GeoJSON. Με το osm2cdr.ru μπορείτε να εξαγάγετε οποιαδήποτε περιοχή του OpenStreetMap σε GeoJSON μέσα σε δευτερόλεπτα.
Δομή του GeoJSON
Το αρχείο GeoJSON είναι ένα απλό JSON με αντικείμενα τύπου FeatureCollection. Κάθε Feature περιέχει γεωμετρία (σημείο, γραμμή, πολύγωνο) και ιδιότητες (properties) — ετικέτες OpenStreetMap: όνομα, τύπο αντικειμένου, διεύθυνση και άλλα χαρακτηριστικά.
Πώς να το συνδέσετε με το Leaflet
Ο απλούστερος τρόπος για να εμφανίσετε GeoJSON σε έναν web χάρτη:
fetch('/data/moscow-buildings.geojson')
.then(r => r.json())
.then(data => L.geoJSON(data, {
style: { color: '#3388ff', weight: 1, fillOpacity: 0.3 }
}).addTo(map));
Στυλιζάρισμα βάσει ιδιοτήτων
Το GeoJSON από το osm2cdr.ru διατηρεί τις ετικέτες του 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 km²). Για μεγάλες περιοχές:
- GeoJSON-Seq — μορφή ροής, το αρχείο φορτώνεται γραμμή προς γραμμή.
- PMTiles — cloud-native μορφή πλακιδίων με άμεση εμφάνιση εκατομμυρίων αντικειμένων.
- Διανυσματικά πλακίδια — φορτώνονται καθώς πλοηγείστε στον χάρτη.
Εργαλεία για την εργασία με GeoJSON
- geojson.io — online επεξεργαστής για προβολή και επεξεργασία.
- Mapshaper — απλοποίηση γεωμετρίας και μετατροπή.
- Turf.js — χωρική ανάλυση απευθείας στο πρόγραμμα περιήγησης.
- QGIS — ολοκληρωμένο GIS για πολύπλοκη επεξεργασία.