OpenStreetMap (OSM) គឺជាផែនទីពិភពលោកដោយឥតគិតថ្លៃដែលបង្កើតឡើងដោយការសហការគ្នាដោយមនុស្សទូទាំងពិភពលោក – ឥតគិតថ្លៃ បើកចំហ និងឯករាជ្យ។ ខណៈដែល Google Maps ក្នុងនាមជាអ្នកដឹកនាំទីផ្សារ ជារឿយៗជាជម្រើសដំបូងសម្រាប់ផែនទីឌីជីថល OSM ពឹងផ្អែកលើគោលការណ៍ខុសគ្នាទាំងស្រុង៖ សហគមន៍សហការដែលប្រមូល កែលម្អ និងធ្វើឱ្យទិន្នន័យភូមិសាស្រ្តអាចរកបានដោយឥតគិតថ្លៃ។
ហេតុអ្វីបានជារឿងនេះសំខាន់? ដោយសារតែផែនទីគឺជាចំណេះដឹង ហើយចំណេះដឹងគួរតែឥតគិតថ្លៃ។ សម្រាប់កម្មវិធីនីមួយៗ វាអាចមានប្រយោជន៍ក្នុងការបង្ហោះទិន្នន័យ OSM ដោយខ្លួនឯង ដើម្បីបង្កើតដំណោះស្រាយផែនទីតាមតម្រូវការ និងរក្សាការគ្រប់គ្រងលើទិន្នន័យ និងការបង្ហាញរបស់វា។ OSM បង្ហោះដោយខ្លួនឯងផ្តល់នូវអត្ថប្រយោជន៍ជាច្រើន។:
- ឯករាជ្យ: អ្នកមិនពឹងផ្អែកលើសេវាកម្មខាងក្រៅ ហើយមានការគ្រប់គ្រងពេញលេញលើទិន្នន័យកាត។
- អាដាប់ធ័រ: អ្នកអាចប្ដូររចនាប័ទ្មផែនទីតាមបំណង និងទិន្នន័យដែលបានបង្ហាញតាមតម្រូវការរបស់អ្នកផ្ទាល់។
- ការការពារទិន្នន័យ: ទិន្នន័យទាំងអស់ត្រូវបានបង្ហោះក្នុងមូលដ្ឋាន។ គ្មាន APIs ខាងក្រៅត្រូវបានហៅទេ។
មានវិធីសាស្រ្តសំខាន់ពីរសម្រាប់បង្ហាញផែនទី:
- ក្រឡាក្បឿង: ឯកសាររូបភាពដែលបានបង្កើតជាមុនសម្រាប់កម្រិតពង្រីកផ្សេងៗគ្នា។ ពួកវាងាយស្រួលអនុវត្ត ប៉ុន្តែផ្តល់ភាពបត់បែនតិចក្នុងការប្ដូររចនាប័ទ្មផែនទីតាមបំណង។
- ក្បឿងវ៉ិចទ័រ: មានទិន្នន័យភូមិសាស្ត្រក្នុងទម្រង់ជាវ៉ិចទ័រ (ចំណុច បន្ទាត់ ពហុកោណ) ដែលត្រូវបានបង្ហាញខាងអតិថិជន។ នេះអនុញ្ញាតឱ្យមានការកែតម្រូវដែលអាចបត់បែនបាននៃការរចនាផែនទី និងការបង្ហាញច្បាស់នៅគ្រប់កម្រិតនៃការពង្រីក។ ទោះជាយ៉ាងណាក៏ដោយ ការបង្ហាញតម្រូវឱ្យមានថាមពលកុំព្យូទ័រកាន់តែច្រើននៅលើឧបករណ៍ម៉ាស៊ីនភ្ញៀវ។
ក្បឿងវ៉ិចទ័រគឺសមរម្យជាពិសេសសម្រាប់ការបង្ហោះដោយខ្លួនឯង ព្រោះវាផ្តល់ជម្រើសការប្ដូរតាមបំណងកាន់តែច្រើន និងមានប្រសិទ្ធភាពជាង។ សម្រាប់ផែនទីតំបន់ដែលមានផ្ទៃតូចជាងនេះទំហំថាសរឹង ~ 1 GB ច្រើនតែគ្រប់គ្រាន់។ វាសមហេតុផលក្នុងការប្រើ SSD ព្រោះវាផ្តល់នូវគុណសម្បត្តិល្បឿននៅពេលផ្ទុកក្រឡា។ ក្បឿងវ៉ិចទ័រឋិតិវន្តមិនតម្រូវឱ្យមានម៉ាស៊ីនមេផែនទីដែលកំពុងដំណើរការ (ឧ. TileServer GL ឬ Mapnik) មានតម្រូវការថែទាំទាប និងការផ្ទុកម៉ាស៊ីនមេតិចជាង - ពួកវាល្អសម្រាប់គម្រោងតូចៗដែលមានផ្នែកផែនទីថេរ។
កញ្ចប់តូចរបស់ខ្ញុំ osmhelper ជួយសម្រួលដល់ដំណើរការនៃការបង្កើត និងដាក់ពង្រាយក្បឿងវ៉ិចទ័រពី .osm.pbf
ឯកសារ។ ប្រអប់កំណត់ព្រំដែនផ្ទាល់ខ្លួនអនុញ្ញាតឱ្យអ្នកអភិវឌ្ឍន៍ទាញយកតំបន់ភូមិសាស្រ្តជាក់លាក់ និងបង្កើតឯកសារ boilerplate ដែលត្រូវគ្នាដែលអាចផ្ទុកឡើងដោយផ្ទាល់ទៅម៉ាស៊ីនមេ។ នេះធ្វើឱ្យការរួមបញ្ចូលទិន្នន័យ OSM ទៅក្នុងគម្រោងបណ្ដាញកាន់តែងាយស្រួល។ ដើម្បីប្រើ osmhelper ការរៀបចំខ្លះគឺចាំបាច់។ បណ្ណាល័យគឺផ្អែកលើឧបករណ៍ដូចជា osmium, mbutil និង អ្នកផលិតក្បឿង ដែលត្រូវតែដំឡើង។
ការដំឡើង osmium
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 Maps មានសិទ្ធិផ្តាច់មុខលើដំណោះស្រាយផែនទី អ្នកអភិវឌ្ឍន៍ជាច្រើនកំពុងស្វែងរកជម្រើសផ្សេង។ osmhelper ធ្វើឱ្យវាកាន់តែងាយស្រួលក្នុងការចាប់ផ្តើមបង្ហោះទិន្នន័យ OpenStreetMap ផ្ទាល់ខ្លួនរបស់អ្នក។ វាផ្តល់ឱ្យអ្នកនូវការគ្រប់គ្រងពេញលេញលើផែនទីរបស់អ្នក គ្មានការរឹតបន្តឹង API និងសមត្ថភាពក្នុងការបន្ថែមស្រទាប់ទិន្នន័យផ្ទាល់ខ្លួនរបស់អ្នក។
មនុស្សភាគច្រើនស្គាល់ Google Maps ជាដំណោះស្រាយស្តង់ដារសម្រាប់ផែនទីឌីជីថល។ ប៉ុន្តែមានមនុស្សតិចណាស់ដែលដឹងថា OpenStreetMap គឺជាជម្រើសដ៏ល្អមួយ - ដោយគ្មានការរឹតបន្តឹងពាណិជ្ជកម្ម ឬការចំណាយលាក់កំបាំង។ ខណៈពេលដែល Google Maps គិតថ្លៃប្រើប្រាស់ API និងប្រមូលទិន្នន័យអ្នកប្រើប្រាស់ OSM គឺឥតគិតថ្លៃ បើកចំហ និងគាំទ្រដោយសហគមន៍សកល។ OSM គឺជាវិគីភីឌានៃពិភពលោកផែនទី – នរណាម្នាក់អាចចូលរួមចំណែក បន្ថែមផ្លូវ ផ្លូវឡើងភ្នំ ឬ POIs (ចំណុចចាប់អារម្មណ៍) ហើយដូច្នេះធ្វើអោយប្រសើរឡើងនូវផែនទីពិភពលោកដោយឥតគិតថ្លៃ។