He palapala honua manuahi ʻo OpenStreetMap (OSM) i hana pū ʻia e nā poʻe ma ka honua holoʻokoʻa - manuahi, wehe a kūʻokoʻa. ʻOiai ʻo Google Maps, ma ke ʻano he alakaʻi mākeke, ʻo ia ke koho mua loa no nā palapala kikohoʻe, hilinaʻi ʻo OSM i kahi kumu ʻokoʻa loa: kahi kaiāulu hui e hōʻiliʻili, hoʻomaikaʻi a hoʻolilo i ka ʻikepili ʻāina me ka uku ʻole.
No ke aha he mea nui kēia? No ka mea, ʻo ka palapala ʻāina ka ʻike - a pono e manuahi ka ʻike. No nā noi hoʻokahi, pono paha e hoʻokipa i ka ʻikepili OSM iā ʻoe iho i mea e hoʻomohala ai i nā hāʻina palapala ʻāina maʻamau a mālama i ka mana ma luna o ka ʻikepili a me kāna hōʻike. Hāʻawi ʻo OSM hoʻokipa ponoʻī i nā pono he nui:
- Kūʻokoʻa: ʻAʻole ʻoe i hilinaʻi i nā lawelawe o waho a loaʻa iā ʻoe ka mana piha o ka ʻikepili kāleka.
- Hiki ke hoʻololi: Hiki iā ʻoe ke hoʻopilikino i ke ʻano o ka palapala ʻāina a me ka ʻikepili i hōʻike ʻia e like me kāu pono ponoʻī.
- Pale ʻikepili: Hoʻokipa ʻia nā ʻikepili āpau ma ka ʻāina. ʻAʻole kāhea ʻia nā API waho.
ʻElua ala nui no ka hōʻike ʻana i nā palapala ʻāina:
- Kile kile: Nā waihona kiʻi i hana mua ʻia no nā pae zoom like ʻole. Maʻalahi lākou e hoʻokō akā hāʻawi i ka liʻiliʻi liʻiliʻi i ka hana ʻana i ke ʻano palapala.
- Nā tile vector: Loaʻa i ka ʻikepili ʻāina ma ke ʻano o nā vectors (nā kiko, nā laina, nā polygons) i hāʻawi ʻia i ka ʻaoʻao o ka mea kūʻai aku. Hāʻawi kēia i nā hoʻololi maʻalahi o ka hoʻolālā palapala a me kahi hōʻike ʻoi aku ma nā pae zoom āpau. Eia nō naʻe, ʻoi aku ka nui o ka mana o ka helu ʻana ma ka mea kūʻai aku.
He kūpono loa nā tile Vector no ka hoʻokipa ponoʻī no ka mea hāʻawi lākou i nā koho hoʻoponopono hou aʻe a ʻoi aku ka maikaʻi. No nā palapala 'āina me nā wahi li'ili'i, ua lawa pinepine ka ~ 1 GB o ka hakahaka pa'akikī. Maikaʻi ka hoʻohana ʻana i nā SSD no ka mea hāʻawi lākou i nā pono wikiwiki i ka wā e hoʻouka ai i nā tile. ʻAʻole pono nā tile static vector i kahi kikowaena palapala ʻāina holo (e laʻa.
ʻO kaʻu pūʻolo liʻiliʻi osmhelper hoʻomaʻamaʻa i ke kaʻina hana o ka hana ʻana a me ka lawe ʻana i nā tile vector mai .osm.pbfWaihona. Hāʻawi nā pahu hoʻopaʻa maʻamau i nā mea hoʻomohala e unuhi i nā wahi kikoʻī kikoʻī a hana i nā faila boilerplate pili i hiki ke hoʻouka pololei ʻia i kahi kikowaena. ʻO kēia ka maʻalahi o ka hoʻohui ʻana o ka ʻikepili OSM i nā papahana pūnaewele. No ka hoʻohana ʻana i ka osmhelper, pono kekahi hoʻomākaukau. Hoʻokumu ʻia ka waihona ma nā mea hana e like me osmium, mbutil a mea hana hale tile pono e hoʻokomo.
Hoʻokomo i ka osmium
ʻO ka osmium kahi mea hana ikaika no ka hoʻoili ʻana i ka ʻikepili 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
Ka hoʻokomo ʻana i ka mbutil
ʻO mbutil kahi mea hana Python no ka hana pū me 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
Hoʻokomo ʻia ka mea hana tile
ʻO ka tilemaker kahi mea hana punawai e hoʻololi pololei i ka ʻikepili OSM i nā tile 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
Hoʻoiho i ka palapala hoʻololi
mkdir openstreetmap
cd openstreetmap
wget -O ./convert.sh https://raw.githubusercontent.com/vielhuber/osmhelper/refs/heads/master/convert.sh
chmod +x convert.sh
Ke hoʻohana nei i ka osmhelper
Ma hope o ka hoʻokomo ʻana i nā mea pono, hiki ke hoʻohana ʻia ka osmhelper e hana i nā tile vector a hoʻomākaukau iā lākou no ka hoʻokipa:
./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
ʻO kēia kaʻina hana e hiki ai ke hoʻopuka i nā ʻāpana palapala i hoʻonohonoho pono ʻia me ka pono ʻole o kahi kikowaena palapala hoʻoikaika. ʻO ka hoʻohui ʻana i ka ʻikepili OpenStreetMap i kāu mau papahana ponoʻī hiki ke paʻakikī, ʻoi aku hoʻi i ka wā e pili ana i ka hoʻokipa a me ka hoʻolaha ʻana. No ka mea he monopoly ko Google Maps i ka hoʻonā palapala ʻāina, nui nā mea hoʻomohala e ʻimi nei i nā mea ʻē aʻe. ʻO ka osmhelper e maʻalahi ka hoʻomaka ʻana e hoʻokipa i kāu ʻikepili OpenStreetMap ponoʻī. Hāʻawi kēia iā ʻoe i ka mana piha o kāu mau palapala ʻāina, ʻaʻohe palena API a me ka hiki ke hoʻohui i kāu mau papa ʻikepili ponoʻī.
ʻIke ka hapa nui o ka poʻe iā Google Maps ma ke ʻano he hopena maʻamau no nā palapala kikohoʻe. Akā kakaikahi ka poʻe i ʻike he koho maikaʻi loa ʻo OpenStreetMap - me ka ʻole o nā palena ʻoihana a i ʻole nā koina huna. ʻOiai e uku ana ʻo Google Maps i nā uku hoʻohana API a hōʻiliʻili i ka ʻikepili mea hoʻohana, manuahi ka OSM, wehe a kākoʻo ʻia e kahi kaiāulu honua. ʻO OSM ka Wikipedia o ka palapala honua - hiki i kekahi ke hāʻawi, hoʻohui i nā alanui, nā ala hele wāwae a i ʻole POI (Points of Interest) a pēlā e hoʻomaikaʻi ai i ka palapala honua manuahi.