OpenStreetMap (OSM) estas senpaga mondmapo kreita kunlabore de homoj ĉie en la mondo - senpaga, malferma kaj sendependa. Dum Google Maps, kiel la merkatgvidanto, estas ofte la unua elekto por ciferecaj mapoj, OSM dependas de tute alia principo: kunlabora komunumo kiu kolektas, plibonigas kaj disponigas geografiajn datumojn senpage.
Kial ĉi tio estas grava? Ĉar mapoj estas scio - kaj scio devus esti libera. Por individuaj aplikoj, povas esti utile gastigi OSM-datumojn mem por evoluigi personecigitajn mapsolvojn kaj konservi kontrolon de la datenoj kaj ĝia prezento. Mem-gastiga OSM ofertas plurajn avantaĝojn:
- Sendependeco: Vi ne dependas de eksteraj servoj kaj havas plenan kontrolon de la karto-datumoj.
- Adaptebleco: Vi povas personecigi la mapstilon kaj la datumojn montritajn laŭ viaj propraj bezonoj.
- Datuma protekto: Ĉiuj datumoj estas gastigitaj loke. Neniuj eksteraj API-oj estas nomitaj.
Estas du ĉefaj metodoj por montri mapojn:
- Kradaj kaheloj: Antaŭfaritaj bilddosieroj por malsamaj zomniveloj. Ili estas facile efektivigeblaj sed ofertas malpli da fleksebleco en agordo de la mapo-stilo.
- Vektoraj kaheloj: Enhavas geografiajn datumojn en la formo de vektoroj (punktoj, linioj, pluranguloj) kiuj estas igitaj klientflanke. Ĉi tio permesas flekseblajn ĝustigojn de la mapo-dezajno kaj akran ekranon ĉe ĉiuj zomniveloj. Tamen, bildigo postulas pli da komputika potenco sur la klienta aparato.
Vektoraj kaheloj estas precipe taŭgaj por mem-gastigado ĉar ili ofertas pli da personigo-opciojn kaj estas pli efikaj. Por regionaj mapoj kun pli malgrandaj areoj, ~1 GB da malmola disko ofte sufiĉas. Estas senco uzi SSD-ojn ĉar ili ofertas rapidajn avantaĝojn dum ŝarĝo de kaheloj. Senmovaj vektoraj kaheloj ne postulas funkciantan mapservilon (ekz. TileServer GL aŭ Mapnik), havas pli malaltajn prizorgajn postulojn kaj malpli da servilŝarĝo - ili estas idealaj por pli malgrandaj projektoj kun fiksaj mapsekcioj.
Mia pakaĵo osmhelper faciligas la procezon de kreado kaj deplojado de vektoraj kaheloj de .osm.pbf
Dosierojn. Propraj limkestoj permesas al programistoj ĉerpi specifajn geografiajn areojn kaj generi kongruajn kaldronajn dosierojn kiuj povas esti alŝutitaj rekte al servilo. Ĉi tio multe plifaciligas la integriĝon de OSM-datumoj en retprojektojn. Por uzi osmhelper, necesas iom da preparado. La biblioteko baziĝas sur iloj kiel ekz osmio, mbutil kaj kahelisto tio devas esti instalita.
Instalado de osmio
osmio estas potenca ilo por prilabori OSM-datumojn.
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
Instalado de mbutil
mbutil estas Python-bazita ilo por labori kun 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
Instalado de kahelfaristo
kahelfaristo estas malfermfonta ilo kiu konvertas OSM-datumojn rekte en vektorajn kahelojn.
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
Elŝutu la konvertan skripton
mkdir openstreetmap
cd openstreetmap
wget -O ./convert.sh https://raw.githubusercontent.com/vielhuber/osmhelper/refs/heads/master/convert.sh
chmod +x convert.sh
Uzante osmhelper
Post instalo de la bezonataj iloj, osmhelper povas esti uzata por generi vektorajn kahelojn kaj prepari ilin por gastigado:
./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
Ĉi tiu procezo ebligas liveri personecigitajn mapsekciojn efike kaj sen la bezono de dinamika mapservilo. Integri OpenStreetMap-datumojn en viajn proprajn projektojn povas esti kompleksa, precipe kiam temas pri gastigado kaj deplojo. Ĉar Google Maps havas monopolon pri mapaj solvoj, multaj programistoj serĉas alternativojn. osmhelper faciligas komenci gastigi viajn proprajn datumojn de OpenStreetMap. Ĉi tio donas al vi plenan kontrolon pri viaj mapoj, neniujn API-limigojn kaj la kapablon aldoni viajn proprajn datumtavolojn.
Plej multaj homoj konas Google Maps kiel la norma solvo por ciferecaj mapoj. Sed malmultaj homoj scias, ke OpenStreetMap estas bonega alternativo - sen komercaj limigoj aŭ kaŝitaj kostoj. Dum Google Maps pagas API-uzokotizon kaj kolektas uzantdatenojn, OSM estas senpaga, malferma kaj subtenata de tutmonda komunumo. OSM estas la Vikipedio de la mapo-mondo - ĉiu povas kontribui, aldoni vojojn, migrajn vojojn aŭ POI-ojn (Interespunktojn) kaj tiel plibonigi la senpagan mondmapon.