mpwiz

A Turistautak.hu wikiből

Tartalomjegyzék

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)