ओपनस्ट्रीटमैप (ओएसएम) एक मुक्त विश्व मानचित्र है जिसे विश्व भर के लोगों द्वारा सहयोगात्मक रूप से बनाया गया है - मुक्त, खुला और स्वतंत्र। जबकि बाजार में अग्रणी गूगल मैप्स, डिजिटल मानचित्रों के लिए अक्सर पहली पसंद होता है, ओएसएम एक पूरी तरह से अलग सिद्धांत पर निर्भर करता है: एक सहयोगी समुदाय जो भौगोलिक डेटा एकत्र करता है, उसमें सुधार करता है और उसे निःशुल्क उपलब्ध कराता है।
यह महत्वपूर्ण क्यों है? क्योंकि मानचित्र ज्ञान हैं - और ज्ञान निःशुल्क होना चाहिए। व्यक्तिगत अनुप्रयोगों के लिए, अनुकूलित मानचित्र समाधान विकसित करने तथा डेटा और उसकी प्रस्तुति पर नियंत्रण बनाए रखने के लिए OSM डेटा को स्वयं होस्ट करना उपयोगी हो सकता है। स्व-होस्टिंग OSM कई लाभ प्रदान करता है:
- स्वतंत्रता: आप बाहरी सेवाओं पर निर्भर नहीं हैं और कार्ड डेटा पर आपका पूर्ण नियंत्रण है।
- अनुकूलन क्षमता: आप मानचित्र की शैली और प्रदर्शित डेटा को अपनी आवश्यकताओं के अनुसार अनुकूलित कर सकते हैं।
- डेटा सुरक्षा: सभी डेटा स्थानीय रूप से होस्ट किया जाता है। कोई बाहरी API नहीं बुलाया जाता.
मानचित्र प्रदर्शित करने के दो मुख्य तरीके हैं:
- ग्रिड टाइल्स: विभिन्न ज़ूम स्तरों के लिए पूर्व-निर्मित छवि फ़ाइलें। इन्हें क्रियान्वित करना आसान है, लेकिन मानचित्र शैली को अनुकूलित करने में लचीलापन कम होता है।
- वेक्टर टाइल्स: इसमें भौगोलिक डेटा वेक्टर (बिंदु, रेखा, बहुभुज) के रूप में होता है, जो क्लाइंट-साइड पर प्रस्तुत किया जाता है। इससे मानचित्र डिजाइन में लचीले समायोजन और सभी ज़ूम स्तरों पर स्पष्ट प्रदर्शन की सुविधा मिलती है। हालाँकि, रेंडरिंग के लिए क्लाइंट डिवाइस पर अधिक कंप्यूटिंग शक्ति की आवश्यकता होती है।
वेक्टर टाइल्स विशेष रूप से स्व-होस्टिंग के लिए उपयुक्त हैं क्योंकि वे अधिक अनुकूलन विकल्प प्रदान करते हैं और अधिक कुशल होते हैं। छोटे क्षेत्र वाले क्षेत्रीय मानचित्रों के लिए, ~1 जीबी हार्ड डिस्क स्थान अक्सर पर्याप्त होता है। SSD का उपयोग करना उचित है क्योंकि वे टाइल्स लोड करते समय गति संबंधी लाभ प्रदान करते हैं। स्थैतिक वेक्टर टाइल्स को चालू मानचित्र सर्वर (जैसे टाइलसर्वर जीएल या मैपनिक) की आवश्यकता नहीं होती है, इनके रखरखाव की आवश्यकता कम होती है और सर्वर लोड भी कम होता है - ये निश्चित मानचित्र खंडों वाले छोटे प्रोजेक्टों के लिए आदर्श होते हैं।
मेरा छोटा सा पैकेज ऑसमहेल्पर वेक्टर टाइल्स बनाने और तैनात करने की प्रक्रिया को सुविधाजनक बनाता है .osm.pbf
फ़ाइलें. कस्टम बाउंडिंग बॉक्स डेवलपर्स को विशिष्ट भौगोलिक क्षेत्रों को निकालने और मेल खाने वाली बॉयलरप्लेट फाइलें बनाने की अनुमति देते हैं जिन्हें सीधे सर्वर पर अपलोड किया जा सकता है। इससे वेब परियोजनाओं में OSM डेटा का एकीकरण बहुत आसान हो जाता है। ऑस्महेल्पर का उपयोग करने के लिए कुछ तैयारी आवश्यक है। यह लाइब्रेरी निम्नलिखित उपकरणों पर आधारित है: आज़मियम, एमबूटिल तथा टाइल निर्माता जिसे स्थापित किया जाना चाहिए.
ऑस्मियम की स्थापना
ओस्मियम 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, 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
टाइलमेकर की स्थापना
टाइलमेकर एक ओपन सोर्स टूल है जो ओएसएम डेटा को सीधे वेक्टर टाइल्स में परिवर्तित करता है।
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 का उपयोग वेक्टर टाइल्स उत्पन्न करने और उन्हें होस्टिंग के लिए तैयार करने के लिए किया जा सकता है:
./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
इस प्रक्रिया से अनुकूलित मानचित्र खंडों को कुशलतापूर्वक और गतिशील मानचित्र सर्वर की आवश्यकता के बिना वितरित करना संभव हो जाता है। ओपनस्ट्रीटमैप डेटा को अपनी परियोजनाओं में एकीकृत करना जटिल हो सकता है, विशेष रूप से जब होस्टिंग और परिनियोजन की बात आती है। चूंकि मैपिंग समाधानों पर गूगल मैप्स का एकाधिकार है, इसलिए कई डेवलपर्स विकल्प तलाश रहे हैं। osmhelper आपके स्वयं के OpenStreetMap डेटा को होस्ट करना आसान बनाता है। इससे आपको अपने मानचित्रों पर पूर्ण नियंत्रण मिलता है, कोई API प्रतिबंध नहीं होता और आप अपनी स्वयं की डेटा परतें जोड़ सकते हैं।
अधिकांश लोग गूगल मैप्स को डिजिटल मानचित्रों के लिए मानक समाधान के रूप में जानते हैं। लेकिन बहुत कम लोग जानते हैं कि ओपनस्ट्रीटमैप एक बेहतरीन विकल्प है - जिसमें कोई व्यावसायिक प्रतिबंध या छिपी हुई लागत नहीं है। जबकि गूगल मैप्स API उपयोग शुल्क लेता है और उपयोगकर्ता डेटा एकत्र करता है, OSM निःशुल्क, खुला और वैश्विक समुदाय द्वारा समर्थित है। ओएसएम मानचित्र जगत का विकिपीडिया है - इसमें कोई भी योगदान दे सकता है, सड़कें, पैदल यात्रा के रास्ते या पीओआई (रुचि के बिंदु) जोड़ सकता है और इस प्रकार मुक्त विश्व मानचित्र को बेहतर बना सकता है।