Tuan rumah OpenStreetMap dhewe

OpenStreetMap (OSM) minangka peta donya gratis sing digawe kanthi kolaborasi dening wong ing saindenging jagad - gratis, mbukak lan mandiri. Nalika Google Maps, minangka pimpinan pasar, asring dadi pilihan pisanan kanggo peta digital, OSM ngandelake prinsip sing beda: komunitas kolaborasi sing ngumpulake, nambah lan nggawe data geografis kasedhiya gratis.


Yagene iki penting? Amarga peta iku kawruh - lan kawruh kudu gratis. Kanggo aplikasi individu, bisa uga migunani kanggo dadi tuan rumah data OSM dhewe supaya bisa ngembangake solusi peta sing disesuaikan lan njaga kontrol data lan presentasi kasebut. OSM hosting mandhiri nawakake sawetara kaluwihan:

  • Kamardikan: Sampeyan ora gumantung ing layanan njaba lan duwe kontrol lengkap liwat data kertu.
  • Daya adaptasi: Sampeyan bisa ngatur gaya peta lan data sing ditampilake miturut kabutuhan sampeyan.
  • Pangayoman data: Kabeh data di-host sacara lokal. Ora ana API eksternal sing diarani.

Ana rong cara utama kanggo nampilake peta:

  • Kothak kothak: File gambar sing wis digawe kanggo tingkat zoom sing beda. Iku gampang kanggo ngleksanakake nanging nawakake kurang keluwesan kanggo ngatur gaya peta.
  • Kothak vektor: Ngandhut data geografis ing wangun vektor (titik, garis, poligon) sing digawe ing sisih klien. Iki ngidini pangaturan fleksibel desain peta lan tampilan sing cetha ing kabeh tingkat zoom. Nanging, rendering mbutuhake daya komputasi luwih akeh ing piranti klien.

Kothak vektor utamane cocog kanggo hosting dhewe amarga nawakake pilihan pangaturan dhewe lan luwih efisien. Kanggo peta regional kanthi wilayah sing luwih cilik, ~ 1 GB ruang hard disk asring cukup. Iku ndadekake pangertèn kanggo nggunakake SSDs amarga padha menehi kaluwihan kacepetan nalika loading kothak. Kothak vektor statis ora mbutuhake server peta sing mlaku (kayata TileServer GL utawa Mapnik), nduweni syarat pangopènan sing luwih murah lan beban server sing kurang - padha becik kanggo proyek cilik kanthi bagean peta tetep.

Paket cilikku osmhelper nggampangake proses nggawe lan nyebarke kothak vektor saka .osm.pbfBerkas. Kothak wates khusus ngidini pangembang ngekstrak wilayah geografis tartamtu lan ngasilake file boilerplate sing cocog sing bisa diunggah langsung menyang server. Iki ndadekake integrasi data OSM menyang proyek web luwih gampang. Kanggo nggunakake osmhelper, sawetara persiapan perlu. Pustaka adhedhasar piranti kayata osmium, mbutil lan tukang gawe genteng sing kudu diinstal.

Instalasi saka osmium

osmium minangka alat sing kuat kanggo ngolah data 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

Pemasangan mbutil

mbutil minangka alat basis Python kanggo nggarap 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

Instalasi saka tilemaker

tilemaker minangka alat open source sing ngowahi data OSM langsung menyang kothak vektor.

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

Ngundhuh skrip konversi

mkdir openstreetmap
cd openstreetmap
wget -O ./convert.sh https://raw.githubusercontent.com/vielhuber/osmhelper/refs/heads/master/convert.sh
chmod +x convert.sh

Nggunakake osmhelper

Sawise nginstal alat sing dibutuhake, osmhelper bisa digunakake kanggo ngasilake kothak vektor lan nyiapake kanggo hosting:

./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

Proses iki ndadekake iku bisa kanggo ngirim bagean peta selaras irit lan tanpa perlu kanggo server peta dinamis. Nggabungake data OpenStreetMap menyang proyek sampeyan dhewe bisa dadi rumit, utamane babagan hosting lan panyebaran. Wiwit Google Maps duwe monopoli ing solusi pemetaan, akeh pangembang sing nggoleki alternatif. osmhelper nggampangake miwiti hosting data OpenStreetMap sampeyan dhewe. Iki menehi kontrol lengkap ing peta, ora ana watesan API lan kemampuan kanggo nambah lapisan data dhewe.

Umume wong ngerti Google Maps minangka solusi standar kanggo peta digital. Nanging sawetara wong ngerti yen OpenStreetMap minangka alternatif sing apik - tanpa watesan komersial utawa biaya sing didhelikake. Nalika Google Maps ngisi biaya panggunaan API lan ngumpulake data pangguna, OSM gratis, mbukak lan didhukung dening komunitas global. OSM minangka Wikipedia ing donya peta - sapa wae bisa nyumbang, nambah dalan, jalur hiking utawa POI (Points of Interest) lan kanthi mangkono nambah peta donya gratis.

Bali