OpenStreetMap (OSM) عبارة عن خريطة عالمية مجانية تم إنشاؤها بشكل تعاوني من قبل أشخاص في جميع أنحاء العالم - مجانية ومفتوحة ومستقلة. في حين أن خرائط Google، باعتبارها الشركة الرائدة في السوق، غالبًا ما تكون الخيار الأول للخرائط الرقمية، فإن OSM تعتمد على مبدأ مختلف تمامًا: مجتمع تعاوني يجمع البيانات الجغرافية ويحسنها ويجعلها متاحة مجانًا.
لماذا هذا مهم؟ لأن الخرائط هي المعرفة – والمعرفة يجب أن تكون مجانية. بالنسبة للتطبيقات الفردية، قد يكون من المفيد استضافة بيانات OSM بنفسك من أجل تطوير حلول خرائط مخصصة والاحتفاظ بالسيطرة على البيانات وعرضها. يوفر OSM المستضيف ذاتيًا العديد من المزايا:
- استقلال: أنت لا تعتمد على خدمات خارجية ولديك التحكم الكامل في بيانات البطاقة.
- القدرة على التكيف: يمكنك تخصيص نمط الخريطة والبيانات المعروضة وفقًا لاحتياجاتك الخاصة.
- حماية البيانات: يتم استضافة كافة البيانات محليًا. لا يتم استدعاء أي واجهات برمجة تطبيقات خارجية.
هناك طريقتان رئيسيتان لعرض الخرائط:
- بلاط الشبكة: ملفات صور معدة مسبقًا لمستويات تكبير مختلفة. من السهل تنفيذها ولكنها توفر مرونة أقل في تخصيص نمط الخريطة.
- بلاط المتجهات: تحتوي على بيانات جغرافية في شكل متجهات (نقاط، خطوط، مضلعات) يتم تقديمها من جانب العميل. يتيح هذا إجراء تعديلات مرنة على تصميم الخريطة وعرضًا حادًا عند جميع مستويات التكبير. ومع ذلك، يتطلب العرض المزيد من قوة الحوسبة على جهاز العميل.
تعتبر البلاطات المتجهة مناسبة بشكل خاص للاستضافة الذاتية لأنها توفر المزيد من خيارات التخصيص وتكون أكثر كفاءة. بالنسبة للخرائط الإقليمية ذات المناطق الأصغر، غالبًا ما تكون مساحة القرص الصلب البالغة 1 جيجابايت كافية. من المنطقي استخدام أقراص SSD لأنها توفر مزايا السرعة عند تحميل المربعات. لا تتطلب البلاطات المتجهة الثابتة خادم خرائط قيد التشغيل (على سبيل المثال TileServer GL أو Mapnik)، وتتمتع بمتطلبات صيانة أقل وحمل خادم أقل - وهي مثالية للمشاريع الأصغر ذات أقسام الخريطة الثابتة.
حقيبتي الصغيرة مساعد أوسم يسهل عملية إنشاء ونشر بلاطات المتجهات من .osm.pbfالملفات. تتيح المربعات المحددة المخصصة للمطورين استخراج مناطق جغرافية محددة وإنشاء ملفات نموذجية مطابقة يمكن تحميلها مباشرة إلى الخادم. وهذا يجعل دمج بيانات OSM في مشاريع الويب أسهل بكثير. لاستخدام osmhelper، هناك حاجة إلى بعض التحضيرات. تعتمد المكتبة على أدوات مثل الأوزميوم, مبوتيل و صانع البلاط التي يجب تثبيتها.
تركيب الأوزميوم
osmium هي أداة قوية لمعالجة بيانات OSM.
mkdir osmium
cd osmium
wget https://github.com/osmcode/osmium-tool/archive/refs/tags/v1.16.0.tar.gz
tar -xzf v1.16.0.tar.gz
cd osmium-tool-1.16.0
apt-get install libosmium2-dev libprotozero-dev nlohmann-json3-dev libboost-program-options-dev libbz2-dev zlib1g-dev liblz4-dev libexpat1-dev cmake pandoc
mkdir build
cd build
cmake ..
make
make install
cd ..
cd ..
rm -rf ./osmium
exec env -i HOME=$HOME bash -l
osmium --version
تثبيت mbutil
mbutil هي أداة تعتمد على Python للعمل مع MBTiles.
git clone https://github.com/mapbox/mbutil.git
cd mbutil
python setup.py install
cd ..
rm -rf ./mbutil
exec env -i HOME=$HOME bash -l
mb-util --version
تركيب صانع البلاط
Tilemaker هي أداة مفتوحة المصدر تعمل على تحويل بيانات OSM مباشرة إلى بلاطات متجهية.
apt install build-essential libboost-dev libboost-filesystem-dev libboost-program-options-dev libboost-system-dev lua5.1 liblua5.1-0-dev libshp-dev libsqlite3-dev rapidjson-dev
git clone https://github.com/systemed/tilemaker.git
cd tilemaker
make
make install
cd ..
rm -rf ./tilemaker
exec env -i HOME=$HOME bash -l
tilemaker --help
تنزيل نص التحويل
mkdir openstreetmap
cd openstreetmap
wget -O ./convert.sh https://raw.githubusercontent.com/vielhuber/osmhelper/refs/heads/master/convert.sh
chmod +x convert.sh
استخدام osmhelper
بعد تثبيت الأدوات المطلوبة، يمكن استخدام osmhelper لإنشاء مربعات متجهة وإعدادها للاستضافة:
./convert.sh \
--url https://download.geofabrik.de/europe/germany-latest.osm.pbf \
--lat-min 47.27 \
--lon-min 8.97 \
--lat-max 50.57 \
--lon-max 13.84 \
--compress
تتيح هذه العملية إمكانية تقديم أقسام خريطة مخصصة بكفاءة ودون الحاجة إلى خادم خرائط ديناميكي. قد يكون دمج بيانات OpenStreetMap في مشاريعك الخاصة معقدًا، خاصةً عندما يتعلق الأمر بالاستضافة والنشر. نظرًا لأن خرائط Google تتمتع باحتكار حلول الخرائط، فإن العديد من المطورين يبحثون عن بدائل. يجعل osmhelper من الأسهل البدء في استضافة بيانات OpenStreetMap الخاصة بك. يتيح لك هذا التحكم الكامل في خرائطك، وعدم وجود قيود على واجهة برمجة التطبيقات والقدرة على إضافة طبقات البيانات الخاصة بك.
يعرف معظم الأشخاص خرائط Google باعتبارها الحل القياسي للخرائط الرقمية. لكن قلة من الناس يعرفون أن OpenStreetMap يعد بديلاً رائعًا - بدون قيود تجارية أو تكاليف خفية. في حين أن خرائط Google تفرض رسومًا على استخدام واجهة برمجة التطبيقات وتجمع بيانات المستخدم، فإن OSM مجاني ومفتوح المصدر ومدعوم من قبل مجتمع عالمي. OSM هي ويكيبيديا عالم الخرائط - يمكن لأي شخص المساهمة وإضافة الطرق أو مسارات المشي أو نقاط الاهتمام وبالتالي تحسين خريطة العالم المجانية.