Ini adalah perintah mkgmap-splitter yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
mkgmap-splitter - pembagi ubin untuk mkgmap
RINGKASAN
pemisah mkgmap [Pilihan] file.osm > splitter.log
DESKRIPSI
pemisah mkgmap membagi file .osm yang berisi wilayah besar yang dipetakan menjadi sebuah angka
ubin yang lebih kecil, agar sesuai dengan ukuran maksimum yang digunakan untuk format peta Garmin. Di sana
setidaknya dua tahap pemrosesan yang diperlukan. Tahap pertama adalah menghitung luas area
setiap ubin harus menutupi, berdasarkan distribusi node. Tahap kedua menulis
node, cara, dan relasi dari file .osm asli menjadi .osm yang lebih kecil dan terpisah
file, satu untuk setiap area yang dihitung pada tahap satu. Dengan pilihan
--keep-lengkap=benar, dua tahap tambahan digunakan untuk menghindari jalan rusak dan poligon.
Dua fitur yang paling penting adalah:
· Ubin berukuran variabel untuk mencegah sejumlah besar file kecil.
· Ubin bergabung persis tanpa tumpang tindih atau celah.
Anda akan membutuhkan banyak memori di komputer Anda jika Anda berniat untuk membagi area yang luas. Beberapa
pilihan memungkinkan mengkonfigurasi berapa banyak memori yang Anda butuhkan. Dengan parameter default, Anda perlu
sekitar 4-5 byte untuk setiap node dan cara. Ini tidak terdengar banyak tetapi ada sekitar 1700
juta node di seluruh file planet sehingga Anda tidak dapat memproses seluruh planet dalam satu
meneruskan file pada mesin 32 bit menggunakan utilitas ini karena ruang heap java maksimum adalah 2G. Dia
dimungkinkan dengan 64 bit java dan sekitar 7GB tumpukan atau dengan beberapa lintasan.
Ekstrak Eropa dari Cloudmade atau Geofabrik dapat diproses dalam batas 2G jika Anda
memiliki memori yang cukup. Dengan opsi default eropa dibagi menjadi sekitar 750 ubin.
Ekstrak Eropa adalah sekitar setengah dari ukuran file planet lengkap.
Di sisi lain, satu negara, bahkan negara yang terpetakan dengan baik seperti Jerman atau Inggris, akan
mungkin pada mesin sederhana, bahkan netbook.
PENGGUNAAN
Splitter membutuhkan Java 1.6 atau lebih tinggi. Penggunaan dasar adalah sebagai berikut.
pemisah mkgmap file.osm > splitter.log
Jika Anda memiliki memori kurang dari 2 GB di komputer Anda, Anda harus mengurangi -xmx pilihan oleh
mengatur variabel lingkungan Java_OPTS.
JAWA_OPTS="-xmx512m" pemisah mkgmap file.osm > splitter.log
Ini akan menghasilkan sejumlah file .osm.pbf yang dapat dibaca oleh mkgmap(1). Ada
juga file lain yang dihasilkan:
templat.args file adalah file yang dapat digunakan dengan -c pilihan dari mkgmap itu akan
mengkompilasi semua file. Anda dapat menggunakannya apa adanya atau Anda dapat menyalinnya dan mengeditnya untuk disertakan
pilihan Anda sendiri. Misalnya, alih-alih setiap deskripsi menjadi "Peta OSM", itu bisa menjadi "NW
Skotlandia" sebagaimana mestinya.
area.list file adalah daftar kotak pembatas yang dihitung. Jika Anda menginginkan Anda
dapat menggunakan ini pada panggilan berikutnya splitter menggunakan --file terpisah pilihan untuk digunakan
daerah yang sama persis seperti terakhir kali. Ini mungkin berguna jika Anda membuat peta secara teratur
dan ingin menjaga area ubin tetap sama dari bulan ke bulan. Hal ini juga berguna untuk menghindari
waktu yang diperlukan untuk membuat ulang file setiap kali (saat ini sekitar sepertiga dari keseluruhan
waktu yang dibutuhkan untuk melakukan split). Tentu saja jika petanya cukup besar sehingga salah satu ubinnya
meluap Anda harus menghitung ulang area lagi.
area.poli file berisi poligon pembatas dari area yang dihitung. Lihat opsi
--poligon-file bagaimana ini bisa digunakan.
kepadatan-keluar.txt file ditulis ketika tidak ada file terpisah yang diberikan dan berisi debugging
informasi saja.
Anda juga dapat menggunakan file .osm terkompresi gzip atau bz2 sebagai file input. Perhatikan bahwa
ini dapat sangat memperlambat splitter (terutama berlaku untuk bz2) karena
mendekompresi file .osm dapat menghabiskan cukup banyak daya CPU. Jika Anda mungkin
memproses file beberapa kali Anda mungkin lebih baik mengonversi file ke salah satu dari
format biner pbf atau o5m. Format o5m lebih cepat dibaca, tetapi membutuhkan lebih banyak ruang
pada disk.
PILIHAN
Ada sejumlah opsi untuk menyempurnakan hal-hal yang mungkin ingin Anda coba.
--batas-tag=string
Daftar nilai tag yang dipisahkan koma untuk relasi. Digunakan untuk memfilter multipoligon
dan hubungan batas untuk pemrosesan daftar masalah. Lihat juga opsi
--wanted-admin-tingkat. Default: gunakan-kecualikan-daftar
--cache=string
Usang, sekarang tidak melakukan apa-apa
--deskripsi=string
Mengatur deskripsi yang akan ditulis ke templat.args file.
--geoname-file=string
Nama file GeoNames yang akan digunakan untuk menentukan nama petak. Khas
kota15000.zip dari geonamehttp://download.geonames.org/export/dump.
--keep-lengkap=boolean
penggunaan --keep-complete=salah untuk menonaktifkan dua fase program tambahan antara
split dan fase distribusi akhir (tidak direkomendasikan). Fase pertama, disebut
gen-problem-list, mendeteksi semua cara dan hubungan yang melintasi batas
satu atau lebih file keluaran. Fase kedua, yang disebut handle-problem-list, mengumpulkan
koordinat cara dan hubungan ini dan menghitung semua file output yang
disilangkan atau tertutup. Informasi diteruskan ke fase dist akhir di
tiga file sementara. Ini menghindari poligon yang rusak, tetapi perlu diketahui bahwa itu membutuhkan
untuk membaca file input setidaknya dua kali tambahan.
Jangan tentukan dengan --tumpang tindih kecuali Anda memiliki alasan yang baik untuk melakukannya.
Default: benar
--mapid=int
Mengatur nama file untuk file split. Dalam contoh file pertama akan dipanggil
63240001.osm.pbf dan selanjutnya adalah 63240002.osm.pbf dan seterusnya.
Standar: 63240001
--max-area=int
Jumlah maksimum area yang dapat diproses dalam satu pass selama
pengolahan tahap kedua. Ini harus berupa angka dari 1 hingga 4096. Angka yang lebih tinggi
berarti lebih sedikit melewati file sumber dan karenanya pemrosesan keseluruhan lebih cepat, tetapi
juga membutuhkan lebih banyak memori. Jika Anda menemukan Anda kehabisan memori tetapi tidak mau
untuk meningkatkan Anda --max-node nilai, coba kurangi ini sebagai gantinya. Mengubah kehendak ini
tidak berpengaruh pada hasil split, itu murni untuk membiarkan Anda menukar memori
untuk kinerja. Perhatikan bahwa tahap pertama pemrosesan memiliki memori tetap
overhead terlepas dari apa yang disetel, jadi jika Anda kehabisan memori
sebelum area.list file dihasilkan, Anda perlu meningkatkan -xmx
nilai atau kurangi ukuran file input yang Anda coba bagi.
Standar: 512
--max-node=int
Jumlah maksimum node yang dapat berada di salah satu file yang dihasilkan. Standarnya
cukup konservatif, Anda dapat meningkatkannya cukup banyak sebelum mendapatkan 'peta' apa pun
pesan terlalu besar. Tidak banyak eksperimen yang dilakukan. Juga semakin besar ini
nilai, semakin sedikit memori yang diperlukan selama tahap pemisahan.
Standar: 1600000
--max-benang=nilai
Jumlah maksimum utas yang digunakan oleh pemisah mkgmap.
Bawaan: 4 (otomatis)
--campuran=boolean
Tentukan ini jika file osm input memiliki simpul, cara, dan hubungan yang bercampur atau
id tidak diurutkan secara ketat. Untuk meningkatkan kinerja, gunakan osmosa jenis
fungsi.
Standar: salah
--tidak-trim=boolean
Jangan memangkas ruang kosong di tepi ubin. Opsi ini diabaikan ketika
--poligon-file digunakan.
Standar: salah
--jumlah-ubin=nilaistring
Nilai target yang digunakan saat tidak ada file terpisah yang diberikan. Pemisahan dilakukan agar
jumlah ubin yang dihasilkan. Itu --max-node nilai diabaikan jika ini
pilihan diberikan.
--keluaran=string
Format di mana file output ditulis. Nilai yang mungkin adalah xml, pbf,
o5m, dan simulasikan. Standarnya adalah pbf, yang menghasilkan ukuran file terkecil.
Format o5m lebih cepat untuk ditulis, tetapi membuat file sekitar 40% lebih besar. Itu
opsi simulasi adalah untuk tujuan debugging.
--keluaran-dir=path
Direktori tempat splitter harus menulis file output. Jika ditentukan
jalur ke direktori tidak ada, pemisah mkgmap mencoba untuk menciptakannya. Default untuk
direktori kerja saat ini.
--tumpang tindih=string
Tidak digunakan lagi sejak r279. Dengan --keep-complete=salah, pemisah mkgmap harus mencakup
node di luar kotak pembatas, sehingga mkgmap dapat memotong dengan rapi tepat di
berbatasan. Parameter ini mengontrol ukuran tumpang tindih itu. Itu dalam satuan peta, a
default 2000 digunakan yang berarti sekitar 0.04 derajat lintang atau bujur.
If --keep-lengkap=benar aktif dan --tumpang tindih diberikan, peringatan akan dicetak
karena kombinasi ini jarang masuk akal.
--poligon-desc-file=path
File osm (.o5m, .pbf, .osm) dengan cara bernama yang menggambarkan poligon pembatas dengan
Cara OSM memiliki tag name dan mapid.
--berkas-poligon=path
Nama file yang berisi poligon pembatas dalam format file poligon osmosis
. pemisah mkgmap menggunakan file ini saat menghitung area. Ini pertama menghitung
kisi menggunakan yang diberikan --resolusi. File input dibaca dan untuk setiap node, a
counter ditingkatkan untuk area grid terkait. Jika file input berisi a
kotak pembatas, ini diterapkan ke kisi sehingga simpul di luar kotak pembatas
diabaikan. Selanjutnya, jika ditentukan, poligon pembatas digunakan untuk meniadakan kisi-kisi itu
elemen di luar area poligon pembatas. Jika area poligon menggambarkan
daerah bujursangkar dengan tidak lebih dari 40 simpul, pemisah mkgmap akan mencoba
buat file keluaran yang pas dengan area tersebut, jika tidak maka akan mendekati
daerah poligon dengan persegi panjang.
--precomp-sea=path
Nama direktori yang berisi ubin laut yang telah dikompilasi. Jika diberikan, mkgmap-
splitter akan menggunakan ubin laut yang telah dikompilasi dengan cara yang sama seperti mkgmap melakukan. Menggunakan
ini jika Anda ingin menggunakan file poligon atau --no-trim=benar dan mkgmap menciptakan kosong
File *.img digabungkan dengan pesan yang dimulai "Tidak ada cukup ruang dalam satu tempat
peta garmin untuk semua data input".
--file-masalah=path
Nama file yang berisi cara dan hubungan yang diketahui menyebabkan masalah
dalam proses pemisahan. Gunakan opsi ini jika --tetap-lengkap membutuhkan terlalu banyak waktu atau
memori dan --tumpang tindih tidak menyelesaikan masalah Anda.
Sintaks file masalah:
jalan: # komentar...
rel: # komentar...
contoh:
cara:2784765 # Ferry Guernsey - Jersey
--masalah-laporan=path
Nama file untuk menulis daftar masalah yang dibuat dengan
--tetap-lengkap. Parameter diabaikan jika --keep-complete=salah. Anda dapat menggunakan kembali
file ini dengan --file-masalah parameter, tetapi lakukan ini hanya jika Anda menggunakan yang sama
nilai untuk --max-node dan --resolusi.
--resolusi=int
Resolusi peta kepadatan yang dihasilkan selama fase pertama. Sebuah nilai antara
1 dan 24. Defaultnya adalah 13. Meningkatkan nilainya menjadi 14 membutuhkan empat kali lebih banyak
memori dalam fase split. Nilai diabaikan jika --file terpisah diberikan.
--batas-pencarian=int
Batas pencarian dalam algo terpisah. Nilai yang lebih tinggi mungkin menemukan pemisahan yang lebih baik, tetapi akan membutuhkan
lebih lama.
Standar: 200000
--file terpisah=path
Gunakan area ubin yang dihitung sebelumnya alih-alih menghitungnya dari awal.
File bisa dalam format .list atau .kml.
--status-frekuensi=int
Menampilkan jumlah memori yang digunakan oleh JVM setiap --status-frekuensi detik. Tetapkan =0
untuk menonaktifkan.
Standar: 120
--stop-setelah=string
Debugging: berhenti setelah fase program tertentu. Dapat dibagi, daftar masalah gen, atau
menangani-masalah-daftar. Defaultnya adalah dist yang berarti mengeksekusi semua fase.
--ingin-tingkat admin=string
Menentukan nilai admin_level terendah dari hubungan batas yang harus disimpan
menyelesaikan. Digunakan untuk menyaring hubungan batas untuk pemrosesan daftar masalah. Itu
nilai default 5 berarti bahwa hubungan batas tetap lengkap ketika
admin_level adalah 5 atau lebih tinggi (5..11). Parameter diabaikan jika
--keep-complete=salah. Standar: 5
--tulis-kml=path
Nama file kml untuk menulis area. Ini selain
area.list (yang selalu tertulis).
Pilihan khusus
--Versi: kapan
Jika parameternya --Versi: kapan ditemukan di suatu tempat di opsi, pemisah mkgmap akan
cukup cetak info versi dan keluar. Info versi terlihat seperti ini:
splitter 279 compiled 2013-01-12T01:45:02+0000
--membantu Jika parameternya --membantu ditemukan di suatu tempat di opsi, pemisah mkgmap akan
cetak daftar semua opsi normal yang diketahui bersama dengan bantuan singkat dan keluar.
TUNING
Tuning untuk performa terbaik
Beberapa petunjuk bagi mereka yang menggunakan pemisah mkgmap untuk membagi file besar.
· Untuk pemrosesan lebih cepat dengan --keep-lengkap=benar, ubah file input ke format o5m
menggunakan:
konversi osm --drop-versi file.osm -o=file.o5m
· Pilihan --drop-versi adalah opsional, ini mengurangi file menjadi data yang diperlukan
by pemisah mkgmap dan mkgmap.
· Jika Anda masih mengalami kinerja yang buruk, lihatlah splitter.log. Cari kata
Mendistribusikan. Anda mungkin menemukan sesuatu seperti ini di baris berikutnya:
Memproses 1502 area dalam 3 lintasan, 501 area sekaligus
Ini berarti splitter harus membaca input file input tiga kali karena --max-area
parameter jauh lebih kecil daripada jumlah area. Jika Anda memiliki cukup tumpukan, atur
--max-area nilai ke nilai yang lebih tinggi dari jumlah area, mis
--max-area=2048. Menjalankan pemisah mkgmap lagi dan Anda harus menemukan
Memproses 1502 area dalam sekali jalan
· Lebih banyak area membutuhkan lebih banyak memori. Pastikan bahwa pemisah mkgmap memiliki cukup banyak
(meningkatkan -xmx parameter) sehingga tidak membuang banyak waktu di tempat sampah
kolektor (GC), tetapi simpan sebanyak mungkin memori untuk cache I/O sistem.
· Jika tersedia, gunakan dua disk yang berbeda untuk file input dan direktori output, khususnya. kapan kamu
gunakan format o5m untuk input dan output.
· Jika Anda menggunakan mkgmap r2415 atau lebih baru dan ruang disk tidak menjadi masalah, pertimbangkan untuk menggunakan
--keluaran=o5m untuk mempercepat pemrosesan.
Tuning untuk kebutuhan memori rendah
Jika mesin Anda memiliki memori kosong kurang dari 1 GB (misalnya netbook), Anda masih dapat menggunakan mkgmap-
splitter, tetapi Anda mungkin harus bersabar jika menggunakan parameter --tetap-lengkap dan
ingin membagi file seperti jerman.osm.pbf atau yang lebih besar. Jika perlu, kurangi jumlahnya
dari area pemrosesan paralel menjadi 50 dengan --max-area parameter. Anda harus menggunakan
--keep-complete=salah ketika membelah wilayah seperti Eropa.
CATATAN
· Tidak ada lagi batas atas jumlah area yang dapat dihasilkan (sebelumnya
itu 255). Lebih banyak area berarti berpotensi lebih banyak operan yang dibutuhkan di atas .osm
file, dan karenanya splitter akan membutuhkan waktu lebih lama untuk dijalankan.
· Tidak ada lagi batasan berapa banyak area yang dapat dimiliki oleh suatu cara atau relasi (sebelumnya
itu 4).
Gunakan mkgmap-splitter online menggunakan layanan onworks.net