OpenStreetMap Forum

The Free Wiki World Map

You are not logged in.

#1 2013-01-12 11:29:34

Identische Tags herausfilter

Hallo zusammen!

Kann mir jemand bei einem kleinen Problem weiterhelfen? (Ich hoffe doch stark wink )

Ist es möglich, (am besten mit osmfilter) Nodes und Ways herauszufilter die zwei identische Werte in unterschiedlichen Tags haben?
Im Detail geht es um "addr:housename" und "name", sprich wenn addr:housename=name ist, soll er gelöscht werden.

Leider brachte

osmfilter input.o5m --drop= --drop-nodes="addr:housenumber=name" --drop-ways="addr:housenumber=name" -o=output.o5m

nicht den gewünschten Effekt sad

Wenn jemand einen Tipp hat, würde es mich sehr freuen!

Offline

#2 2013-01-12 11:43:51

Re: Identische Tags herausfilter

jman1983 wrote:

Ist es möglich, (am besten mit osmfilter) Nodes und Ways herauszufilter die zwei identische Werte in unterschiedlichen Tags haben? Im Detail geht es um "addr:housename" und "name", sprich wenn addr:housename=name ist, soll er gelöscht werden.

Leider brachte
   osmfilter input.o5m --drop= --drop-nodes="addr:housenumber=name"
                 --drop-ways="addr:housenumber=name" -o=output.o5m
nicht den gewünschten Effekt  sad

Wie wäre es mit --keep anstelle von --drop?   (Nur mal so als Idee ins Blaue)

Allerdings wäre ich vorsichtig: Das Tagg addr:housename wäre eine zulässige postalische Adresse (unüblich in DE aber nicht unmöglich). Dann wäre es auch nicht ungewöhnlich, wenn das Gebäude den gleichen Namen (entsprechend name=*) hat.

Edbert (EvanE)

Offline

#3 2013-01-12 12:01:57

Re: Identische Tags herausfilter

EvanE wrote:

Wie wäre es mit --keep anstelle von --drop?   (Nur mal so als Idee ins Blaue)

Leider das selbe negative Ergebnis! Außerdem möchte ich sie ja nicht behalten, sondern loswerden wink
Aber danke für den Tipp.

EvanE wrote:

Allerdings wäre ich vorsichtig: Das Tagg addr:housename wäre eine zulässige postalische Adresse (unüblich in DE aber nicht unmöglich). Dann wäre es auch nicht ungewöhnlich, wenn das Gebäude den gleichen Namen (entsprechend name=*) hat.

Edbert (EvanE)

Das ist mir ja bewusst und genau darum geht es mir ja auch! Ich möchte diese Redundanz ja gerade ausschließen...

Offline

#4 2013-01-12 12:15:42

Re: Identische Tags herausfilter

Moin,
glaube nicht dass es mit osmfilter geht.....

Offline

#5 2013-01-12 12:28:44

wambacher
OSM Addict
From: Schlangenbad / Wambach
Registered: 2009-12-16
Posts: 4,668

Re: Identische Tags herausfilter

jman1983 wrote:

Leider brachte

osmfilter input.o5m --drop= --drop-nodes="addr:housenumber=name" --drop-ways="addr:housenumber=name" -o=output.o5m

nicht den gewünschten Effekt sad

nen tip hab ich nicht - nur ne Frage:
wenn ich dich richtig verstanden habe, willst du z.B. Hausnummern als Node löschen, wenn der Way die gleiche Nummer hat, oder?
Wie soll das denn so funktionieren?

Es fehlt hier der räumliche Bezug zwischen Hausnummer am Way und Hausnummer als Node.

Das wirst du nur mit eine spatialen Abfrage ("liegt der Node IN einem Way und haben beide die gleiche Hausnummer?" ) lösen können. Und dafür brauchst du eine Software mit GIS-Funktionen. Postgresql + postgis wäre die ideale Lösung - es mag aber auch andere geben.

Gruss
walter

Last edited by wambacher (2013-01-12 12:29:15)

Offline

#6 2013-01-12 12:39:03

Re: Identische Tags herausfilter

wambacher wrote:

wenn ich dich richtig verstanden habe, willst du z.B. Hausnummern als Node löschen, wenn der Way die gleiche Nummer hat, oder?
Wie soll das denn so funktionieren?

Es fehlt hier der räumliche Bezug zwischen Hausnummer am Way und Hausnummer als Node.

Das wirst du nur mit eine spatialen Abfrage ("liegt der Node IN einem Way und haben beide die gleiche Hausnummer?" ) lösen können. Und dafür brauchst du eine Software mit GIS-Funktionen. Postgresql + postgis wäre die ideale Lösung - es mag aber auch andere geben.

Hallo Walter

Oder man lässt es den Server machen und nimmt die Overpass-API und dort die Around-Abfrage.

@jman1983:
    --keep wenn du eine Liste brauchst mit den doppelten Name/Hausname (so hatte ich das verstanden).
    --drop wenn du zum Auswerten/Rendern die doppelten Einträge weglassen willst (das suchtest du wohl).
Gib eventuell der Overpass-Api eine Chance.

Edbert (EvanE)

Offline

#7 2013-01-12 13:04:02

Re: Identische Tags herausfilter

mit osmfilter lassen sich nicht 2 Werte eines Datensatzes vergleichen.

Sowas müsste noch eingebaut werden - der Vater von osmfilter ließt wohl hier mit - vielleicht fühlt er sich Angsprochen sowas einzubauen?

Wahrscheinlich ist die Fläche zu groß um das über Overpass-API / XAPI ...

Offline

#8 2013-01-12 14:07:30

Re: Identische Tags herausfilter

Na dann fange ich mal bei "0" an, damit keine Missverständnisse auftauchen:

Gib eventuell der Overpass-Api eine Chance.

Mach ich doch, ist sogar mein Einstiegspunkt wink

wget "http://www.overpass-api.de/api/interpreter?data=(way(47.2,5.8,55.1,15.1)['addr:housename'];node(47.2,5.8,55.1,15.1)['addr:housename'];);out meta;"

Wahrscheinlich ist die Fläche zu groß um das über Overpass-API

Ne klappt super.

Jetzt hab ich alle node und ways im "Großraum Deutschland", die ein addr:housename enthalten.

Nun möchte ich solche Objekte löschen:

<node id="1956114300" lat="51.1415734" lon="6.4451" version="1" timestamp="2012-10-10T06:05:58Z" changeset="13436583" uid="961207" user="3dplastic">
		<tag k="addr:housename" v="3dplastic"/>
		<tag k="addr:postcode" v="41999"/>
		<tag k="addr:street" v="Einruhrstraße"/>
		<tag k="building" v="yes"/>
		<tag k="name" v="3dplastic"/>
		<tag k="source" v="http://www.3d-plastic.eu"/>
	</node>

Sprich ein Objekt hat sowohl "name=xyz" wie auch "addr:housename=xyz" und die Werte sind identisch

mit osmfilter lassen sich nicht 2 Werte eines Datensatzes vergleichen.

Sowas müsste noch eingebaut werden - der Vater von osmfilter ließt wohl hier mit - vielleicht fühlt er sich Angsprochen sowas einzubauen?

Na dann hoffe ich mal das beste, vllt. schreibe ich ihn auch mal direkt an...

Offline

#9 2013-01-12 14:27:04

wambacher
OSM Addict
From: Schlangenbad / Wambach
Registered: 2009-12-16
Posts: 4,668

Re: Identische Tags herausfilter

jman1983 wrote:

Nun möchte ich solche Objekte löschen:
...
Sprich ein Objekt hat sowohl "name=xyz" wie auch "addr:housename=xyz" und die Werte sind identisch

Alles klar - und (für mich) viel einfacher:

osm=# select id,tags->'name' "redundanter Name"
from ways
where tags->'addr:housename'=tags->'name'
limit 10;
    id    |  redundanter Name   
----------+---------------------
  7744238 | Siebenbuche-Kaserne
  8010720 | MAYWAY
  8045726 | EisArena Passau
 88392710 | Автотур
 10211605 | Puls 5
 10567643 | Ammonhof
 91244074 | GSE
 10870297 | Jahrhunderthalle
 11017083 | Kastor
 11526963 | Main Tower
(10 rows)

halt mal die ersten 10 ways - für nodes analog.
Mal sehen, was die Kollegen von der "overpass-liga" dazu sagen.

Gruss
walter

Last edited by wambacher (2013-01-12 14:28:48)

Offline

#10 2013-01-12 14:51:59

Re: Identische Tags herausfilter

Hallo Walter!

Genau so hab ich es gemeint!
Hmm stimmt, wenn die overpass-api die Daten erst gar nicht liefert, brauche ich sie ja auch nicht zu entfernen! Einfach, aber genial.... wink Mal schauen, ob da was kommt.

Offline

#11 2013-01-12 18:41:52

toc-rox
Senior Member
From: Münster
Registered: 2011-07-20
Posts: 539
Website

Re: Identische Tags herausfilter

schnipp

Last edited by toc-rox (2013-01-12 19:39:33)


Kommunikation -> Kooperation -> Innovation

Offline

#12 2013-01-13 19:09:01

Re: Identische Tags herausfilter

jman1983 wrote:
EvanE wrote:

Allerdings wäre ich vorsichtig: Das Tagg addr:housename wäre eine zulässige postalische Adresse (unüblich in DE aber nicht unmöglich). Dann wäre es auch nicht ungewöhnlich, wenn das Gebäude den gleichen Namen (entsprechend name=*) hat.

Edbert (EvanE)

Das ist mir ja bewusst und genau darum geht es mir ja auch! Ich möchte diese Redundanz ja gerade ausschließen...

Ich sehe den Sinn immer noch nicht. Es sind zwei unterschiedliche Informationen - und wenn man eine davon löscht, hat man hinterher weniger Information. Entfernt man addr:housename und lässt nur housename stehen, ist nicht klar, dass dieser Name auch als postalische Adresse genutzt wird. Entfernt man dagegen housename und lässt nur addr:housename stehen, ist zwar klar, dass ich an diese Adresse Post schicken kann, aber ob das Haus wirklich (immer noch) so heißt, sehe ich aus dieser Information nicht. Vielleicht wurde ja in der postalischen Adresse ein Hausname beibehalten, der real nicht mehr verwendet wird. Das ist natürlich eher unwahrscheinlich und an den Haaren herbeigezogen, aber auszuschließen ist es wohl nicht.

Offline

Board footer

Powered by FluxBB 1.4.8
Hosting sponsored by Oxilion