بناء على الموضوع الذي يحوي خريطة دمشق العربية بالتوجية الآلي للجارمن
هنا والتي قام بتوليدها الأخ المنتصر بالله، حاولت أن أكتشف طريقة لتحويل خريطة عربية من صيغة OSM إلى خريطة عربية مدعومة بالتوجيه الآلي للجارمن بصيغة IMG.
---------------------------------------
الأدوات اللازمة:
Global Mapper
ويمكن الحصول على النسخة 11.02 من
هنا
cGPSmapper
ويمكن الحصول على النسخة v0099b التي تدعم التوجيه من
هنا
GPSMapEdit
ويمكن الحصول عليه من موقع البرنامج
هنا، وأنوه أنه لا حاجة مبدئياً لنسخة مسجلة. وتوجد آخر نسخة مكركة تدعم خرائط جوجل
هنا، لكنها أصبحت قديمة.
---------------------------------------
الخطوات:
1) نستخدم البرنامج Global Mapper لتحويل الملف من صيغة OSM إلى صيغة بولش مابر MP.
2) نفتح الملف MP باستخدام GPSMapEdit ونعدل ترميز الخريطة Code page إلى 1256 (ANSI - Arabic) وهو ترميز اللغة العربية، ويوجد هذا الخيار ضمن خصائص الخريطة والتي يمكن الوصول لها عن طريق File -> Map Properties.
3) ضمن خصائص الخريطة التي فتحناها في الخطوة السابقة نذهب إلى cGpsMapper ونضع صح على:
Enable MG (search for intersections)
Enable house/street numbering
Enable automatic routing
وآخر خيار هو أهم شيء.
4) نقوم بتوليد معلومات التوجيه باستخدام GPSMapEdit وذلك عن طريق Tools -> Generate Routing Graph -> Using Coinciding Points of Polylines.
5) نقوم بالتأكد من عدم وجود أخطاء متعلقة بالتوجيه ضمن الخريطة وذلك عن طريق Tools -> Verify Map. لن نركز هنا على الأخطاء الأخرى لأنه يمكن التسامح معها عند بناء الخريطة، أما الأخطاء المتعلقة بالتوجيه فلا يمكن بناء خريطة قابلة للتوجيه قبل تصحيحها.
في النسخ الحديثة من GPSMapEdit سنجد في النافذة Verify Map مجموعة من الخيارات مقسمة حسب الفئة، نختار فقط كل شي يندرج تحت Routing graph.
أما إذا كنا نستخدم نسخ أقدم من GPSMapEdit فسنقوم بتحديد جميع الخيارات ما عدا الخيارين:
Check polygons for overlapping
Check polygons for self-intersections
نضغط على Start لتبدأ عملية التحقق من الخريطة، ومن ثم ستظهر قائمة الأخطاء. الآن بالضغط على أي خطأ، سينقلنا البرنامج إلى مكانه.
6) طريقة اكتشافي للحلول كانت بالمقارنة اليدوية مع خريطة المنتصر بالله بعد تحويلها من IMG إلى MP ومن ثم توليد معلومات التوجيه باستخدام GPSMapEdit (سنحتاج للإختصار Ctrl+G لتسهيل الإنتقال إلى نفس إحداثيات موقع ما في الخريطتين).
وقد لاحظت أن الدوارات والأشكال المغلقة (حيث بداية الشكل هي نفسها نهايته) تعاني من مشكلة Road intersects itself at node أو Duplicated nodes، وتحل بعملية قسم الخط إلى جزئين Split Polyline. يتم ذلك باختيار وضع تحرير النقاط Tools->Edit Points، ثم اختيار أحد النقاط وباليمين نختار Split Polyline.
أيضا وجدت أن بعض الشوارع تعاني من نفس المشكلتين السابقتين، وذلك بسبب أن الشارع مرسوم خطأ مرتين.
سنجد أيضا بعض الأشكال المغلقة التي تمثل مباني قد تعاني من نفس المشكلتين السابقتين (Road intersects itself at node و Duplicated nodes)، وذلك لأن أضلاع الشكل مرسومة كطريق. هذا خطأ، ويجب تحويل الشكل إلى مضلع وذلك بالضغط بزر الفأرة الأيمن واختيار Modify -> Kind -> Convert to polygon.
هنا أريد أن أنوه إخواني إلى أنكم إذا وجدتم خطأ في الخريطة كأن يكون الطريق فعلاً متقاطع مع نفسه أو أن شكل ما مرسوم كطريق فيا حبذا لو تصححوا الخطأ على خريطة OpenStreetMap إما من الموقع أو باستخدام الأداة JOSM، وبذلك تزيلوا الخطأ من أساسه.
7) نقوم الآن ضمن البرنامج GPSMapEdit بتصدير الخريطة إلى الصيغة IMG، وهذا يتم باستخدام cGPSmapper وذلك عن طريق File -> Export -> Garmin IMG / cgpsmapper.exe.
نحدد مسار الملف cgpsmapper.exe ثم نضغط على Run. هنا ستبدأ عملية توليد خريطة من نوع IMG، وقد يتوقف البرنامج بسبب خطأ ما في الخريطة. الآن بالضغط على سطر الخطأ ستظهر لنا نافذة تحوى مكان الخطأ ضمن الملف MP (والذي هو أساسا ملف نصي). تكمن الفائدة من رؤية الكود في معرفة معلومات مثل RoadID للطريق الذي يقع ضمنه الخطأ، وعندها يمكننا الوصول لذلك الطريق كالتالي Edit -> Find -> Road by RoadID.
8) في النهاية وبعد الحصول على الملف IMG، يمكن تجريب عملية التوجيه الآلي عن طريق تثبيت الخريطة على MapSource باستخدام الأداة MapSetToolKit.
---------------------------------------
أرجوا أن يكون هذا شرح مبسط لإحدى طرق تحويل خريطة OSM إلى خريطة IMG للجارمن بحيث تدعم اللغة العربية والتوجيه الآلي.
لا تنسونا إخواني من دعوة صالحة. نفع الله بنا وبكم الإسلام والمسلمين.
والسلام عليكم ورحمه الله وبركاته.