GeoJSON لخرائط الويب: دليل
2026-03-02
GeoJSON الصيغة الرئيسية لتبادل البيانات الجغرافية على الويب. تدعم جميع مكتبات الخرائط الشائعة — Leaflet، Mapbox GL JS، OpenLayers، deck.gl — صيغة GeoJSON أصلياً. وبفضل osm2cdr.ru يمكنك تصدير أي منطقة من 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));
التنسيق حسب الخصائص
يحفظ 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 كم²). أما للمساحات الكبيرة:
- GeoJSON-Seq — صيغة متدفّقة، يُحمَّل الملف سطراً بسطر.
- PMTiles — صيغة بلاطات سحابية أصلية بعرض فوري لملايين العناصر.
- البلاطات المتجهة — تُحمَّل تدريجياً أثناء التنقّل في الخريطة.
أدوات للعمل مع GeoJSON
- geojson.io — محرّر عبر الإنترنت للعرض والتحرير.
- Mapshaper — تبسيط الهندسة والتحويل.
- Turf.js — تحليل مكاني مباشرةً في المتصفح.
- QGIS — نظام GIS متكامل للمعالجة المعقّدة.