Holala, nová verze přistála ;-)

http://www.kyralovi.cz/tmp/josm/beta/Tracer.jar

Konflikty to negeneruje a zdá se, že se to plus mínus chová stejně, jako
předtím. Ovšem to neznamená, že tam žádný skrytý problém není, Takže
otestujte a pokud narazíte na nějakou chybu, dejte vědět.

Ještě se v tom budu trochu vrtat, ale jinak má přednost pLPIS ;-)

Díky,
Marián

Dne 30.7.2014 09:32, Marián Kyral napsal(a):
> Ahoj,
> dobrá zpráva je, že už vím v čem je problém. A ta špatná je, že oprava
> je poněkud komplikovanější. Už na tom pracuji, ale vzhledem k tomu
> počasí venku se doma moc nezdržuji (dnešní dopoledne je výjimka ;-) ),
> takže to pravděpodobně bude hotovo někdy příští týden.
>
> Jen kdyby to někoho zajímalo: Všechny operace s objekty (vytvoření,
> smazání, změna) se ukládají do fronty a až na úplném na konci se provede
> commit, čímž se všechny operace provedou na datech a vytvoří se undo
> sequence.
>
> Problém je v tom, že pokud se jedna cesta změní více krát (příkaz
> ChangeCommand(oldWay, newWay)), tedy v sekvenci příkazů je něco takového:
>
> oldWay -> newWay1 -> newWay2 -> newWay3
>
> tedy:
> ChangeCommand(oldWay,  newWay1);
> ChangeCommand(newWay1, newWay2);
> ChangeCommand(newWay2, newWay3);
>
> tak se provede pouze první příkaz a ostatní se sice jako provedou, (na
> nic to nespadne), ale nemá to žádný efekt. Pak dojde k tomu, že bod z
> cesty záhadně zmizí -> informace další změně dané cesty (tedy odstranění
> bodu) se někde ztratí.
>
> Musím to přepsat na toto:
> ChangeCommand(oldWay, newWay1);
> ChangeCommand(oldWay, newWay2);
> ChangeCommand(oldWay, newWay3);
>
> Udělal jsem si třídu, která drží vazbu oldWay -> newWay, ale je to hodně
> velká změna a musím to pořádně otestovat. Zcela určitě se zase něco
> rozbije :-D
>
> Marián
>
> Dne 19.7.2014 16:54, Marián Kyral napsal(a):
>> No to bude tím, že tahle verze je od základů přepsána, právě kvůli těm 
>> duplicitním bodům :-) 
>>
>> Porovnávat změny oproti předchozí verzi tedy nemá smysl. Ale ten příklad mi 
>> hodně pomůže, z toho se už dá na něco přijít.
>>
>> Díky,
>> Marián
>>
>> On 19. července 2014 15:44:29 CEST, "Martin Švec - OSM" <o...@maatts.cz> 
>> wrote:
>>> Potvrzuju, že to dělá až poslední verze. Předchozí sice vyráběla mnohem
>>> víc duplicitních bodů, ale žádné konflikty ;-)
>>>
>>> Nevím jestli je to stejný problém, ale reprodukovatelnou chybu jsem
>>> našel např. na
>>>
>>> https://www.openstreetmap.org/#map=19/49.24478/16.23263&layers=N
>>>
>>> - když kliknu na dům č. 81 (par. 17/4) nebo č. 1 (par. 17/3), plugin
>>> smázne západní roh domu č. 35 (par. 17/2) a nevrátí ho zpět ani undo.
>>>
>>> Martin
>>>
>>> On 19.7.2014 13:35, jzvc wrote:
>>>> Predchozi verze tohle nedelala => hledej v poslednich zmenach. Pokud
>>> jsem to dobre pochopil, tak vpodstate jde o to, ze plugin zmeni
>>> podkladova data, ale tu zmenu nezapise jako zmenu.
>>>> Dne 18.7.2014 16:03, Marián Kyral napsal(a):
>>>>> Tak jsem si teď trochu poklikal v Jihlavě a podařilo se mi "vyrobit"
>>> 24
>>>>> konfliktů :-(
>>>>> Budu muset vymyslet nějaký lepší debugging. Z aktuálního logu jsem
>>> nic
>>>>> zajímavého nevykoukal.
>>>>>
>>>>> Zatím řekněme, že Tracer není vhodný pro klikání v husté zástavbě
>>> :-D
>>>>> Marián
>>>>>
>>>>>
>>>>> ---------- Původní zpráva ----------
>>>>> Od: Marián Kyral <mky...@email.cz>
>>>>> Komu: OpenStreetMap Czech Republic <talk-cz@openstreetmap.org>
>>>>> Datum: 17. 7. 2014 13:55:43
>>>>> Předmět: Re: [Talk-cz] Tracer - nová testovací verze
>>>>>
>>>>>
>>>>>     ---------- Původní zpráva ----------
>>>>>
>>>>>     Od: jzvc <j...@tpfree.net>
>>>>>     Komu: talk-cz@openstreetmap.org
>>>>>     Datum: 17. 7. 2014 13:14:46
>>>>>     Předmět: Re: [Talk-cz] Tracer - nová testovací verze
>>>>>
>>>>>
>>>>>         Dne 16.7.2014 23:28, Marián Kyral napsal(a):
>>>>>          > Ahoj,
>>>>>          >
>>>>>          > ---------- Původní zpráva ----------
>>>>>          > Od: jzvc <j...@tpfree.net>
>>>>>          > Komu: OpenStreetMap Czech Republic
>>> <talk-cz@openstreetmap.org>
>>>>>          > Datum: 16. 7. 2014 23:00:58
>>>>>          > Předmět: Re: [Talk-cz] Tracer - nová testovací verze
>>>>>          >
>>>>>          >
>>>>>          > Cus, nevim v cem to je, ale s libovolnym pouzitim mi
>>> vznikne
>>>>>         konflikt.
>>>>>          > Je to na tema ze lokalne sem smazal bod kterej na serveru
>>>>>         existuje.
>>>>>          > Vyresit se da jedine tak, ze aplikuju verzi ze serveru,
>>> pri
>>>>>         pokusu o
>>>>>          > aplikovani lokalni verze se to cykli porad dokola.
>>>>>          >
>>>>>          >
>>>>>          > Navic pokud josm nekeca, tak ten koflikt vznikne na
>>> bodech
>>>>>         budov, na
>>>>>          > ktery sem vubec nesahal => plugin zjevne ano.
>>>>>          >
>>>>>          >
>>>>>          > Divné, divné. Můžeš hodit nějaký příklad? Případně nějaké
>>>>>         detaily?
>>>>>          >
>>>>>          > Zkoušel jsi původní, nebo aktualizovanou verzi?
>>>>>          >
>>>>>
>>>>>         Cus,
>>>>>         Zkousel sem posledni verzi na posledni verzi josm (7313).
>>> Budovy
>>>>>         nesousedily.
>>>>>
>>>>>
>>> http://www.openstreetmap.org/relation/440427#map=18/49.40296/15.58466
>>>>>         pokud si pamatuju, protah sem pres plugin budovu 4340/6 (a
>>> par
>>>>>         budov
>>>>>         kolem nadrazi) a konflikt to hlasilo na budove 1472/15a (byl
>>> to
>>>>>         mimo
>>>>>         jiny dolni levy bod).
>>>>>
>>>>>
>>>>>     Díky,
>>>>>
>>>>>     vyzkouším (ale asi ne hned, teď budu týden mimo). Jak velkou
>>> oblast
>>>>>     jsi měl staženou? Nebyla daná budova alespoň částečně mimo
>>> staženou
>>>>>     oblast? To bych možná tušil (a asi bych to měl nějak omezit).
>>>>>
>>>>>
>>>>>
>>>>>         Testil sem to jen zbezne, ale vypadalo to, ze pocet
>>> trasovanych
>>>>>         budov
>>>>>         nema temer zadny vliv. Nedetekuje plugin nejakou duplicitu i
>>> mimo
>>>>>         zpracovanou oblast?
>>>>>
>>>>>
>>>>>     No o co se tam pokouším je to, že někdy, po odpojení od sousední
>>>>>     budovy, zůstanou na sousední budově již nepotřebné uzly. A já se
>>> je
>>>>>     snažím detekovat a smazat. Beru vždy dva sousedící segmenty a
>>> snažím
>>>>>     se zjistit, jestli prostřední bod leží na úsečce tvořené
>>> krajními
>>>>>     body. Pokud zjistím, že to tak je, a prostřední bod není
>>> součástí
>>>>>     dalšího objektu, tak jej smažu. No a asi to nefunguje jak by
>>> mělo.
>>>>>     Ono totiž je to trochu komplikované. Všechny změny, které dělám,
>>>>>     dělám na kopii objektů a zároveň zapisuji do fronty příkazy typu
>>>>>     "vytvoř bod Y", "přesuň bod X na ", "Přidej bod do cesty W". A
>>> až
>>>>>     úplně na konci se provede "commit", který všechny tyto změny
>>> provede
>>>>>     na vrstvě stažené v JOSM.
>>>>>
>>>>>
>>>>>     Při mazání si pak musím sám hlídat, zda daný bod není součástí
>>>>>     nějaké jiné cesty. Bohužel nemohu přímo zjistit, kolik cest je
>>> na
>>>>>     konkrétní bod navázáno, ale musím procházet jednu cestu po druhé
>>> a
>>>>>     ptát se, zda tento bod není jejich součástí. No a tady je
>>> obrovský
>>>>>     prostor na chyby :-(
>>>>>
>>>>>
>>>>>     Zatím to vidím tak, že nebudu sahat na body, které se nalézají
>>> mimo
>>>>>     staženou oblast. No a pak se možná ještě jednou podívám, na ten
>>>>>     algoritmus, co se snaží mazat nadbytečné body.
>>>>>
>>>>>
>>>>>     Marián
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Talk-cz mailing list
>>>>> Talk-cz@openstreetmap.org
>>>>> https://lists.openstreetmap.org/listinfo/talk-cz
>>>>>
>>>> _______________________________________________
>>>> Talk-cz mailing list
>>>> Talk-cz@openstreetmap.org
>>>> https://lists.openstreetmap.org/listinfo/talk-cz
>>> _______________________________________________
>>> Talk-cz mailing list
>>> Talk-cz@openstreetmap.org
>>> https://lists.openstreetmap.org/listinfo/talk-cz
>
> _______________________________________________
> Talk-cz mailing list
> Talk-cz@openstreetmap.org
> https://lists.openstreetmap.org/listinfo/talk-cz


_______________________________________________
Talk-cz mailing list
Talk-cz@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-cz

Odpovedet emailem