I-OpenStreetMap (OSM) yimephu yehlabathi yasimahla eyenziwe ngentsebenziswano ngabantu kwihlabathi liphela - simahla, evulekileyo kwaye ezimeleyo. Ngelixa iGoogle Maps, njengenkokeli yemarike, idla ngokukhetha kuqala kwiimephu zedijithali, i-OSM ixhomekeke kumgaqo ohluke ngokupheleleyo: uluntu oluhlangeneyo oluqokelela, luphucule kwaye lenze idatha yejografi ifumaneke ngaphandle kwentlawulo.
Kutheni oku kubalulekile? Kuba iimephu zilulwazi - kwaye ulwazi kufuneka lube simahla. Kwizicelo zomntu ngamnye, kunokuba luncedo ukubamba idatha ye-OSM ngokwakho ukuze uphuhlise izisombululo zemephu ezilungelelanisiweyo kwaye ugcine ulawulo lwedatha kunye nonikezelo lwayo. I-OSM yokusingatha ngokwakho ibonelela ngeenzuzo ezininzi:
- Ukuzimela: Awuxhomekeke kwiinkonzo zangaphandle kwaye unolawulo olupheleleyo kwidatha yekhadi.
- Ukuziqhelanisa: Unokwenza ngokwezifiso isimbo semephu kunye nedatha eboniswe ngokweemfuno zakho.
- Ukukhuselwa kwedatha: Yonke idatha ibanjwa ekuhlaleni. Akukho APIs zangaphandle zibizwa.
Zimbini iindlela eziphambili zokubonisa iimephu:
- Iithayile zegridi: Iifayile zemifanekiso ezenziwe kwangaphambili zemigangatho eyahlukeneyo yokusondeza. Zilula ukuziphumeza kodwa zinikezela ngobubhetyebhetye obuncinci ekwenzeni isimbo semephu.
- Iithayile zevektha: Iqulethe idatha yejografi ngohlobo lweevekhtha (amanqaku, imigca, iipolygons) ezinikezelwa kwicala lomthengi. Oku kuvumela uhlengahlengiso oluguquguqukayo loyilo lwemephu kunye nomboniso obukhali kuwo onke amanqanaba okwandisa. Nangona kunjalo, unikezelo lufuna amandla amaninzi ekhompyuter kwisixhobo somthengi.
Iithayile zeVector zilungele ukuzibamba ngokwakho njengoko zibonelela ngeendlela ezininzi zokwenza ngokwezifiso kwaye zisebenza ngakumbi. Kwiimephu zengingqi ezineendawo ezincinci, ~ 1 GB yendawo yediski enzima ihlala yanele. Kunengqiqo ukusebenzisa ii-SSD kuba zibonelela ngeenzuzo zesantya xa ulayisha iithayile. Iitayile zeVector ezimileyo azidingi iseva yemephu esebenzayo (umzekelo, iTileServer GL okanye iMapnik), zineemfuno ezisezantsi zokugcinwa kunye nomthwalo omncinci weseva - zilungele iiprojekthi ezincinci ezinamacandelo emephu azinzileyo.
Iphakheji yam encinci osmhelper iququzelela inkqubo yokudala kunye nokuthunyelwa kweethayile zevektha ukusuka .osm.pbf
Iifayile. Iibhokisi zokubopha eziqhelekileyo zivumela abaphuhlisi ukuba bakhuphe iindawo ezithile zejografi kwaye bavelise iifayile ze-boilerplate ezihambelanayo ezinokulayishwa ngokuthe ngqo kumncedisi. Oku kwenza ukudityaniswa kwedatha ye-OSM kwiiprojekthi zewebhu kube lula kakhulu. Ukusebenzisa i-osmhelper, ukulungiswa okuthile kuyadingeka. Ithala isekelwe phezu izixhobo ezifana osmium, mbutil kwaye umenzi weethayile leyo kufuneka ifakwe.
Ukufakwa kwe-osmium
i-osmium sisixhobo esinamandla sokusetyenzwa kwedatha ye-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
Ukufakwa kwembutil
mbutil sisixhobo esekwe kwiPython sokusebenza neMBTiles.
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
Ukufakwa kwe-tilemaker
I-tilemaker sisixhobo somthombo ovulekileyo oguqula idatha ye-OSM ngokuthe ngqo kwiithayile ze-vector.
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
Khuphela uguqulelo umbhalo
mkdir openstreetmap
cd openstreetmap
wget -O ./convert.sh https://raw.githubusercontent.com/vielhuber/osmhelper/refs/heads/master/convert.sh
chmod +x convert.sh
Ukusebenzisa i-osmhelper
Emva kokufaka izixhobo ezifunekayo, i-osmhelper ingasetyenziselwa ukuvelisa iileyile ze-vector kwaye uzilungiselele ukubamba:
./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
Le nkqubo yenza kube lula ukuhambisa amacandelo emephu alungelelanisiweyo ngokufanelekileyo kwaye ngaphandle kwesidingo somncedisi wemephu oguqukayo. Ukudibanisa idatha ye-OpenStreetMap kwiiprojekthi zakho kunokuba nzima, ngakumbi xa kuziwa kukusingatha kunye nokusasazwa. Kuba iiMephu zikaGoogle zinoyedwa kwizisombululo zemephu, abaphuhlisi abaninzi bafuna ezinye iindlela. i-osmhelper yenza kube lula ukuqalisa ukubamba eyakho idatha ye-OpenStreetMap. Oku kukunika ulawulo olupheleleyo kwiimephu zakho, akukho zithintelo ze-API kunye nokukwazi ukongeza iimaleko zakho zedatha.
Uninzi lwabantu luyazazi iimephu zikaGoogle njengesisombululo esisezantsi seemephu zedijithali. Kodwa bambalwa abantu abaziyo ukuba i-OpenStreetMap yeyona ndlela ilungileyo - ngaphandle kwezithintelo zorhwebo okanye iindleko ezifihliweyo. Ngelixa iGoogle Maps ihlawulisa imali yokusetyenziswa kwe-API kwaye iqokelela idatha yomsebenzisi, i-OSM isimahla, ivulekile kwaye ixhaswa luluntu lwehlabathi. I-OSM yiWikipedia yemephu yehlabathi - nabani na unokufaka isandla, ukongeza iindlela, iindlela zokuhamba ngeenyawo okanye ii-POIs (Amanqaku oMdla) kwaye ngaloo ndlela aphucule imephu yehlabathi yasimahla.