1ما هو OpenStreetMap؟
مشروع لبناء خريطة حرة للعالم يحررها متطوعون، وتدير بنيته مؤسسة OpenStreetMap. كل عنصر فيه (طريق، مبنى، مستشفى) مخزّن مع وسوم (Tags) بصيغة مفتاح=قيمة، مثل highway=primary أو amenity=hospital.
| طريقة الحصول على البيانات | متى تستخدمها |
|---|---|
| Overpass API / Overpass Turbo | عناصر محددة لمنطقة محددة (مثل الطرق الرئيسية لمدينة واحدة فقط) — الطريقة المستخدمة في بيانات الكتيب |
| إضافة QuickOSM في QGIS | نفس Overpass لكن من داخل QGIS مباشرة |
| Geofabrik | كل البيانات لدولة أو منطقة كاملة |
| XYZ Tiles | خريطة أساسية للعرض فقط (صورة، لا بيانات) |
2وسوم الطرق
مفتاح highway يصنّف الطرق من الأعلى أهمية إلى الأدنى:
| القيمة | المعنى | مثال نموذجي |
|---|---|---|
motorway | طريق سريع | طرق سريعة بين المدن والطرق الدائرية |
trunk | طريق رئيسي شرياني | المحاور الكبرى عبر المدينة |
primary | طريق رئيسي | الشوارع الرئيسية بين الأحياء |
secondary · tertiary | طرق ثانوية وفرعية | شوارع تجميعية |
residential · service | شوارع سكنية وخدمية | داخل الأحياء |
*_link | وصلات ومنحدرات | مداخل ومخارج الطرق السريعة |
وسوم إضافية مفيدة: name، name:ar، name:en، ref (رقم الطريق)، oneway، lanes (عدد المسارات)، maxspeed.
قواعد التصنيف تختلف قليلًا من دولة لأخرى، ولكثير من الدول صفحة في ويكي OSM تشرح أعرافها. تحقق بصريًا من تصنيف الطرق في منطقتك قبل بناء تحليل عليه.
3الاستخراج عبر Overpass Turbo
- افتح overpass-turbo.eu والصق الاستعلام في المحرر يسارًا.
- اضغط Run (أو Ctrl+Enter). ستظهر النتائج على الخريطة يمينًا.
- اضغط Export واختر GeoJSON لتنزيل الملف.
- زر Wizard (Ctrl+I) يبني استعلامًا من كلمات بسيطة مثل
highway=primary in Cairo.
استعلام للمنطقة الظاهرة على الخريطة
[out:json][timeout:90];
// الطرق من السريعة حتى tertiary داخل المنطقة الظاهرة على الخريطة
way["highway"~"^(motorway|trunk|primary|secondary|tertiary)(_link)?$"]({{bbox}});
out geom;حرّك الخريطة في Overpass Turbo إلى مدينتك ثم شغّل الاستعلام؛ {{bbox}} تُستبدل تلقائيًا بحدود العرض الحالي. هذا هو نفس نوع الاستعلام الذي أنتج طبقة الطرق في بيانات التدريب.
خارج Overpass Turbo (في سكربت أو QuickOSM) اكتب المستطيل بالأرقام بترتيب جنوب، غرب، شمال، شرق (عرض ثم طول)، مثل (S,W,N,E).
استعلام باسم المدينة
[out:json][timeout:180];
{{geocodeArea:اسم المدينة}}->.a;
way["highway"~"^(motorway|trunk|primary)(_link)?$"](area.a);
out geom;{{geocodeArea:…}} تعمل في Overpass Turbo فقط، وتبحث عن الاسم وتأخذ أول نتيجة؛ قد تعيد إقليمًا إداريًا أكبر يحمل نفس الاسم بدل المدينة، فتحقق من النتيجة على الخريطة.
مثال آخر: المستشفيات
[out:json][timeout:120];
nwr["amenity"="hospital"]({{bbox}});
out center;nwr تعني نقاط وخطوط وعلاقات معًا (بعض المستشفيات مرسومة كمضلع مبنى)، وout center تحوّلها كلها إلى نقاط.
4الاستخراج من QGIS بإضافة QuickOSM
- Plugins › Manage and Install Plugins وثبّت QuickOSM (يتطلب QGIS 3.40 أو أحدث).
- افتح Vector › QuickOSM › QuickOSM….
- في تبويب Quick query: Key =
highway، Value =primary. أضف صفوفًا أخرى لـ motorway وtrunk. - اختر In واكتب اسم المدينة، أو Canvas Extent لاستخدام المنطقة الظاهرة على الخريطة.
- اضغط Run query؛ ستُضاف الطبقات مباشرة إلى المشروع.
تبويب Query يقبل استعلامات Overpass كاملة مثل الأمثلة أعلاه. الطبقات الناتجة مؤقتة؛ احفظها بـ Export › Save Features As إلى GeoPackage.
الطريقة الثالثة: سكربت Python يرسل الاستعلام إلى Overpass ويحفظ GeoJSON؛ وهي المستخدمة في scripts/fetch_roads.py في مجلد الكتيب.
5الرخصة والإسناد
بيانات OSM مرخّصة بـ رخصة قاعدة البيانات المفتوحة ODbL 1.0:
- الإسناد إلزامي على كل خريطة أو تطبيق أو مستند يستخدم البيانات، بجانب الخريطة أو مع بقية الإسنادات.
- المشاركة بالمثل: إذا نشرت قاعدة بيانات معدّلة مشتقة من OSM فيجب نشرها بنفس الرخصة. الخرائط المرسومة (صور، PDF) يمكن نشرها بأي رخصة مع الإسناد.
- الاستخدام التجاري مسموح.
هذه هي الصيغة المستخدمة في الكتيب وبيانات التدريب: «© مساهمو OpenStreetMap (ODbL)».
6حدود الاستخدام وسياسة البلاطات
Overpass API العام
- يديره متطوعون؛ لا تتجاوز نحو 10,000 طلب و1 GB يوميًا.
- المهلة الافتراضية 180 ثانية، والذاكرة 512 MiB. الاستعلامات الكبيرة جدًا تفشل؛ قسّم المنطقة أو استخدم Geofabrik.
- الخطأ 429 يعني طلبات كثيرة (انتظر)، و504 يعني ضغطًا على الخادم (أعد المحاولة لاحقًا).
بلاطات الخريطة (XYZ Tiles)
- مسموح استخدام
tile.openstreetmap.orgكخلفية للعرض في QGIS مع إظهار الإسناد. - ممنوع التنزيل الجماعي للبلاطات أو تجهيزها للاستخدام دون اتصال.
- لا ضمان للخدمة، وقد يُحظر الاستخدام المفرط دون إنذار.
7نصائح وقيود
- اكتمال البيانات يختلف من مكان لآخر؛ الطرق الرئيسية في المدن الكبرى مكتملة غالبًا، أما الأحياء الجديدة والمناطق الريفية فقد تكون ناقصة.
- استخدم
out geom;للحصول على الخطوط كاملة جاهزة للتصدير، لاout;وحدها. - قبل تحليل الشبكات (أقصر مسار)، افحص اتصال الطرق عند التقاطعات (الفصل 7 من الكتيب).
- إذا وجدت خطأ في الخريطة يمكنك تصحيحه بنفسك بعد إنشاء حساب في openstreetmap.org؛ هكذا تتحسن البيانات للجميع.
8روابط مهمة
- OpenStreetMapwww.openstreetmap.org/
- Overpass Turbooverpass-turbo.eu/
- وسوم الطرق (ويكي)wiki.openstreetmap.org/wiki/Key:highway
- إرشادات الإسنادosmfoundation.org/wiki/Licence/Attribution_Guidelines
- سياسة البلاطاتoperations.osmfoundation.org/policies/tiles/
- إضافة QuickOSMplugins.qgis.org/plugins/QuickOSM/