OSM szerkesztés

 (Magyar)

Viewing thread:
(36500) sprok
 2014-07-24 08:47:18
Persze, egy ideális világban minden a helyén lenne és minden a kotta szerint lenne feldolgozva.
Az ötletet csak arra írtam, hogy hogyan lehet a legtöbbet kihozni a meglévő állományból, mert meglátásom és tapasztalatom szerint csak úgy lehet, ha nem szigorúan a kotta szerint dolgozza fel az ember, hanem egy kicsit idomul a valósághoz.
Nyilván ez szemlélet kérdése és lehet azt mondani, hogy a konverzió csak a lefektetett szabályok mentén végezhető (ezzel egyébként hosszú távon sarkallva a szerkesztőket is a kotta pontos betartására) de lehet, hogy rövid távon a simulékonyság kifizetődőbb.
Szerintem ezt kell mérlegelni.
In reply to (36492) peter68 2014-07-23 07:35:23
(36492) peter68
 2014-07-23 07:35:23
A visszaellenőrzés fontos, már csak az a kérdés, hogy a létező ellenőrző eszköz jó-e úgy, hogy az adatok csak egy részét jeleníti meg.
Hogyan tuidod leellenőrizni, hogy nincs meg azu adott adat több példányban?

A regexppel vizsgálást eléggé őskori módszernek érzem egy olyan világban, ahol elvileg mindennek meg van a helye.
Ahelyett, hogy mindent a helyén keresnénk, a kimenet gyártásnál próbáljuk eldönteni, hogy melyik adatot a sok tagből hol találjuk meg?
Ezt eléggé időhúzásnak érzem, és a tévedés esélye nagy.
In reply to (36490) sprok 2014-07-22 23:16:44
(36490) sprok
 2014-07-22 23:16:44
"többen töltik a way-hez tartozó útszámot, mint a relation-ét, lévén, hogy a renderer azt teszi fel" - szerintem ez a fő probléma. Rajzolni nem úgy kéne, ahogy egy adott megjelenítő épp működik, hanem úgy, ahogy a kőbe vésett szabály ezt leírja.

Persze, hogy így kéne lennie, de tapasztalatból mondom, hogy sokszor nem így van. Sok emberkénél az ellenőrzés az ha szimplán látja, hogy a renderelő "szépen" visszaadta azt amit ott szeretett volna látni szerkesztés előtt.

Ami igazán gondot okoz, az nem is feltétlen a relation által hordozott tag-ek általi duplikáció, hanem a ref - int_ref közötti duplikáció

Erre is az az ötletem, hogy regexp-el rászűrsz és megnézed, hogy mi van benne és jobb híján te döntöd el, hogy mi igaz abból amit ott találsz. Megint vissza kell kanyarodjak az országspecifikus vesszőparipámhoz, mert jobbat jelenleg nem tudok.
Akkor van igazán bibi (nem tudom most fejből, hogy a környező országoknál fenn áll-e ez), ha az adott ország helyi rendszerében is használatos az "E" előtag. Akkor jobb híján el kell hinnünk, hogy ref-ben helyi, int_ref-ben nemzetközi jelzések vannak. 
In reply to (36488) Trackman 2014-07-22 22:48:37
(36488) Trackman
 2014-07-22 22:48:37
Bence, Grin, köszi a válaszokat.
"többen töltik a way-hez tartozó útszámot, mint a relation-ét, lévén, hogy a renderer azt teszi fel" - szerintem ez a fő probléma. Rajzolni nem úgy kéne, ahogy egy adott megjelenítő épp működik, hanem úgy, ahogy a kőbe vésett szabály ezt leírja.
Mondjuk a kőbe véséssel is van némi probléma: http://wiki.openstreetmap.org/wiki/Key:ref : jobb oldalt a relation-re "undefined"-et mond, de lejjebb van rá példa...
Egyelőre semmiképp sem tervezzük, hogy a pajzsok között különbséget tegyünk, főleg, hogy a mi raszteresünkön egyelőre nincs semmilyen pajzs. :D
Ami igazán gondot okoz, az nem is feltétlen a relation által hordozott tag-ek általi duplikáció, hanem a ref - int_ref közötti duplikáció, lásd alább. Amellett, hogy N darab relation eleme a way, rögtön az első az E73-at ref-nek, tehát "lokális" jelzésnek mondja, és nem nemzetközinek. Az első relation ref tagja tekinthető hibának, ugye? (Hiszen nemzetközi szám van benne, ami az int_ref-be való.)

<way ...
    <tag k="int_ref" v="E 73;E 622"/>
    <tag k="ref" v="D7"/>

<relation...
    <tag k="ref" v="E 73"/>

<relation...   
    <tag k="int_ref" v="E 73"/>
    <tag k="ref" v="D7"/>

<relation...  
    <tag k="ref" v="E 662"/>

<relation...      
    <tag k="ref" v="E 73"/>  

In reply to (36486) grin 2014-07-22 22:12:30
(36486) grin
 2014-07-22 22:12:30
Gondolom az alapgond az hogy egy útnak lehet egy csomó száma; lehet helyi, nemzeti, nemzetközi száma, lehet része mindenféle route-nak, stb. Ha az a kérdés hogy melyik legyen a kijelzett száma ha csak egyet lehet akkor általában az, ami az úton van közvetlenül (ref) maga az út azonosítója. Az int_ref az út nemzetközi számai, ami még mindig az úthoz kellene hogy tartozzon, de ez a jelölés még a relation-divat előtti szerintem.

A relation pedig ugye azt mutatja hogy az út milyen útvonalaknak tagja. Ez nem szigorúan nézve az út száma, és lehet belőle kismillió.

Azt gondolom hogy ezek között nagy az átfedés, pontosabban ha van int_ref akkor az vélhetően egybeesik azokkal a relation-ökkel amik ezeket leírják.

Országonként eltérhetnek a kategóriák (trunk / unclassified / primary / ...), részben az eltérő törvényi szabályozás miatt részben mert a megfeleltetés nem mindig egyértelmű. Ahogy sprok is mondta érdemes ezt országonként kezelni, amúgy is csomó helyi default (pl. a maxspeed értékek) eltérhetnek országonként.
In reply to (36481) KiVi 2014-07-22 18:16:04
(36481) KiVi
 2014-07-22 18:16:04
OSM guruk!

Az OSM -> OMP konverziónál épp az útszámokkal van szívás, mi a jó megoldás arra, hogy megállíptsuk egy út számát a nemzetközit is beleértve. Első körben ismétlődés hegyek vannak, mert a way-ben és relation-ben is van útszám, ráadásul van ahol pl. int_ref-ben és ref ben is benne az E útszám. Egy állatorvosi ló: N45.71072 E18.67560

Ill. az autóút definicíója is kérdéses, pl. Romániában sima főutak is trunk-el vannak címkézve ami másfelé pedig ez az autóút.