Ito ang command na osmconvert na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator
PROGRAMA:
NAME
osmconvert - Converter ng mga OSM file
SINOPSIS
osmconvert pagpipilian [input file]
DESCRIPTION
Binabasa ng program na ito ang iba't ibang format ng file ng proyekto ng OpenStreetMap at kino-convert ang
data sa napiling format ng output file.
mga ito format maaari be basahin ang:
.osm .osc .osc.gz .osh .o5m .o5c .pbf
mga ito format maaari be nakasulat:
.osm (default) .osc .osh .o5m .o5c .pbf
Dapat na tukuyin ang mga pangalan ng input file bilang mga parameter ng command line. Gamitin - upang basahin mula sa
karaniwang input. Hindi mo kailangang tukuyin ang mga format ng pag-input, makikilala ng osmconvert
sila mismo. Ang format ng output ay .osm bilang default. Kung gusto mo ng ibang format,
mangyaring tukuyin ito gamit ang naaangkop na parameter ng command line.
Opsyon
-b=, , ,
Kung gusto mong limitahan ang heograpikal na rehiyon, maaari mong tukuyin ang isang kahon ng hangganan. Gagawin
ito, pumasok sa timog-kanluran at hilagang-silangang sulok ng lugar na iyon. Para sa
halimbawa: -b= -0.5,51,0.5,52
-B=
Bilang kahalili sa isang bounding box maaari kang gumamit ng border polygon upang limitahan ang
heograpikal na rehiyon. Ang format ng isang border polygon file ay matatagpuan sa OSM
Wiki sa Polygon_Filter_File_Format : http://wiki.openstreetmap.org/wiki/Osmosis/
Hindi mo kailangang mahigpit na sundin ang paglalarawan ng format, dapat mong tiyakin iyon
bawat linya ng mga coordinate ay nagsisimula sa mga blangko.
--kumpletong-paraan
Kung nag-aaplay ng isang border box o isang border polygon, ang lahat ng mga node ang mga hangganan ay hindi kasama;
kahit na kung nabibilang sila sa isang paraan na hindi ganap na ibinukod dahil mayroon ito
ilang node sa loob ng mga hangganan. Titiyakin ng pagpipiliang ito na mananatili ang lahat ng paraan
kumpleto, kahit na ito ay sumasalubong sa mga hangganan. Magreresulta ito sa mas mabagal na pagproseso,
at mawawalan ng kakayahan ang program na magbasa mula sa karaniwang input. Ito ay
inirerekomendang gamitin ang .o5m na format bilang format ng pag-input upang mabayaran ang karamihan sa bilis
kawalan.
--kumplikadong-paraan
Katulad ng dati, ngunit ang mga multipolygon ay hindi rin puputulin sa mga hangganan.
--all-to-nodes
Ang ilang mga aplikasyon ay walang kakayahang magproseso ng mga paraan o relasyon, sila lang
tanggapin ang mga node bilang input. Gayunpaman, parami nang parami ang kumplikadong bagay ay nakamapa bilang mga paraan o
kahit na mga relasyon upang maipasok ang lahat ng kanilang mga detalye sa database. Ilapat ito
opsyon kung gusto mong i-convert ang mga paraan at relasyon sa mga node at sa gayon ay gawin ang mga ito
magagamit sa mga application na maaari lamang makitungo sa mga node. Para sa bawat paraan ang isang node ay
nilikha. Ang id ng paraan ay nadagdagan ng 10^15 at kinuha bilang id para sa bagong node. Ang
Ang longitude at latitude ng node ay nakatakda sa heograpikal na sentro ng daan. pareho
nalalapat sa mga relasyon, gayunpaman nakakakuha sila ng 2*10^15 bilang id offset.
--add-bbox-tags
Ang opsyong ito ay nagdaragdag ng tag na may hangganan na kahon sa bawat bagay. Maglalaman ang tag
ang mga coordinate ng hangganan sa ganitong pagkakasunud-sunod: min Longitude, min Latitude, max Longitude ,
max Latitude. hal:
--add-bboxarea-tags
Ang isang tag para sa isang tinantyang halaga ng lugar para sa bbox ay idinaragdag sa bawat paraan at bawat isa
relasyon. Ang unit ay square meters. Halimbawa:
v="33828002"/>
--add-bboxweight-tags
Ang opsyong ito ay magdaragdag ng binary logarithm ng bbox area ng bawat paraan at bawat isa
relasyon. Halimbawa:
--add-bboxwidth-tags
Ang isang tag para sa isang tinantyang halaga ng lapad para sa bbox ay idinaragdag sa bawat paraan at bawat isa
relasyon. Ang yunit ay metro. Halimbawa:
--add-bboxwidthweight-tags
Ang opsyong ito ay magdaragdag ng binary logarithm ng bbox width ng bawat paraan at bawat isa
relasyon. Halimbawa:
--object-type-offset=
Kung ilalapat ang --all-to-nodes opsyon gaya ng ipinaliwanag sa itaas, maaari mong ayusin ang id
offset. Halimbawa: --bagay-uri-offset= 4000000000
Sa pamamagitan ng pagdaragdag ng "+1" sa offset, gagawa ang program ng mga id sa isang pagkakasunod-sunod na may
hakbang 1. Ito ay maaaring maging kapaki-pakinabang kung mayroong isang kasunod na tumatakbong application
na hindi makapagproseso ng malalaking numero ng id. Halimbawa:
--bagay-uri-offset= 1900000000 + 1
--drop-broken-refs
Gamitin ang opsyong ito kung kailangan mong tanggalin ang mga reference sa mga node na hindi kasama
dahil nakahiga sa labas ng mga hangganan (mandatory para sa ilang aplikasyon, hal. Map
kompositor, JOSM).
--drop-author
Para sa karamihan ng mga application ang mga tag ng may-akda ay hindi kailangan. Kung tinukoy mo ang opsyong ito,
walang isusulat na impormasyon ng may-akda: walang changeset, user o timestamp.
--drop-version
Kung gusto mong ibukod hindi lamang ang impormasyon ng may-akda kundi pati na rin ang numero ng bersyon,
tukuyin ang opsyong ito.
--drop-nodes --drop-ways --drop-relasyon
Ayon sa kumbinasyon ng mga parameter na ito, walang mga miyembro ng tinukoy
isusulat ang seksyon.
--diff
Kalkulahin ang pagkakaiba sa pagitan ng dalawang file at gumawa ng bagong .osc o .o5c file. doon
dapat ay DALAWANG input file at hindi mailalapat ang mga hangganan. Ang parehong mga file ay dapat na pinagsunod-sunod
ayon sa uri ng bagay at id. Ang mga nilikhang bagay ay lilitaw sa output file bilang
"binago", maliban kung mayroong numero ng bersyon 1.
--diff-content
Kapareho ng --diff, kinakalkula ng opsyong ito ang mga pagkakaiba sa pagitan ng dalawang OSM file. dito,
upang matukoy ang mga pagkakaiba kumpletong OSM bagay ay consulted, hindi lamang ang
mga numero ng bersyon. Sa kasamaang palad, ang pagpipiliang ito ay mahigpit na nangangailangan ng parehong mga input file upang
may .o5m na format.
--ibawas
Ang output file ay hindi maglalaman ng anumang bagay na umiiral sa isa sa mga input file
pagsunod sa direktiba na ito. Halimbawa: osmconvert input.o5m --ibawas minus.o5m
-o=output.o5m
--pbf-granularity=
Bihira ang mga .pbf file na may hindi karaniwang granularity. makikilala ng osmconvert
ito at imungkahi na tukuyin ang abnormal na lon/lat granularity gamit ang command na ito
opsyon sa linya. Ang mga pinapayagang halaga ay: 100 (default), 1000, 10000, ..., 10000000.
--tularan-osmosis --emulate-pbf2osm
Sa kaso ng .osm output format, susubukan ng program na gamitin ang parehong syntax ng data bilang
Osmosis, resp. pbf2osm.
--pekeng-may-akda
Kung nag-drop ka ng impormasyon ng may-akda (--drop-author) na ang data ay mawawala, ng
kurso. Ang ilang mga programa gayunpaman ay nangangailangan ng impormasyon ng may-akda sa input kahit na ginagawa nila
hindi kailangan ng data na iyon. Para sa layuning ito, maaari mong pekeng impormasyon ang may-akda.
Ang osmconvert ay magsusulat ng changeset 1, timestamp 1970.
--pekeng-bersyon
Katulad ng --pekeng-may-akda, ngunit - kung ang .osm xml ay ginagamit bilang format ng output - ang
isusulat ang numero ng bersyon (bersyon 1). Ito ay kapaki-pakinabang kung gusto mong siyasatin
ang data sa JOSM.
--pekeng-lonlat
Ang ilang mga programa ay nakasalalay sa pagkuha ng mga halaga ng longitude/latitude, kahit na ang bagay ay nasa
ang tanong ay tatanggalin. Sa pagpipiliang ito maaari kang magkaroon ng osmconvert sa pekeng mga ito
mga halaga:
... lat="0" lon="0" ...
Tandaan na ito ay para sa mga XML file lamang (.osc at .osh).
-h
Magpakita ng maikling pangkalahatang-ideya ng parameter.
- Tumulong
Ipakita ang tulong na ito.
--merge-bersyon
Ang ilang .osc file ay naglalaman ng iba't ibang bersyon ng isang bagay. Gamitin ang opsyong ito upang
tanggapin ang mga naturang duplicate sa input.
--out-osm
Isusulat ang data sa .osm na format. Ito ang default na format ng output.
--out-osc
Ang OSM Change format ay gagamitin para sa output. Pakitandaan na tinututulan ng OSM na
ang mga tatanggalin ay kakatawanin lamang ng kanilang mga id.
--out-osh
Para sa bawat OSM object, ang naaangkop na 'visible' na tag ay idaragdag upang matugunan ang 'full
detalye ng kasaysayan ng planeta.
--out-o5m
Gagamitin ang .o5m na format. Ang format na ito ay may parehong istraktura tulad ng
maginoo na .osm na format, ngunit ang data ay nakaimbak bilang mga binary na numero at ay
samakatuwid ay mas compact kaysa sa .osm na format. Walang packing na ginagamit, kaya maaari mo
pack .o5m file gamit ang bawat file packer na gusto mo, hal lzo, bz2, atbp.
--labas-o5c
Ito ang change file format ng .o5m data format. Lahat hindi magiging mga tag
isinagawa bilang mga aksyon sa pagtanggal ngunit na-convert sa .o5c na format ng data.
--out-pbf
Para sa output, PBF format ang gagamitin.
--out-csv
Isang listahan na pinaghihiwalay ng character ang isusulat sa output. Ang default na separator ay
Tab, ang mga default na column ay: uri, id, pangalan. Maaari mong baguhin ang pareho sa pamamagitan ng paggamit ng
pagpipilian --csv-separator= at --csv=
--csv-headline
Piliin ang opsyong ito para mag-print ng headline sa csv output.
--csv-separator=
Maaari mong baguhin ang default na separator (Tab) sa ibang karakter o karakter
pagkakasunod-sunod. Halimbawa: --csv-separator=";"
--csv=
Kung gusto mong magkaroon ng ilang partikular na column sa iyong csv list, mangyaring tukuyin ang kanilang mga pangalan bilang
ipinapakita sa halimbawang ito: --csv="@id name ref description" Mayroong ilang espesyal
mga pangalan ng column para sa data ng header: @otype (uri ng object 0..2), @oname (pangalan ng uri ng object),
@id @lon, @lat, @bersyon, @timestamp, @changeset, @uid, @user
--wala-wala
Hindi ito magiging karaniwang output. Ang opsyong ito ay para lamang sa pagsubok.
--timestamp= --timestamp= NGAYON
Kung gusto mong itakda ang timestamp ng OSM ng iyong output file, ibigay ito dito
opsyon. Dapat na naka-format ang petsa at oras ayon sa mga detalye ng petsa/oras ng OSM. Para sa
halimbawa: --timestamp=2011-01-31T23:59:30Z Ikaw Rin maaari magbigay a kamag-anak oras in
segundo, hal 24h nakaraan: --timestamp=NOW-86400
--out-timestamp
Sa hanay ng opsyong ito, ang osmconvert ay nagpi-print lamang ng time stamp ng input file,
walang iba.
--mga istatistika
Ang opsyong ito ay nag-a-activate ng statistics counter. Ang programa ay magpi-print ng istatistikal na data
sa stderr.
--out-statistics
Katulad ng --mga istatistika, ngunit ang istatistikal na data ay isusulat sa karaniwang output.
-o=
Ang karaniwang output ay ililipat sa tinukoy na file. Kung walang format ng output
ay tinukoy, ang program ay aasa sa extension ng pangalan ng file.
-t=
Kung ang mga hangganan ay ilalapat o ang mga sirang sanggunian ay aalisin, osmconvert
lumilikha at gumagamit ng dalawang pansamantalang file. Tinutukoy ng parameter na ito ang kanilang prefix ng pangalan.
Ang default na halaga ay "osmconvert_tempfile".
--parameter-file=FILE
Kung gusto mong magbigay ng isang ore pang mga argumento ng command line sa pamamagitan ng isang parameter file,
mangyaring gamitin ang opsyong ito at tukuyin ang pangalan ng file. Sa loob ng parameter file,
ang mga parameter ay dapat paghiwalayin ng mga walang laman na linya. Ang mga line feed sa loob ng isang parameter ay magiging
na-convert sa mga puwang. Ang mga linyang nagsisimula sa "// " ay ituturing na mga komento.
-v --verbose
Sa naka-activate na 'verbose' mode, ang ilang istatistikal na data at data ng diagnosis ay magiging
ipinapakita. Kung -v respeto --verbose ay ang unang parameter sa linya, osmconvert
ay ipapakita ang lahat ng mga parameter ng input.
TUNING
Upang pabilisin ang proseso, ang programa ay gumagamit ng ilang pangunahing memorya para sa isang hash table. Bilang default,
gumagamit ito ng 480 MB para sa pag-iimbak ng flag para sa bawat posibleng node, 90 para sa paraan ng pag-flag, at 30
mga bandila ng relasyon. Ang bawat byte ay nagtataglay ng mga flag para sa 8 mga numero ng ID, ibig sabihin, sa 480 MB ang programa
maaaring mag-imbak ng 3840 milyong mga flag. Dahil mayroong mas mababa sa 1900 milyong mga ID para sa mga node sa kasalukuyan
(Hulyo 2012), sapat na ang 240 MB. Kaya, halimbawa, maaari mong bawasan ang mga laki ng hash
hal 240, 30 at 2 MB gamit ang opsyong ito:
--hash-memorya=240-30-2
Ngunit tandaan na ang database ng OSM ay patuloy na lumalawak. Dahil dito ang
Ang default na halaga ng sariling programa ay mas mataas kaysa sa ipinapakita sa halimbawa, at maaaring naaangkop ito
upang madagdagan ito sa hinaharap. Kung ayaw mong mag-abala sa mga detalye, maaari mo
ipasok ang dami ng memorya bilang kabuuan, at hahatiin ito mismo ng programa. Para sa
halimbawa:
--hash-memorya=1000
Ang 1000 MiB na ito ay hahatiin sa tatlong bahagi: 800 para sa mga node, 150 para sa mga paraan, at 50 para sa
relasyon.
Dahil kumukuha kami ng mga hash, hindi kinakailangang ibigay ang lahat ng iminungkahing memorya; ang
Ang programa ay gagana nang may mas kaunting hash memory din. Ngunit, sa kasong ito, gagawin ng filter ng hangganan
hindi gaanong epektibo, ibig sabihin, ilang paraan at ilang relasyon ang maiiwan sa output file
bagaman sila ay dapat na hindi kasama. Ang pinakamataas na halaga na tinatanggap ng programa para sa
Ang laki ng hash ay 4000 MiB; Kung lumampas ka sa maximum na dami ng memory na magagamit sa iyong
system, susubukan ng program na bawasan ang halagang ito at magpapakita ng mensahe ng babala.
May isa pang pansamantalang memory space na ginagamit lamang para sa conversion ng mga paraan at
relasyon sa mga node (opsyon --all-to-nodes). Ang espasyong ito ay sapat para sa hanggang 25 Mio.
OSM objects, 400 MB ng pangunahing memorya ang kailangan para sa layuning ito, 800 MB kung pinalawig na opsyon
--add-bbox-tags ay tinawag. Kung hindi ito sapat o kung gusto mong makatipid ng memorya,
maaari mong i-configure ang maximum na bilang ng mga OSM object nang mag-isa. Halimbawa:
--max-objects=35000000
Ang bilang ng mga sanggunian sa bawat bagay ay limitado sa 100,000. Ito ay magiging sapat para sa lahat
OSM na mga file. Kung gagawa ka ng sarili mong mga OSM file sa pamamagitan ng pag-convert ng mga formefile o iba pa
file sa OSM na format, maaaring magresulta ito sa mga way object na may higit sa 100,000 node. Para sa
sa kadahilanang ito kakailanganin mong dagdagan ang maximum nang naaayon. Halimbawa:
--max-refs=400000
LIMITASYON
Kapag kumukuha ng isang heograpikal na rehiyon (gamit -b or -B), ang input file ay dapat maglaman ng
mga bagay na inayos ayon sa kanilang uri: una, lahat ng mga node, susunod, lahat ng paraan, sinusundan ng lahat
relasyon. Sa loob ng bawat isa sa mga seksyong ito, ang seksyon ng mga bagay ay dapat pagbukud-bukurin ayon sa kanilang id
sa pataas na ayos.
Ang karaniwang .osm, .osc, .o5m, o5c at .pbf file ay sumusunod sa kundisyong ito. Nangangahulugan ito na ikaw
huwag mag-alala tungkol sa limitasyong ito. Ang osmconvert ay magpapakita ng mensahe ng error kung
sira ang sequence na ito.
Kung ang isang polygon file para sa mga hangganan ay ibinibigay, ang maximum na bilang ng mga polygon point ay tungkol sa
40,000.
NOTA
Ang program na ito ay para sa pang-eksperimentong paggamit. Asahan ang mga malfunction at pagkawala ng data. Huwag gamitin ang
programa sa produktibo o komersyal na mga sistema.
WALANG WARRANTY, sa lawak na pinahihintulutan ng batas. Mangyaring magpadala ng anumang mga ulat sa bug sa
[protektado ng email]
Halimbawa
osmconvert europe.pbf --drop-author > europe.osm
osmconvert europe.pbf |gzip >europe.osm.gz
bzcat europe.osm.bz2 |./osmconvert --out-pbf >europe.pbf
osmconvert europe.pbf -B=ch.poly >switzerland.osm
osmconvert switzerland.osm --out-o5m >switzerland.o5m
osmconvert june_july.osc --labas-o5c >hunyo_hulyo.o5c
osmconvert june.o5m june_july.o5c.gz --out-o5m >hulyo.o5m
osmconvert sep.osm sep_oct.osc oct_nov.osc >nov.osm
osmconvert northamerica.osm southamerica.osm >americas.osm
Gumamit ng osmconvert online gamit ang mga serbisyo ng onworks.net