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