Files
maps-saas/docs/PLACE_GATES_COVERAGE_AR.md
T

6.2 KiB

أبواب ومداخل المنشآت: المصدر والتغطية والتشغيل

آخر تحديث: 29 أيلول 2026 المصدر المطبق: عقد مداخل وبوابات OpenStreetMap ذات الإحداثيات والوسوم الأصلية.

الحالة الحالية على الخادم

استوردت المزامنة 1,439 نقطة مدخل/بوابة مصدرية وربطتها بـ 389 منشأة مسماة عبر حدود مضلعات OSM، في الدول الإحدى عشرة. كل نقطة في جدول الخدمة تقابل عقدة OSM فعلية، وتحفظ معرّف العقدة والوسوم الأصلية ورابط المصدر وآخر وقت رصد. لا يحسب البرنامج إحداثيات حول مركز المنشأة.

الدولة نقاط الأبواب/المداخل منها رئيسي معلّم صراحةً
الإمارات 309 42
البحرين 41 2
مصر 644 16
العراق 65 7
الأردن 24 3
الكويت 44 5
عُمان 41 2
قطر 66 2
السعودية 175 5
سوريا 21 1
اليمن 9 0
المجموع 1,439 85

تشمل المنشآت المضلعات المسماة الموسومة كمستشفى أو عيادة أو مول أو مكتب حكومي أو مبنى حكومي أو دار بلدية أو محكمة. المستشفيات هنا ليست مصنفة حكومية/خاصة إلا إذا كانت بيانات OSM نفسها تثبت ذلك. تغطية اليمن وسوريا والأردن قليلة مقارنة ببقية الدول؛ هذه الأعداد تقيس ما وجدته بيانات OSM في نسخة الخريطة على الخادم، ولا تعني اكتمال الواقع.

كيف تُحدد أنواع الأبواب؟

  • entrance=main وحدها تضع is_main_gate=true وgate_type=main. تؤخذ أيضًا علامة routing:entrance كدليل على نقطة وصول مخصصة للملاحة، مع حفظها كما هي.
  • entrance=secondary/service/emergency/parking تبقى بهذه الصفة عند وجودها صراحةً في المصدر.
  • barrier=gate أو entrance=yes بلا تصنيف صريح يعرض كـ«بوابة» أو «مدخل»، ولا يُسمى رئيسيًا.
  • تستبعد النقاط الخاصة أو الممنوعة (access=private/no) من واجهة المداخل العامة.
  • لا تُربط العقدة بمنشأة إلا إذا وقعت هندستها داخل مضلع منشأة OSM مسماة ومؤهلة، ولم تتطابق مع أكثر من منشأة مختلفة. لا يستخدم السكربت أقرب مركز أو إزاحة تقديرية.

تشرح مواصفات OSM معنى وسم entrance، بما فيه main وsecondary وservice، ومعنى وسم barrier=gate، ووسم routing:entrance الذي يحدد نقطة وصول مفضلة للملاحة. تبقى الوسوم كما وردت في source_tags ليتسنى للعميل معرفة الدليل الأصلي.

إتاحة البيانات عبر API

يظهر حقل gates في نتيجة البحث، كما تتوفر واجهة مخصصة:

GET /api/geocoding/places/{placeId}/gates
x-api-key: <مفتاح العميل>

تعيد الواجهة معرّف المكان، والإحداثيات، والاسم العربي/الإنجليزي، ونوع المدخل، وإمكانية الوصول عند توفرها، وحقل is_main_gate، ومصدر البيانات، ومعرّف عقدة OSM، والوسوم الأصلية، ورابط العقدة، ووقت آخر رصد. تتضمن الاستجابة إسناد © OpenStreetMap contributors.

التشغيل والتحديث

  • مهمة تحديث بيانات الخريطة على الخادم تعمل كل عشرة أيام وتشغّل infrastructure/scripts/update-data.sh.
  • بعد تحديث PBF وبناء أسماء الأماكن للدول الإحدى عشرة، يشغّل التحديث scripts/sync_osm_place_gates.py على ملف master_map.osm.pbf نفسه؛ ثم يمسح ذاكرة البحث.
  • يستخرج السكربت وسوم الأبواب من PBF الخام لأن استيراد osm2pgsql الحالي لا يحتفظ بحقل entrance في أعمدة PostGIS القياسية.
  • يستبدل السكربت صفوف OSM المصدرية عند كل مزامنة، ويحفظ الصفوف القديمة مجهولة المصدر في place_gates_unverified_archive_20260929 خارج جدول الخدمة. يحتوي الأرشيف على 57,381 صفًا سابقًا. لا تُحذف نسخة الأرشيف من هذا التشغيل.
  • أزيل استدعاء مولّد الإحداثيات التقديرية من مزامنة الأماكن نصف الشهرية، وحُوّل scripts/populate_place_gates.py إلى مدخل توافق يتطلب ملف PBF ويستدعي المزامنة المصدرية.

حدود التغطية ومصادر أخرى

المصدر المستخدم في المزامنة هو OSM. معالم Overture المسماة تساعد على البحث، لكن هذا المسار لا يقرأ منها نقاط أبواب. إذا أضاف مصدر مستقبلي نقاط أبواب مستقلة وموثقة، ينبغي حفظ مصدره ومعرّفه ووسومه بالطريقة نفسها، مع إبقاء بيانات المصدر منفصلة وقابلة للتتبع.

لا تتوافر حاليًا دلالة كافية لتصنيف معظم البوابات كبوابة إسعاف أو مواقف أو بوابة احتياطية. لذلك لا يعرض النظام هذه التسميات إلا عندما تكون ممثلة صراحةً في وسوم المصدر. رفع التغطية يتطلب تحسين بيانات OSM ميدانيًا أو استخدام مصدر رسمي موثق، ثم سيظهر في المزامنة التالية.