„mpwiz” változatai közötti eltérés
(mpwiz leírása) |
Fgg (vitalap | szerkesztései) (+ kategória) |
||
(egy szerkesztő egy közbeeső változata nincs mutatva) | |||
14. sor: | 14. sor: | ||
(C) Zaka Ferenc 2006-2008 | (C) Zaka Ferenc 2006-2008 | ||
− | zakaf | + | zakaf at citromail.hu |
(Figyelem: az mpwiz aktuális leírása mindig a program mellett található version_public.txt tartalmazza) | (Figyelem: az mpwiz aktuális leírása mindig a program mellett található version_public.txt tartalmazza) | ||
29. sor: | 29. sor: | ||
(C) Zaka Ferenc 2006-2008 | (C) Zaka Ferenc 2006-2008 | ||
− | zakaf | + | zakaf at citromail.hu |
= Használat leírása: = | = Használat leírása: = | ||
1 218. sor: | 1 218. sor: | ||
funkció:5 tizedes pontossággal dolgozik (megadása nélkül 6 tizedes pontossággal számol) | funkció:5 tizedes pontossággal dolgozik (megadása nélkül 6 tizedes pontossággal számol) | ||
+ | |||
+ | [[Kategória:Technikai segítség]] |
A lap jelenlegi, 2009. november 18., 16:46-kori változata
mpwiz v0.6.20
Link: http://mser.elte.hu/public/mpwiz.zip
mpwiz is a Windows-based command line tool for manipulating polish format (mp) files.
You are free to download and use this program for any non-commercial purpose.
You are also free to redistribute it but only with this copyright note.
This program was created for automatizing GIS processes at http://openmaps.eu. Please visit this site and help the authors to make more, better and nicer maps.
mpwiz contains code from Alan Murta. See http://www.cs.man.ac.uk/~toby/alan/software/ for GPC library.
(C) Zaka Ferenc 2006-2008
zakaf at citromail.hu
(Figyelem: az mpwiz aktuális leírása mindig a program mellett található version_public.txt tartalmazza)
Az mpwiz egy Windowsra készült parancssoros program, amely a Polish Format (mp) file-okon tud műveleteket végrehajtani.
A program szabadon (ingyenesen) letölthető és használható bármilyen nem üzleti célra. Szabadon terjeszthető azzal a feltétellel, hogy ez a szöveg a programmal együtt terjesztésre kerül.
Az mpwiz a http://openmaps.eu oldalon található térképek készítésének automatizálásához készült. Ha tudsz, segíts nekik több, jobb, szebb térképeket készíteni.
Beépítésre került az mpwiz-be Alan Murta GPC könyvtára, lásd http://www.cs.man.ac.uk/~toby/alan/software/
(C) Zaka Ferenc 2006-2008
zakaf at citromail.hu
Használat leírása:
A # jellel kezdődő sor mindig példaparancs.
A [] jelek az opcionalitást (nem kötelezőséget) jelzik.
A | jel e jel két oldalán levő lehetőségek közötti kizáró alternálást jelzi (egyik VAGY másik)
A "művelet" és a "funkció" szó az alábbiakban szinonímaként szerepel, jelentésük ugyanaz.
Általános leírás:
Az mpwiz egy paranccsoros program, amely mp (polish format) formátumú adatot tud beolvasni, azon műveleteket végezni, és az eredményt mp formátumban kiírni.
A bemenet a standard input, file-ból átirányítani a < jellel lehet. pl.
# mpwiz < valami.mp
A kimenet a standard output file-ba átirányítani a > jellel lehet. pl.
# mpwiz > valami.mp
Kérhető a -v opcióval, hogy az éppen elvégzett művelet kiírásra kerüljön, ez a standard error outputra íródik, átirányítható a 2 szimbólum átirányításával, pl.
# mpwiz 2>uzenetek.txt
(az átirányításról bővebben lásd a dos/cmd dokumentációt)
Az elvégzendő műveleteket a paranccsorba írt opciók szabják meg, az mpwiz a paranccsorba írás sorrendjének megfelelő sorrendben hajtja végre őket. Kivétel ez alól az "egyéb" műveletcsoport, amit csak egyszer, a megfelelő ponton hajt végre, függetlenül attól, hogy hol adtuk meg a rá vonatkozó opciót.
Működése: bemenet teljes beolvasása a memóriába -> opcióknak megfelelő műveletek elvégzése a megadás sorrendjében -> eredmény kiírása a kimenetre
Az mpwiz a következő elemeket ismeri- és dolgozza fel az mp adatok közül:
- objektumfajták: [POI], [POLYLINE], [POLYGON] : különbséget tesz e három objektumtípus között illetve a negyedik [IMG ID] fejlécet speciális objektumként kezeli
Minden más szekciót eldob (pl. [RESTRICT], [CITY], stb).
- DataN= N:0-10 ; az objektum egy element-jének N-edik levelen levő koordinátája/koordinátái.
> Poi esetén csak 1 element létezhet, és annak csak 1 koordinátája lehet. Ha 1-nél több koordináta van megadva, akkor nem tekinti érvényes DataN sornak. Több element esetén csak az elsőt veszi figyelembe.
> Polyline esetében bármennyi element létezhet, mindegyik minimum 2 koordinátával. Ha 2-nél kevesebb koodinátájú az element, akkor eldobja
> Polygon esetében bármennyi element létezhet, mindegyik minimum 3 koordinátával. Ha 3-nál kevesebb koodinátájú az element, akkor eldobja
Eldob továbbá minden olyan objektumot, aminek nincs legalább 1 element-je (üres objektum).
Ha egy objektum több level-re is tartalmaz Data sort, akkor azt az objektumot az mpwiz betöltéskor minden level-re külön objektumként hozza létre.
- OriginN= a DataN= sorral teljesen egyenértékű
- ExternalEndings= a routing gráf generáláshoz szükséges "külső" végpontokra vonatkozó információ, mpwiz specifikus
- DoNotDrop= a vágás-összefűzéshez megjelölt node-ok, amelyeket összefűzésnél nem kell eldobni a polyline-okból, mpwiz specifikus
- RoadID= routing információ, az mpwiz beolvasáskor felismeri és feldolgozás nélkül eltávolítja, az extrák közé sem olvassa be
- Nod...= azaz bármely "Nod" karakterhármassal kezdődő sor: routing információ, az mpwiz beolvasáskor felismeri és feldolgozás nélkül eltávolítja, az extrák közé sem olvassa be
- bármely más extra objektum-jellemző: az mpwiz nem ismeri fel, de szövegesen tárolja (manipulálható, szűrés alapjául szolgálhat, stb) (Így tehát nincs kiemelt jelentősége pl. a Type= vagy Label= paramétereknek sem!)
Több azonos nevű extra paraméter közül csak az elsőt tartja meg!
A műveletek három csoportba sorolhatóak:
szűrő műveletek
geometriai/manipulatív műveletek
egyéb műveletek
Szűrő műveletek:
Az mpwiz 2 halmazt tart fenn az objektumok számára, egy művelethalmazt és egy raktárhalmazt.
Beolvasáskor minden objektum a művelethalmazba kerül. A szűrő műveletek képesek innen vagy megsemmisíteni objektumokat, vagy átmozgatni őket a raktár halmazba. A raktár halmazból - megfelelő művelettel - az objektumok visszahelyezhetőek a művelethalmazba, de mindig csak az összes egyszerre, tehát "visszafelé szűrni" nem lehet.
Az imént emllített "raktárhalmaz -> művelethalmaz" funkción kívül minden más szűrő vagy geometriai/manipulatív művelet csak a művelethalmazban levő objektumokon hajtódik végre.
A paranccsorban megadott összes művelet elvégzése után a kimentre a művelethalmaz és a raktárhalmaz elemei egyaránt kiírásra kerülnek!
Geometriai/manipulatív műveletek:
A művelethalmazban levő objektumokon (és csak azokon!) különféle geometriai ("computational geometry") és az mp file egyéb adatait manipuláló funkciók hajthatók végre.
Egyéb műveletek:
Az egyéb műveletek a végrehajtás sorrendjébe nem illeszkednek, az mpwiz akkor hajtja végre őket, amikor szükséges. Pl. üzenetek megjelenítésére vonatkozó parancs, vagy a fejléccel kapcsolatos parancsok.
A műveletek paramétereiben gyakran alkalmazható regular expression (szabályos kifejezés). A GNU teljes értékű regexp motorja van beépítve, a lehetőségek megegyeznek az egrep unix parancs lehetőségeivel, azaz az úgynevezett extended regular expression-t használja.
Regexp tutorial: http://www.regular-expressions.info/
Fejléc: a fejléc (header) speciálisan kezelt objektum, őt szűrőkkel kiírtani nem lehet. Bármilyen szűrőt is adjunk meg, a fejléc mindig valamely halmazban marad, tehát kiírásra kerül a futás végén. Kivéve, ha egy külön erre a célra szolgáló opcióval arra nem utasítjuk az mpwizt, hogy nyelje le a fejlécet.
A fejlécre egyetlen művelet van hatással, amivel a bejegyzései módosíthatóak (extra set).
Hibák: rossz paraméter-megadás, a fejléc hiánya, stb képesek olyan hibát generálni, amitől az mpwiz a hiba észlelése után nem működik tovább. Erről minden esetben üzenettel tájékoztat, illetve az ERRORLEVEL dos/cmd változót 1-re állítja, ami alapján batch file-ban elágazást lehet megvalósítani.
Szintaxis:
mpwiz [egyéb opciók] [művelet-opció [művelet opció paramétere] [művelet-opció működését módosító opció1] [művelet-opció működését módosító opció2...]] [átirányítások]
Minden opció a - jellel kezdődik és közvetlen utána 1 karakter áll, azaz összesen mindig 2 karakter. Kis és nagybetűk különbözőek.
Bármely opció rendelkezhet paraméterrel, de mindig csak 1-el. Minden opció saját jellemzője, hogy kell-e utána állnia paraméternek. Nem kötelező paraméter nem létezik, ha egy opciónak van paramétere, akkor az minden esetben van és kötelező használni. A paraméter tetszőleges hosszú lehet.
Az opciókat egymástól, valamint az opciókat és az ő paraméterüket egy vagy több szóközzel kell elválasztani (ez a command.com/cmd.exe parancsértelmező működéséből adódik).
A funkció működést módosító opció mindig a vonatkozó művelet-opció után áll. A módosító opciók egymáshoz képesti sorrendje nem számít!
A paramétereket célszerű " jelek közé tenni, mivel számos karakter a parancsértelmező (cmd.exe, command.com) számára speciális jelentéssel bír (pl. szóköz, \ jel, stb), ezeket nem tekinti speciálisnak, ha két " jel közé tesszük. (Bővebben erről lásd a dos/cmd dokumentációt.)
Pl.
# mpwiz -v -c vágó.mp -x -z -C "Label=valami" -s -r -6 < be.mp > ki.mp
Itt:
-v : egyéb opció
-c : művelet-opció
vágó.mp : a -c paramétere
-x : a -c módosító opciója
-z : a -c módosító opciója (állhatnának -z -x sorrendben is)
-C : a -c módosító opciója
Label=valami : a -C paramétere
-s : művelet-opció
-r : művelet-opció
-6 : a -r módosító opciója
< be.mp : bemenet átirányítása a be.mp-file-ra
> ki.mp : bemenet átirányítása a be.mp-file-ra
Műveletek és opcióik:
( Teljesen balra igazítva találhatóak a művelet-opciók, TAB behúzásnyira a módosító opciók. )
Szűrő műveletek
-k : kind filter
paraméter:regex kifejezés, az objektum-típusnevekből alkotva
funkció:objektum-fajta szűrő, csak az illeszkedő fajtájú objektumok maradnak a művelethalmazban. Az objektum típusnevek: POI, POLYLINE, POLYGON, HEADER
-i : inclusive
paraméter:nincs
hatás:megadásakor a szűrőkre nem illeszkedő objektumok a raktárhalmazba kerülnek, egyébként törlődnek. A headert mindig inkluzívan kezeli, függetlenül a -i opciótól! HEADER-re csak a -e művelet van hatással!!!
pl:
# mpwiz -k "POLYGON|POLYLINE" < be.mp > ki.mp
-q : min area/length filter
paraméter: egy decimális egész vagy tört szám
funkció: terület/hossz szűrő, az opció paramétereként megadott számnál csak a nagyobb területű polygonok (km2-ben) vagy a nagyobb hosszúságú polyline-ok maradnak a művelethalmazban (km-ben)
-i : inclusive
paraméter: nincs
hatás: megadásakor a szűrőkre nem illeszkedő objektumok a raktárhalmazba kerülnek, egyébként törlődnek.
-T : area/length filter Type
paraméter: filter-típus-string
filter-típus-string : egyike ezen szavaknak: first, sum, biggest, smallest, subtract_holes, ignore_holes. Ha nem adjuk meg, akkor a first az alapértelmezett, vonalaknál és felületeknél egyaránt.
hatás: a polygon területének illetve a vonal hosszának számítását adja meg
first: az mp-ben elsőnek szereplő element területe/hossza
sum: az összes element terület/hossz összege
biggest: a legnagyobb területű/hosszú element területe/hossza
smallest: a legkisebb területű/hosszú element területe/hossza
subtract_holes: polygonoknál detektálja, hogy melyik element lyuk, külön summázza a nem-lyuk és lyuk elementek területét, majd az összesített nem-lyuk területből kivonja a lyuk-elementek összterületét. Vonalaknál nincs hatása, megadásakor vonalaknál az alapértelmezés lesz érvényben.
ignore_holes: polygonoknál detektálja, hogy melyik element lyuk, a lyuk-elementek területét nem számolja ki, a nem-lyuk elementek területét összeadja. Vonalaknál nincs hatása, megadásakor vonalaknál az alapértelmezés lesz érvényben.
(Megjegyzés lyuk-vizsgálathoz: a mapedit minden element-re megállapítja, hogy hány darab másik element-nek "lyukja" az épp vizsgált element; ha ez a szám páros, az element nem lyuk, ha páratlan, akkor lyuk. Két element közötti lyuk relációt pedig úgy állapítja meg, hogy A element lyukja / nem lyukja B-nek, ha A első, nem B élére eső pontja belül / kívül van B-n (azaz gyakorlatilag az első pont határozza meg, hogy lyuk v. nem). Ez relatív gyors, de igen buta mód. Az mpwiz a két element közötti relációt úgy állapítja meg, hogy A element lyukja B-nek ha a minden pontja benne van B-ben, egyébként nem lyuk. Kivéve, ha megadjuk a "-R szám" módosító opciót, akkor ha a megadott számnál nagyobb arányban vannak a vizsgált element node-jai a tartalmazó element-ben, már belsőnek, azaz lyuknak tekinti. [A "lyukságra" elméletileg sem lehet egyértelmű definíciót adni.])
futásidő:
first :a leggyorsabb, az első element node-számával lineáris idejű
sum, biggest,smallest :közepesen gyors, az objektum összes node-számával lineáris idejű
subtract-holes, ignore_holes :lassú, az össz node-számmal lineáris-, az elementek számával négyzetes idejű, de függ attól is, hogy mennyi node nem esik a többi element-be, és melyik az első külső node.
-R : node Ratio
paraméter: 0 és 1 közötti R szám, a határokat nem beleértve
hatás:a -T subtract_holes, ignore_holes opcióival együtt van értelme használni, ekkor az R szám azt adja meg, hogy az "A element lyuk-e B-n" vizsgálatnál az A node-jainak legalább mekkora hányada kell a B-be essen, hogy lyuknak tekintse.
pl.
# mpwiz -q 20.5 -T subtract_holes -R 0.5 < be.mp > ki.mp
Ekkor lyuknak tekinti az elementet, ha legalább a node-jainak fele a másik element-be esik.
-l (kis L): filter by line lengths
paraméter:nincs
hatás:a filter a vonalakra hat, a vonalak lesznek szűrve hosszuk alapján. Elhagyása esetén a polygonok lesznek szűrve, területük alapján.
-D : Drop elements:
paraméter:nincs
hatás:a szűrés element-ekre vonatkozik. -i nélkül a feltételnek meg nem felelő elementek törlődnek.
-i-vel a raktárhalmazban új objektum jön létre, melynek extra paraméterei megyegyeznek a kiinduló objektuméval, de csak a feltételnem nem megfelelő elementeket fogja tartalmazni.
Akár -i-vel, akár nélküle, ha a művelethalmazbeli objektum egyetlen eleme sem felel meg a feltételeknek, akkor maga az objektum is törlődik.
pl:
# mpwiz -q 20.5 -T sum < be.mp > ki.mp
-Q : max area/length filter
paraméter:egy decimális egész vagy tört szám
funkció:terület/hossz szűrő, az opció paramétereként megadott számnál csak a kisebbek maradnak a művelethalmazban (km2-ben)
-i : inclusive
paraméter:nincs
funkció:terület/hossz szűrő, az opció paramétereként megadott számnál csak a kisebbbb területű polygonok (km2-ben) vagy a kisebb hosszúságú polyline-ok maradnak a művelethalmazban (km-ben)
-T : area/length filter Type
paraméter:filter-típus-string
filter-típus-string :egyike ezen szavaknak: first, sum, biggest, smallest, subtract_holes, ignore_holes. Ha nem adjuk meg, akkor a first az alapértelmezett.
hatás:a polygon területének illetve a vonal hosszának számítását adja meg
first: az mp-ben elsőnek szereplő element területe/hossza
sum:az összes element terület/hossz összege
biggest:a legnagyobb területű/hosszú element területe/hossza
smallest:a legkisebb területű/hosszú element területe/hossza
subtract_holes:polygonoknál detektálja, hogy melyik element lyuk, külön summázza a nem-lyuk és lyuk elementek területét, majd az összesített nem-lyuk területből kivonja a lyuk-elementek összterületét. Vonalaknál nincs hatása, megadásakor vonalaknál az alapértelmezés lesz érvényben.
ignore_holes:polygonoknál detektálja, hogy melyik element lyuk, a lyuk-elementek területét nem számolja ki, a nem-lyuk elementek területét összeadja. Vonalaknál nincs hatása, megadásakor vonalaknál az alapértelmezés lesz érvényben.
futásidő:
first :a leggyorsabb, az első element node-számával lineáris idejű
sum, biggest,smallest :közepesen gyors, az objektum összes node-számával lineáris idejű
subtract-holes, ignore_holes :lassú, az össz node-számmal lineáris-, az elementek számával négyzetes idejű, de függ attól is, hogy mennyi node nem esik a többi element-be, és melyik az első külső node.
-R : node Ratio
paraméter:0 és 1 közötti R szám, a határokat nem beleértve
hatás:a -T subtract_holes, ignore_holes opcióival együtt van értelme használni, ekkor az R szám azt adja meg, hogy az "A element lyuk-e B-n" vizsgálatnál az A node-jainak legalább mekkora hányada kell a B-be essen, hogy lyuknak tekintse.
pl.
# mpwiz -q 20.5 -T subtract_holes -R 0.5 < be.mp > ki.mp
Ekkor lyuknak tekinti az elementet, ha legalább a node-jainak fele a másik element-be esik.
-l : filter by line lengths
paraméter:nincs
hatás:a filter a vonalakra hat, a vonalak lesznek szűrve hosszuk alapján. Elhagyása esetén a polygonok lesznek szűrve, területük alapján.
pl:
# mpwiz -Q 52.5 -l -T subtract_holes < be.mp > ki.mp
-f : filter
paraméter: filter-string, formátuma : [@Dparamnév1=regex1Dparamnév2=regex2... ahol
@Da @ karakter és utána egy tetszőleges karakter, ami a delimiter lesz a továbbiakban. Elhagyása esetén maga a @ karakter a delimiter
paramnév1egy extra név
regex1egy szabályos kifejezés, mely paramnév1 extra tartalmára kell illeszkedjen
Dparamnév1 és paramnév2 (és kívánt regex értékekik) elválasztására szolgáló karakter
Paramnév2következő extra név
Regex2következő szabályos kifejezés, mely paramnév2 extra tartalmára kell illeszkedjen
...az Extranév=extraérték ismételhetőségét jelzi
funkció:szűrő, az objektum extra paraméterei alapján szűr, csak az illeszkedő objektumok maradnak a művelethalmazban, a delimiter mindig ÉS kapcsolatot jelent. Tetszőleges számú Extra=érték páros megadható.
-i : inclusive
paraméter:nincs
hatás:megadásakor a szűrőkre nem illeszkedő objektumok a raktárhalmazba kerülnek, egyébként törlődnek.
-t : traverse filter
paraméter:nincs
hatás:a megadott feltételekre NEM illeszkedő elemeket dolgozza fel
pl.
# mpwiz -f "@%Label=[0-9]+%Email=.+@hotmail\.com" -t -i < be.mp > ki.mp
# mpwiz -f "Type=0x[0]*19$" < be.mp > ki.mp
-V : leVel filter
paraméter:level érték vagy értékek vesszővel elválasztva
funkció:a megadott szint(ek)en levő objektumok maradnak a művelethalmazban
-i : inclusive
paraméter:nincs
hatás:megadásakor a szűrőkre nem illeszkedő objektumok a raktárhalmazba kerülnek, egyébként törlődnek.
pl.
# mpwiz -V 0,1,2 < be.mp > ki.mp
-4 : rectangle filter
paraméter:minlat,minlon,maxlat,maxlon[,minlat2,minlon2,maxlat2,maxlon2[,...]]
vagy:@filenév
minlat,minlon,maxlat,maxlon : racionális számok, a téglalap "bal alsó" és "jobb felső" koordinátái, több téglalap is megadható
filenév:koordinátákat e szöveges file-ból olvassa be
funkció:a megadott téglappal/téglalapokkal metsző objektumok maradnak a művelethalmazban
-i : inclusive
paraméter:nincs
hatás:megadásakor a szűrőkre nem illeszkedő objektumok a raktárhalmazba kerülnek, egyébként törlődnek.
pl.
# mpwiz -4 47.2,18.2,49.1,20.5,50.2,11.8,52,13 -i < be.mp > ki.mp
-U : Unfilter
paraméter:nincs
funkció:a raktárhalmazban levő objektumokat visszateszi a művelethalmazba
-t : swiTch
paraméter:nincs
hatás:az eredeti -U művelet helyett a raktár- és művelethalmaz elemeit felcseréli
pl.
# mpwiz -k POLYGON -i -U < be.mp > ki.mp
*** Geometriai/manipulatív műveletek ***
-L : convert to polyLine
paraméter:nincs
funkció:a felületeket vonallá konvertálja
pl.
# mpwiz -L < be.mp > ki.mp
-G : convert to polyGon
paraméter:nincs
funkció:a vonalakat felületté konvertálja
pl.
# mpwiz -G < be.mp > ki.mp
-e : extra set
Paraméter:set-string, formátuma "Paraméternév=konstans<meglévő-paraméter-érték>..." vagy "Paraméternév=konstans<meglévő-paraméter-érték=szám1,szám2>..." ahol
Paraméternévaz átállítandó extra neve
konstanstetszőleges szöveg
<paraméter-értékre utalás kezdő jele
meglévő-paraméter-értékegy tetszőleges extra praméter név, ennek értéket helyettesíti be a név helyére
=a <> jelek közötti = jel után álló vesszővel elválasztott egész szám, a kezdő karakterpozíció és a kívánt hossz
>paraméter-értékre utalás záró jele
...konstansok és <meglévő-paraméter-érték> -ek ismételhetőségét jelzi
funkció:a megadott nevű extra értékét átállítja a paraméter szerint. Ha konstans szövegbe < vagy > jelet akarunk tenni, duplázzuk meg
A <> jelek közötti = jel a substring funkciót valósítja meg. Az = jel utáni első szám a kezdőpozíciót jelenti (nullától indexelve), a vessző utáni második szám a beillesztendő karakterek száma.
pl.
# mpwiz -e "Label=<HUN>(<TM>)" < be.mp > ki.mp
# mpwiz -e "Label=<HUN=1,2>" < be.mp > ki.mp
ez a példa a Label értékét a HUN extra második és harmadik karakterér állítja, pl. ha HUN=ABCDE, akkor Label=BC lesz.
# mpwiz -e "Label=<<<Label>>>" < be.mp > ki.mp
ez a példa a Label értéke elé és mögé tesz egy-egy < és > jelet
-E : set lEvel
paraméter:egy egész szám, a 0-10 tartományban
funkció:minden objektumot az adott level-re teszi
pl.
# mpwiz -E 3 < be.mp > ki.mp
-m : merge
paraméter:nincs
funkció:multi-element polyline-ok elementjeinek összefűzése egy element-be, ha lehetséges
-w : use old-style oneWayness
paraméter:nincs
hatás:a vonalak egyirányúságára a DirIndicator extrát használja
pl.
# mpwiz -m < be.mp > ki.mp
-j : join
paraméter:összefűzést szabályozó string, formája: [!]extranév1,[!]extranév2...] ahol:
!a mögötte álló feltétel NEM teljesülése esetén ad igazat a rész-kifejezés
extranév1első összehasonlítandó extra neve
,extraneveket elválasztó karakter
extranév2első összehasonlítandó extra neve
...a ! jel és az extranevek ismételhetőségét jelzi
funkció:összefűz vonalakat, ha a végpontjuk egybeesik és a megadott paraméterek értékei egyeznek, a ! jellel kezdődő paraméternevek esetén akkor, ha azok NEM egyeznek.
Összefűz polygonokat is, ha a megadott paraméterek értékei egyeznek, összefűzésekor eltávolítja azokat a pontokat, amelyek éppen az adott pont két szomszédos pontja által meghatározott szakaszra esnek (azaz generalizál egy olyan értékkel, ami az adott tizedes-pontosság mellett a hibahatárnál minimálisan nagyobb [kivéve -J opció megadásakor, lásd ott])
adott nevű extra paramétert egyezőnek vesz, ha értékük megegyezik, vagy az adott nevű paraméter mindkét objektumból hiányzik. Több extra-név megadásakor a részfeltételek között ÉS kapcsolat van
-l : loop avoidance
paraméter:nincs
hatás:használatával nem von össze úgy vonalakat, hogy "kör" keletkezzen
-B : Bow avoidance
paraméter:nincs
hatás:használatával nem von össze úgy vonalakat, hogy "hurok" keletkezzen, azaz meggátolja azt, hogy az összevonás olyan vonalat generáljon, aminek van többszörös node-ja (azaz önmagába visszatér)
-N : rectaNgle join
paraméter:téglalap koordinátái, min_lat,min_lon,max_lat,max_lon formában; min_lat,min_lon a "bal alsó"-, max_lat,max_lon a "jobb felső" koordinátái a téglalapnak
hatás:> vonalak összefűzésénél csak a megadott téglalap oldalaira eső node-oknál fűz össze
> felületek összefűzésekor csak akkor van hatása, ha a -O kapcsolót is megadtuk. Ekkor a az "overlapping node"-ok számlálásakor csak azokat veszi figyelembe, ahol ezek a fedésben levő pontok pontosan a megadott téglalap éleire esnek
-O : number of Overlapping nodes
paraméter:nullánál nagyobb egész szám
hatás:polygonok összefűzésénére van hatással, csak azokat a polygonokat fűzi össze, ahol legalább a megadott darabszámú közös node van
-J : do not generalize when Joining
paraméter:nincs
hatás:polygonok összefűzésénél -J megadásakor nem generalizál a "rácshibával" (ld. -j leírását is)
-R : eRror factor
paraméter:5 vagy 6
hatás:a polygon-összefűzés utáni generalizálás számára megmondja, hogy milyen pontosságúnak vegye a koordinátákat, tizedesjegyek számát kell megadni, jellemzően 5 v. 6. (A hibahatár Mo-on nagyjából 5 tizedesnél 1.4m, 6 tizedesnél 14cm). Az alapértelmezés 6.
-D : Drop unecessary nodes
paraméter:nincs
hatás:vonalak összefűzésénél a csatlakozó végpontokat teljesen eltávolítja a vonalból, kivéve, ha azt a vágásnál a -D-vel megjelölte és az összefűzésnél is megadjuk ezt az opciót
-i : extra inheritance control
paraméter:Extra vagy Extra=érték, ahol Extra az objektum egy extra paraméterének neve, érték pedig annak értéke
hatás:összefűzésnél az összevonandók közül a Key vagy Key=Value-t tartalmazó objektumtól kapja az extra paramétereket
(ha nem adunk meg -i opciót vagy mindkettő rendelkezik a megadott extrával, akkor nem determinisztikus, hogy melyik objektum extráit kapja az összevonással létrejött objektum)
-x : use extra algorithm on coinciding polygon-join (with -O)
paraméter:rácsba osztást szabályozó paraméter, formája: lat_irányú_rácsméret[-|/]lat_csökkentés_faktor,lon_irányú_rácsméret[-|/]lon_csökkentés_faktor ahol:
lat_irányú_rácsméret"függőleges" irányban ennyi részre osztja a teljes file befoglaló téglalapját, nullánál nagyobb egész
/a rácsméret-csökkentést lat irányban osztással végzi
-a rácsméret-csökkentést lat irányban kivonással végzi
lat_csökkentés_faktora csökkentést mértéke, osztásnál osztó (egynél nagyobb valós szám), kivonásnál kivonandó (nullánál nagyobb valós szám)
lon_irányú_rácsméret"vízszintes" irányban ennyi részre osztja a teljes file befoglaló téglalapját, nullánál nagyobb egész
/a rácsméret-csökkentést lon irányban osztással végzi
-a rácsméret-csökkentést lon irányban kivonással végzi
lon_csökkentés_faktora csökkentést mértéke, osztásnál osztó (egynél nagyobb valós szám), kivonásnál kivonandó (nullánál nagyobb valós szám)
hatás:-O opcióval együtt lehet használni, hatására a polygonok összevonását az alábbiak szerint végzi: a polygonokat szétválogatja a befoglaló téglalpjuk közepe szerint egy "téglalap-rács" celláiba (a lat_irányú_rácsméret és a lon_irányú_rácsméret paramétereknek megfelelő induló rácsmérettel) , majd a polygonokat cellánként külön vonja össze. Utána csökkenti a rácsméretet (a paraméterekben megadottak szerint, ha tört szám jönne ki, akkor lefelé kerekít, ha az eredmény egynél kisebb, akkor egyet vesz), az eredmény-polygonokat újra szétossza, majd megint cellánként külön összevon. Ezt egészen addig folytatja, míg 1x1-es "ráccsal" is elvégezte, akkor készen van az összevonás. (A rácsba osztás, rácsból összevonás, stb + műveletek veszteséget jelentenek, míg a több menetben végzett összevonás jelentős nyereséget, az objektum- és node-számokhoz viszonyított exponenciális futásidő miatt. Minden adattömegnek van egy optimuma, ahonnan a rácsméret növelése miatt a + műveletek többet vesznek el, mint amennyi nyereség van a szétosztáson. Egy Magyarország méretű országnál kb. a 16x16 vagy a 32x32-es rács 2-es osztókkal kb. optimális eredményt adhat, de a végeredmény nagyban függ a teljes térkép alakjától, a polygonok eloszlásától, stb)
-T : detect holes as maPedit do
paraméter:nincs
hatás:a polygon-összevonások után a létrejött element-ek "lyukságát" úgy állapítja meg, mint a mapedit (előrehozza nem-lyukat és hátra a lyukakat)
-w : use old-style oneWayness
paraméter:nincs
hatás:a vonalak egyirányúságára a DirIndicator extrát használja
-t : disTance filter
paraméter:d valós szám, méterben értendő
hatás:polygont csak akkor join-ol, ha a megadott távolságnál közelebb vannak az összefűzendő polygonok centroidjai
pl.
#mpwiz -j "Label,!Type" -l -B -O 2 -x "16/2,8-1" -R 5 -D -i "Stronger=1" -N "47.20,20.50,48.00,21.10" < be.mp > ki.mp
-g : generalize
paraméter:R pozitív racionális szám (egész vagy tört), méterben értendő
funkció:"egyszerűsít" vonalakat vagy felületeleket úgy, hogy kivesz pontokat belőlük, oly módon, hogy egyetlen törölt pont sincs messzebb az eredményül kapott objektum éleitől, mint a megadott R szám
-a : adhesive generalization
paraméter:nincs
hatás:használatakor nem töröl olyan pontot a generalizálás, ahol ugyanolyan fajtájú objektumnak van másik node-ja (coinciding polyline, vagy tökéletesen passzintott polygonok). Vonalaknál nagyon ajánlott!!
-A : extra Adhesive generalization
paraméter:nincs
hatás:vonalaknál a hatása megegyezik -a-val; két (vagy több) polygon több node-on keresztüli együttfutó oldalait is generalizálja, de úgy, hogy megtartja a polygonok illeszkedését.
-N : Number of target nodes
paraméter:N pozitív egész szám, az elérendő polygon-node szám
hatás:-x és -l kapcsolókkal együtt értelmes, lásd lejjebb
-x : max generalization value
paraméter:Rx pozitív racionális szám (egész vagy tört), méterben értendő, a generalizálás maximum értéke
hatás:-N és -l kapcsolókkal együtt értelmes, lásd lejjebb
-l : approximation limit
paraméter:Ra pozitív racionális szám
hatás:-x és -N paraméterekkel együtt értelmes használni. A poylgon-generalizálást oly mód végzi, hogy az egyszerűsített polygonnak maximum N node-ja maradjon. Ehhez felező keresést használ a m=(R+Rx)/2 kezdeti értékkel. Majd folytatja m=(R+m)/2 vagy m=(m+Rx)/2 értékkel, attól függően, hogy a próbaként kapott polygon node-száma kisebb vagy nagyobb N-nél. A felezést és generalizálást m-mel addig folytatja, míg 1) a node-szám pontosan N-nek nem adódott, vagy 2) az aktuális felezendő tartomány kisebbé vált, mint Ra
pl.
# mpwiz -g 5 -A < be.mp > ki.mp
-c : cut
paraméter:a vágópolygont tartalmazó file neve (lehet ugynaz, mint a bemeneti file!)
funkció:vágópolygonnal vág, azaz a kimenetbe a polygon belsejébe eső objektumok vagy objektumrészek kerülnek
-x : mark external nodes
paraméter:nincs
hatás:megadása esetén a -c vágófunkció megjelöli a vágott végeket (ExternalEndings extra paraméterrel) a routing funkció számára, hogy az external node-okat tudjon majd állítani
-p : border-inclusive point-in-polygon
paraméter:nincs
hatás:használata esetén a vonalvágáshoz és a "pontvágáshoz" olyan pont-a-polygonban-van-e algoritmust használ, ami minden vágópolygon élre eső pontot a vágópolygonon belülinek mond. Elhagyása estén olyan pont-a-polygonban-van-e algoritmust használ, ami egymással tökéletesen érintkező polygonok esetén is 1 pontot biztosan csak egy polygonba válogat bele
-D : mark nodes to be unDropped
paraméter:nincs
hatás:megjelöli azokat a polyline-node-okat (DoNotDrop extra paraméterrel), amelyek pont a vágópolygon node-jára esnek, hogy a -j funkció ezeket ne távolítsa majd el
-C : Cutting polygon name
paraméter:Extra=érték ahol Extra egy extra paraméter neve, érték pedig annak értéke
hatás:itt megadható a vágópolygont tartalmazó file-ban annak a polygonnak egy paramétere, amivel éppen vágni akarunk, pl. -C "Label=bihar". Elhagyása esetén az első polygonnal vág.
-z : dont create short polylines
paraméter:R pozitív racionális szám (egész vagy tört), méterben értendő
hatás:vonalvágáskor nem készít a megadott R-nél rövidebb vonalat (inkább egyben hagyja, ha a vágással ilyen keletkezne)
-T : deTect holes as mapedit do
paraméter:nincs
hatás:a polygon-vágások után a létrejött element-ek "lyukságát" úgy állapítja meg, mint a mapedit (előrehozza nem-lyukat és hátra a lyukakat)
-a : act like ABA analyze
paraméter:nincs
hatás:a vágás után
1. megvizsgálja, hogy az adott pontosságra való kerekítés után nincs-e olyan háromszög, melynek legalább 2 koordinátája azonos (ABA 3szög), ha van, ezeket eldobja
2. megvizsgálja, hogy a vágópolygon területén kívül nincs-e olyan háromszög, melynek az adott pontosságra való kerekítés után legalább 2 koordinátája azonos. Ha van, ezeket visszaforrassza a vágópolygon belsejébe eső objektum-részre
-N : help with giving cutting rectaNgle coordinates
paraméter:téglalap koordinátái, min_lat,min_lon,max_lat,max_lon formában; min_lat,min_lon a "bal alsó"-, max_lat,max_lon a "jobb felső" koordinátái a téglalapnak
hatás:-a-val együtt van értelme használni; ha a -a a 2.lépésben visszaforraszt egy ABA háromszöget, akkor a vágóélre eső pontok feleslegesen az objektum részei maradnak. Ha megadjuk azt, hogy a vágópolygon valójában egy téglalap volt, akkor ennek segítségével a felesegesen bent maradt node-okat "kigeneralizálja".
-O : detect onlaying polyline edges :
paraméter:nincs
hatás:a vágópolygon élére pontosan illeszkedő vonalat nem vágja véletlenszerű két darabra, hanem nem metszőnek veszi
pl.
# mpwiz -c cutter.mp -x -p -D -C "Label=region1" -z < be.mp > ki.mp
-s : split
paraméter:nincs
funkció:multi-element polyline-okat egy-elementes vonal-objektumokra osztja szét
multi-element polygonokat úgy oszt szét több objektumra, hogy egy objektumban egy outer element marad csak, az inner element-eket pedig tartalmazás alapján szétosztja az outerek között. Abban az esetben, ha egy vagy több element élei metszik más element éleit, akkor nem minden esetben definiálható egyértelműen, hogy egy inner melyik outerhez tartozik, ilyenkor "véletlenszerűen" dől el az inner hovatartozása. Ez a funkció garantálja, hogy a -T módosító nélkül is biztosan az 1 db outer lesz az első element az outputban.
-x : XOR polygons
paraméter:nincs
hatás:polygonoknál a fentebb leírt szétosztó módszer _helyett_ az elementek közt XOR műveletet végez. Azaz 1) nem lesz olyan element, aminek bármely éle metszené más element élét (legfeljebb együtt futnak); 2) a keletkező polygon területén bármely pont maximum 2 element-be esik; 3) amely pont a xor művelet előtt páratlan számú element-be esett, az a pont a xor után a polygon belsejében/területén lesz, azaz ki lesz színezve kirajzoláskor; 4) amely pont a xor művelet előtt páros számú element-be esett, az a pont a xor után a nem lesz a polygon belsejében/területén, azaz lyuk lesz, nem lesz kiszínezve kirajzoláskor.
-T : detect holes as maPedit do
paraméter:nincs
hatás:a polygon-összevonások után a létrejött element-ek "lyukságát" úgy állapítja meg, mint a mapedit (előrehozza nem-lyukat és hátra a lyukakat)
-D : drop other elements
paraméter:nincs
hatás:csak az első elementet tartja meg. A többi -s művelet UTÁN csinálja meg, ha megadtuk ezt a módosítót
pl.
# mpwiz -s -x -T < be.mp > ki.mp
-S : unSplit
paraméter:extra paraméter nevek, vesszővel elválasztva: extranév1,extranév2,...
funkció:több element-es vonallá von össze különálló vonalakat, ha a megadott nevű paraméterek megegyeznek
pl.
# mpwiz -S "Label,Type" < be.mp > ki.mp
-b : boundary node-mark
paraméter:a határpolygont tartalmazó file neve (lehet ugynaz, mint a bemeneti file!)
funkció:megjelöli a routing node generálás funkció számára external node gyártáshoz mindazon vonalak végpontjait amik a határpolygon.mp-ben levő polygon node-jaira illeszkednek
-C : Cutting polygon name
paraméter:Extra=érték ahol Extra egy extra paraméter neve, érték pedig annak értéke
hatás:itt megadható a határpolygont tartalmazó file-ban annak a polygonnak egy paramétere, amivel éppen jelölni akarunk, pl. -C "Label=bihar". Elhagyása esetén az első polygonnal jelöl
pl.
# mpwiz -b boundaries.mp -C "Label=region1" < be.mp > ki.mp
-n : multi-node mark
paraméter:típus-string, ahogyan az mp file a típuskódokat ábrázolja, hexadecimális alakban, pl. 0x100
funkció:poit tesz a kimenetbe ott, ahol polyline-elementben egy koordinátán több node is van
pl.
# mpwiz -n 0x2345 < be.mp > ki.mp
-o : orphan mark
paraméter:típus-string, ahogyan az mp file a típuskódokat ábrázolja, hexadecimális alakban, pl. 0x100
funkció:poit tesz a kimenetbe ott, ahol polyline végpont árva, azaz nem csatlakozik más vonal végpontjához
pl.
# mpwiz -o 0x2345 < be.mp > ki.mp
-u : unconnected endpoint mark
paraméter:típus-string, ahogyan az mp file a típuskódokat ábrázolja, hexadecimális alakban, pl. 0x100
funkció:poit tesz a kimenetbe ott, ahol polyline végpont nem csatlakozik más vonal bármely node-jához
pl.
# mpwiz -u 0x2345 < be.mp > ki.mp
-I : mark Intersecting lines
paraméter:típus-string, ahogyan az mp file a típuskódokat ábrázolja, hexadecimális alakban, pl. 0x100
funkció:poit tesz a kimenetbe ott, ahol polylineok szakaszai metszik egymást (nem node-nál)
-l : seLf intersecting check
paraméter:nincs
hatás:minden vonalat csak saját magára vizsgál, azaz nem node-nál önmetsző vonalak metszési pontjára illeszt poit
pl.
# mpwiz -I 0x2345 < be.mp > ki.mp
-2 : mark two too close nodes
paraméter:R pozitív racionális szám
hatás:megjelöli poi beillesztésével azon node-okat, amelyek a) nem egy objektumhoz tartoznak, b) nem pontosan egy koordinátán vannak, c) a távolságuk kisebb, mint R
-p : poi type
paraméter:poi typus, mp formátumban, pl. 0x1700, alapértelmezés a 0x0
hatás:a beillesztett poik ilyen típusúak lesznek
-x : extra names
paraméter:extra név vagy nevek vesszővel elválasztva
hatás:csak akkor illeszt be poit, ha a fenti feltételeken kívül az is teljesül, hogy az itt megadott extra paraméterek értékei egyeznek a két közeli node-ot tartalmazó objektumnál
pl.
# mpwiz -2 2.5 -p 0x1700 -x Label < be.mp > ki.mp
-M : naMe objects by another kind of objects
paraméter:nevestípus,elenevezendőtípus,extranév,delimiter formátumú string, ahol
nevestípus:a "nevet" tartalmazó objektum mp formátumú típusa, pl. 0x100
elnevezendőtípus:az elnevezendő objektum mp formátumú típusa, pl. 0xd
extranév: a "nevet" tartalmazó extra paraméter neve
delimiter:ezt a stringet teszi két név közé elválasztónak, ha egy objektumnak több nevet is kell adni
funkció:- polygont nevez el poi alapján, ha a poi a polygonba esik (ALAPÉRTELMEZÉS), vagy
- vonalat nevez el polygon alapján, ha a vonal a polygonba esik (teljesen v. részlegesen)
- poit nevez el polygon alapján, ha a poi a polygonba esik
Az elnevezést úgy hajtja végre, hogy a megadott extra paraméterének értékét hozzáfűzi a polygon ugyanilyen nevű extra paraméterének értékéhez
-Y : nameless onlY
paraméter:nincs
hatás:megadása esetén csak akkor nevez el obejktumot, ha annak még nincs neve (nincs olyan nevű extra paramétere vagy az üres string)
-x : reset name first
paraméter:nincs
hatás:az (első) elnevezés előtt az extranév tartalmát törli
-l : name line by polygons
paraméter:[any|all]
hatás:vonalat nevez el polygonba esés alapján, any esetén beleesőnek minősíti, ha a vonal bármely pontja a polygonba esik, all esetén csak ha mindegyik
-p : name pois by polygons
paraméter:nincs
hatás:poit nevez el polygon alapján, ha a polygonba esik a poi
pl.
# mpwiz -M "0x2345,0xd,Label,|" -Y < be.mp > ki.mp
-r : routing graph generation
paraméter:nincs
funkció:routing graph-ot generál
-6 : mark sections below 6m
paraméter:poitípus
poitípus : a megjelöléshez használandó poi mp formátumú típusa, pl. 0x100
hatás:routing graph generálás után poit tesz a kimenetbe a cgpsmapper szerint túl rövid routing szakaszok két végpontjára
-R : process turn Restriction lines
paraméter:r_polylinetípus
r_polylinetípus:a kanyarodás-tiltás vonal mp formátumú típusa, pl. 0x2f
hatás:a routing graph generálás után az r_polylinetípus típusú vonalak alapján [Restrcit] szekciókat generál a cgpsmapper számára
A kanyarodástiltó vonal (TRL) kötelezően 3 node-ból kell álljon. Az első node a kiinduló vonal (amelyről nem szabad kanyarodni) elágazás-node-ja előtti bármely node-jával kell egybeessen. A második TRL node az elágazásra kell essen, azaz ahol a két út-polyline közös node-ja van. A harmadik TRL node a cél-polyline (amelyre nem szabad kanyarodni) elágazás node-ja utáni bármely node.
-D : Delete turn restriction lines
paraméter:nincs
hatás:a -R-nél megadott típusú vonalakat törli a műveletek elvégzése után
-i : insert pois onto invalid turn restrictions
paraméter:h_poitípus
h_poitípus:beszúrandó poi mp formátumú típusa, pl. 0x100
hatás:ha a -R meg van adva, és TRL vonallal találkozik, ami alapján nem lehet [Restrict] szekciót generálni (rossz az illesztés,stb) akkor beszúr egy poit a kanyarodástiltó vonal második (középső) node-jára
-O : start with zero node id
paraméter :nincs
hatás :a node_id-ket nullától kezdi (egyébként 1-től)
pl.
# mpwiz -r -6 "0x1700" -R "0x2f" -D -i "0x1700" < be.mp > ki.mp
-F : Filter extras
paraméter:extranév_regex : tetszőleges szabályos kifejezés
funnkció:használatával csak az extranév_regex-re illeszkedő nevű extra paraméterek maradnak meg, a többi törlésre kerül
-T: Traverse extra filter
paraméter:nincs
hatás:használatával az extranév_regex-re NEM illeszkedő nevű extra paraméterek maradnak meg
pl.
# mpwiz -F "^Label$|^Type$" -T < be.mp > ki.mp
-d : duplicate object
paraméter:egy db - jel, vagy
egy Extra=érték pár
funkció:az objektumokat megduplázza, mindegyikből kreál egy másik ugyanolyat. Ha a paraméter egy db - jel, akkor a duplikált objektum pont olyan lesz, mint az eredeti
ha egy Extra=érték párost adunk meg, akkor a másolat megkapja ezt a + extrát
pl.
# mpwiz -d "Duplicated=1" < be.mp > ki.mp
# mpwiz -d - < be.mp > ki.mp
-P : mark Polyline with Poi
paraméter:jelzéstávolság,minimum-hossz,poitípus ahol:
jelzéstávolság:pozitív racionális szám méterben
minimum-hossz:pozitív racionális szám méterben
poitípus:mp formátumú típus-string; ilyen típusú poikat ad hozzá
funkció:a vonalakon poikat helyez el úgy, hogy megpróbálja az alábbi minta szerint elosztani a vonalon a poikat:
<vonalvég> <jelzéstávolság/2 hosszú üres hely> <poi> <jelzéstávolságnyi üres hely> <poi> <jelzéstávolságnyi üres hely>...... <poi> <jelzéstávolság/2 üres hely> <vonalvég>
A vonal hossza gyakorlatilag sosem a megadott jelzéstávolság egész-számú többszöröse, ezért az mpwiz először kiszámolja, hogy a fenti módszerrel hány poi férne el, majd a vonal valós hosszában a kiszámolt darabszámú poit egyenletesen elosztja
Ha egy poi sem férne el a jelzéstávolság paraméter miatt, de a vonal hossza a minimum-hosszat eléri, akkor a vonal közepére mégis tesz 1db poit
-R : randomize places
paraméter:nincs
hatás:véletlenszerűen, maximum a vonalvég és az első poi távolságának felével jobbra vagy balra tolja az összes poit, vonal-elementenként, azaz minden elementre új véletlenszámmal
-i : inherit extra(s)
paraméter:egy vagy több extranév vesszővel elválasztva
hatás:a poi létrehozása után a megadott nevű extrák értékeit örökli a generáló vonaltól
pl.
# mpwiz -P 250,50,0x1701 -R < be.mp > ki.mp
-X : slice objects
paraméter:lat_irányú_osztó,lon_irányú_osztó | lat_kezdet,lon_kezdet,lat_irányú lépés,lon_irányú lépés
Vagy az első kettő vagy a második négy paraméter adható meg. Első esetben a befoglaló téglalap lesz a magadott darabszámú szeletre vágva. A második estben a rácspontok rögzítettek az első két paraméterhez képest, míg a rácsméretet a 3,4 paraméter adja meg.
lat_irányú_osztó: a teljes térkép lat irányban ennyi szeletre lesz vágva, pozitív egész szám
lon_irányú_osztó: a teljes térkép lon irányban ennyi szeletre lesz vágva, pozitív egész szám
lat_kezdet: a szeletelőrács egy rácspontjának lat koordinátája, valós szám fokban
lon_kezdet: a szeletelőrács egy rácspontjának lon koordinátája, valós szám fokban
lat_irányú_lépés: a szeletelőrács egy cellájának lat irányú mérete, valós szám fokban
lon_irányú_lépés: a szeletelőrács egy cellájának lon irányú mérete, valós szám fokban
funkció:az objektumokat felszeleti a megadott téglalap-ráccsal
-z : dont create short polylines
paraméter:R pozitív racionális szám (egész vagy tört), méterben értendő
hatás:vonalvágáskor nem készít a megadott R rövidebb vonalat (inkább egyben hagyja, ha a vágással ilyen keletkezne)
-T : detect holes as mapediT do
paraméter:nincs
hatás:a polygon-vágások után a létrejött element-ek "lyukságát" úgy állapítja meg, mint a mapedit (előrehozza nem-lyukat és hátra a lyukakat)
-p : Postfix for output filenames
paraméter:file-postfix
hatás:-O-val együtt van hatása, a szelet-file-ok végződését adja, részletesen ld lejjebb, -O-nál
-O : Output slices into separate files
paraméter:filenév-prefix
hatás:minden szelet külön file-ba is kiírásra kerül, amellett, hogy a művelethalmazban is benne marad. A file név az alábbiak szerint képződik:
<filenév-prefix><aláhúzásjel><függőleges szelet-sorszám><aláhúzásjel> <vízszintes szelet-sorszám>
A szeletek sorszámozásának módja: 0_0 a bal alsó, 0_1 a 0_0 közvetlen jobb szomszédja, a 0_2 a 0_1 közvetlen jobb szomszédja, stb.
1_0 a bal alsó feletti, az 1_1 az 1_0 jobb szomszédja, a 2_1 az 1_1 feletti, stb.
-x : exec outer program
paraméter:<végrehajtandó parancs>
hatás:-O-val együtt van értelme használni, megadása esetén minden szelet-file kiírása után lefuttatja a <végrehajtandó parancs>-ot úgy, hogy paraméterként átadja az épp kiírásra került file nevét. Ha az épp kiírt file neve out_1_0.omp, a megadott <végrehajtandó parancs> pedig a "feldolgoz.bat", akkor a
feldolgoz.bat out_1_0.omp
parancs fog végrehajtódni.
pl.
# mpwiz -X "3,4" < be.mp > ki.mp
# mpwiz -X "46,16,0.35,0.5" < be.mp > ki.mp
# mpwiz -X "46,16,0.35,0.5" -O "out_" -p ".omp" -x "feldolgoz.bat" < be.mp > ki.mp
-K : change Karakter coding
paraméter :művelet-betű
lehet: u, l,g vagy a
u - to uppercase, nagybetűsít
l - to lowercase, kisbetűsít
g - to garmin, nagyjából cp1250-ről cp1252-re konvertál, úgy, hogy a lehető leghasonlóbb betűkre alakítson, cp1252-ből is csak azokat használja, amit a garmin meg is tud jeleníteni
a - to accentless, minden olyan karaktert, ami bármilyen (nemzeti) ékezettel bír és van az angol abc-ben neki megfelelő ékezet nélküli formája, ott lecseréli az ékezetest az ékezet nélkülire
funkció :karakterketet cserél ha szükséges, a paraméterben megadottak szerint
-N : Name of extra
paraméter:extranév
extranév : azon extra neve, amely karakterein a cserét végre kell hajtani, alapértelmezés a Label
hatás :a megadott nevű mp extrán végzi a karakter-cserét
-! : 0th character
paraméter:nincs
hatás:az átalakítás a teljes extra első karakterére vonatkozik csak
-1 : 1st char of every word
paraméter:nincs
hatás:az átalakítás az extra minden szavának első karakterére vonatkozik
-W : Wipe out empty extras
paraméter:nincs
funkció:minden olyan extrát eltávolít, amelynél az = jel után nincs érték megadva (egyből sorvég jön)
pl.
# mpwiz -W < be.mp > ki.mp
-Z : virtual cut with rectangle
paraméter:minlat,minlon,maxlat,maxlon
minlat:valós szám, virtuális vágó-téglalap "bal alsó" sarkának lat koordinátája
minlon:valós szám, virtuális vágó-téglalap "bal alsó" sarkának lon koordinátája
maxlat:valós szám, virtuális vágó-téglalap "jobb felső" sarkának lat koordinátája
maxlon:valós szám, virtuális vágó-téglalap "jobb felső" sarkának lon koordinátája
funkció:plusz node-okat szúr be a vonalakba és a felületekbe ott, ahol a megadott téglalap élei metszik az objektum éleit
-C : virtual Cut output file name
paraméter:<output file neve>,<extra név>
output file neve: file név, amibe beírja az
extra név: nevű extrát
hatás:a megadott nevű file-ba vesszővel elválasztva kiírja a megadott nevű extrák értékét, amely objektumokat érintette a + node beszúrás
-a : ABA analyze
paraméter:nincs
hatás:a plusz node-ok beszúrása után megvizsgálja, hogy az adott pontosságra való kerekítés után nincs-e olyan azonos koordinátájú beszúrt node-páros, ahol e két node között egy darab harmadik-, más koordinátára eső node van. Azaz ABA mintát keres az objektum koordinátái közt, ahol az A koordináta a virtuális vágóélre esik, B pedig A-tól különbözik. Ha talál ilyet, akkor az mindkét A node-ot eldobja.
pl.
# mpwiz -Z "47.18,19.184,47.597,19.8" -C "idfile.txt,ObjID" < be.mp > ki.mp
-0 : Output partially result
paraméter:filenév
funkció:a memóriában levő aktuális állapotot kiírja a filenév nevű file-ba. Alapértelmezésben csak a művelethalmaz elemeit írja ki!
-R : write stoRe set
paraméter:nincs
hatás:a raktárhalmaz elemeit írja ki. Ennek a megadása kikapcsolja a -0 alapértelmezett működését, azaz a művelethalmazt ilyenkor nem írja ki (hacsak meg nem adjuk a -O módosítót is
-O : write Operation set as well
paraméter:nincs
hatás:-R megadása esetén értelmes használni, hatására a művelethalmazt is kiíra (azaz: módosító nélkül csak a művelethalmazt írja, -R módosítóval csak a raktárhalmazt, míg -R és -O együttes megadása esetén mindkettőt)
-a : append to file
paraméter:nincs
hatás:a célfile-hoz hozzáfűzi a kiírandó adatot, ha a célfile már létezett
-p : wite out paramter instead of object
paraméter:extra-név
hatás:a részkimenetre a megadott nevű extra értéke kerül (vesszővel elválasztva az egyes objektumok extra-értékei), nem maguk az objektumok
-! : magellan poi format
paraméter:nincs
hatás:csak a poikat írja ki, magellán formátumú txt-be
-~ : routing XML format
hatás:ha lett routing graph generálva, akkor azt kiírja XML formátumban
-P : sPeed extras
paraméter:extranév1,extranév2,...
hatás:a megadott extrák neveit és értékeit kiírja az XML file-ba, <speed index="1" value="extra-érték"> formában
-A : Attribute extras
paraméter:extranév1,extranév2,...
hatás:a megadott extrák neveit és értékeit kiírja az XML file-ba, <attribute index="1" value="extra-érték"> formában
-C : add Coordinates too
Paraméter:nincs
hatás:az xml-be beírja a teljes geometriát is
-i : set edge ID
Paraméter:extranév
hatás: a routing xml-be a RouteID extrába a generált él-azonosító helyett az extranév nevű extra értékét írja ki
Egyéb funkciók
-v : verbose
paraméter:nincs
funkció:egyszer vagy kétszer is van értelme megadni, egyszeri megadásnál különféle üzeneteket ír a képernyőre aszerint, hogy mit csinál épp, kétszeri megadásnál emellett a műveletekehez felhasznált időt is kiírja
-h : header ignore
paraméter:nincs
funkció:megadása esetén nem áll le a fejléc [IMG ID] szekció hiányától
-H : Header suppression
paraméter:nincs
funkció:használatával nem írja ki a kimenetbe a fejlécet [IMG-ID] szekciót
-5 : 5 decimals
paraméter:nincs
funkció:5 tizedes pontossággal dolgozik (megadása nélkül 6 tizedes pontossággal számol)