Re: [Talk-de] JOSM: Relationen - Element-Reihenfolge bearbeiten - Codefragment
Hi ! es soll ja kein Drängen auf Programmieren sein. Ich hatte nur kürzlich das Gespräch mit einem anderen Mapper und da haben wir uns gefragt wie das wohl laufen soll. Es ist ja noch eine relativ neue Funktion, mit den geordneten Ways, und da muss man das eine oder andere nochmal ansprechen. Es wird sicherlich noch andere "unwissende" in diesem Bereich geben. Gruß Jan :-) Dirk Stöcker schrieb: > On Fri, 8 May 2009, marcus.wolsc...@googlemail.com wrote: > >> (Ich sehe hier mal die talk-de als genauso unwichtig >> für die Fortentwicklung von JOSM an wie z.B. talk-tansania) > > Nicht ganz so, da der Maintainer Deutscher ist, aber recht hast Du. > Momentan sind noch eine Reihe Bugs von der 0.6-Umstellung im Code und > die haben Vorrang. Alles was nicht als Trac-Ticket existiert wird also > wahrscheinlich vergessen werden. > > Ciao > > > > > ___ > Talk-de mailing list > Talk-de@openstreetmap.org > http://lists.openstreetmap.org/listinfo/talk-de ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] JOSM: Relationen - Element-Reihenfolge bearbeiten - Codefragment
On Fri, 8 May 2009, marcus.wolsc...@googlemail.com wrote: (Ich sehe hier mal die talk-de als genauso unwichtig für die Fortentwicklung von JOSM an wie z.B. talk-tansania) Nicht ganz so, da der Maintainer Deutscher ist, aber recht hast Du. Momentan sind noch eine Reihe Bugs von der 0.6-Umstellung im Code und die haben Vorrang. Alles was nicht als Trac-Ticket existiert wird also wahrscheinlich vergessen werden. Ciao -- http://www.dstoecker.eu/ (PGP key available)___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] JOSM: Relationen - Element-Reihenfolge bearbeiten - Codefragment
On Fri, 08 May 2009 08:22:21 +0200, Jan Tappenbeck wrote: > sorry - but ich kann kein java ! > gruß jan :-) Musst du ja auch nicht können, aber das kannst du 1:1 in das Ticket was du für deinen Feature-Request an JOSM öffnest reinkopieren. Oder glaubst du dass "die das schon irgendwie mitbekommen" wenn das auf irgendeiner nationalen talk-liste mal erwähnt wird? ;) (Ich sehe hier mal die talk-de als genauso unwichtig für die Fortentwicklung von JOSM an wie z.B. talk-tansania) http://josm.openstreetmap.de/newticket Marcus ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] JOSM: Relationen - Element-Reihenfolge bearbeiten - Codefragment
sorry - but ich kann kein java ! gruß jan :-) marcus.wolsc...@googlemail.com schrieb: > On Fri, 08 May 2009 07:40:32 +0200, Jan Tappenbeck > wrote: >> Moin ! >> >> seit der Umstellung auf die neue API werden die Ways einer Relation auch >> in ihrer Reihenfolge bewertet und in JOSM gibt es im >> Relationsbearbeitungsdialog zwei Schaltflächen für das Verschieben der >> Elemente in der Reihenfolge. >> >> Wenn man die Nummern der Ways kennt und weiß welche ID nach / vor >> welcher kommt ist das ja schön - aber gibt es noch ein weiteres >> Hilfsmittel darüberhinaus welches mir noch nicht bekannt ist. >> >> Ansonsten wäre vielleicht über folgenden Vorschlag nachzudenken - eine >> Funktion analysiert in welcher Reihenfolge die Elemente angeordnet >> werden müßten um einen fortlaufenden Weg ergeben zu können. Der User >> kann dann das Ergebnis bewerten und ggf. übernehmen. > > Sehr gute Idee. > Vorschlag für eine Umsetzung, die auch mit dual-carriageways funktioniert: > > /** > * Combine ways sharing the same endpoints > * to find an ordering for relation-members > * that share the same role. > * @param input all ways of a relation > * @return minimal list of ways > */ > public Set> combineWays(final Set input) { > > Set> output = new Hashset>(); > for(Way in : input) { > List temp = new LinkedList(); > temp.add(in); > output.add(temp); > } > > // go on as long as we can combine 2 of the lists > // in "output" > boolean combined = true; > while (combined) { > combined = false; > for(List first : output ) { > for(List second: output ) { > if (first == second) { > break; > } > Way firstWay = first.get(first.size() - 1); > Way secondWay = second.get(0); > if (firstWay.getWayNodes(firstWay.getWayNodes().size() - > 1).getNodeID() >== secondWay .getWayNodes(0).getNodeID) { > first.appendAll(second); > combined = true; > break; > } > } > if (combined) { >break; // avoid ConcurrentModificationException > } > } > } > } > > ___ > Talk-de mailing list > Talk-de@openstreetmap.org > http://lists.openstreetmap.org/listinfo/talk-de ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] JOSM: Relationen - Element-Reihenfolge bearbeiten - Codefragment
On Fri, 08 May 2009 07:40:32 +0200, Jan Tappenbeck wrote: > Moin ! > > seit der Umstellung auf die neue API werden die Ways einer Relation auch > in ihrer Reihenfolge bewertet und in JOSM gibt es im > Relationsbearbeitungsdialog zwei Schaltflächen für das Verschieben der > Elemente in der Reihenfolge. > > Wenn man die Nummern der Ways kennt und weiß welche ID nach / vor > welcher kommt ist das ja schön - aber gibt es noch ein weiteres > Hilfsmittel darüberhinaus welches mir noch nicht bekannt ist. > > Ansonsten wäre vielleicht über folgenden Vorschlag nachzudenken - eine > Funktion analysiert in welcher Reihenfolge die Elemente angeordnet > werden müßten um einen fortlaufenden Weg ergeben zu können. Der User > kann dann das Ergebnis bewerten und ggf. übernehmen. Sehr gute Idee. Vorschlag für eine Umsetzung, die auch mit dual-carriageways funktioniert: /** * Combine ways sharing the same endpoints * to find an ordering for relation-members * that share the same role. * @param input all ways of a relation * @return minimal list of ways */ public Set> combineWays(final Set input) { Set> output = new Hashset>(); for(Way in : input) { List temp = new LinkedList(); temp.add(in); output.add(temp); } // go on as long as we can combine 2 of the lists // in "output" boolean combined = true; while (combined) { combined = false; for(List first : output ) { for(List second: output ) { if (first == second) { break; } Way firstWay = first.get(first.size() - 1); Way secondWay = second.get(0); if (firstWay.getWayNodes(firstWay.getWayNodes().size() - 1).getNodeID() == secondWay .getWayNodes(0).getNodeID) { first.appendAll(second); combined = true; break; } } if (combined) { break; // avoid ConcurrentModificationException } } } } ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de