values Länge 1 mit overpass finden

Moin,

gelegentlich merke ich nicht, daß das Autovervollständigen in JOSM fehlschlug, dann steht beispielsweise roof:shape=g in der Datenbank. Wie kann man zu einem gegebenen key all values der Länge 1 bekommen?

Gruß,

Baßtölpel

Hallo,

mit einem regulären Ausdruck (regular expression) kannst du solche Values finden. Statt = musst du ~ als Operator nehmen und der reguläre Ausdruck wäre dann “^.$”:


way["roof:shape"~"^.$"];
out;

Viele Grüße

Michael

Danke. Hab mir schon gedacht, daß ich das mit regulären Ausdrücken lösen könnte, wenn ich sie denn beherrschen würde…

Ich bin übrigens nicht der einzige, dem dieser Fehler passiert, es ist auch nicht auf JOSM beschränkt. roof:shape|colour (weitere keys hier einfügen) mit length 1 ist ein weiterer Kandidat für den JOSM validator oder Osmose.

Gruß,

Baßtölpel

Jo maj… ich habe so einige waterway=s produziert, oder highway=u (das sind Schlüssel, die ich häufig verwende).
Ich würde es andersrum sehen: bestehen value oder key aus nur einem Buchstaben, ist vermutlich was faul. Und dann eine Ausnahmenliste aufbauen (z.B. numerische Werte wie bei layer grundsätzlich ausnehmen).

Für “normale” Schlüssel produziert JOSM schon eine Meldung, evtl. nur eine “unwichtige Warnung”, die man erst mal aktivieren muss.
Ich habe mich zunächst gefragt, wie man in JOSM so einen kurzen key eingeben kann, wenn durch die “Autovervollständigung” praktisch immer gleich ein längerer Wert vorgeschlagen wird. Antwort: Wenn es in den Daten schon so einen unsinnig kurzen Wert gibt oder wenn man ihn zuvor selbst eingegeben hat und er damit in der preferences.xml gespeichert wurde.
Vielleicht sollte man eher da ansetzten?

Wenn man das Autovervollständigen einmal versehentlich abbricht, hat man den “seed” der die Vervollständigung für diesen key durcheinander bringt.

Baßtölpel

Wenn man fleißig editiert, JOSM kurz wegen was anderem ausmacht (zwar kein Memoryleak, aber Java gönnt sich schon viel Speicher) und dann nach kurzer Weile in JOSM weitermachen will, sind nicht mehr alle Autocomplete-Einträge vorhanden, weil preferences.xml nur 60 Stück davon behält. Das eigene “muscle memory” ist aber noch frisch, und dann kann es passieren, dass man g zu schnell eingibt und nicht mitbekommt, dass AC nicht stattgefunden hat.

Immer diese Eile :wink:

Ah, dann weiß ich wenigstens künftig, wo ich suchen muß, um diesen sch… wieder aus der Vorschlagsliste rauszukriegen.