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