x

Identische Tags herausfilter


  1. Identische Tags herausfilter · jman1983 (Gast) · 12.01.2013 10:29 · [flux]

    Hallo zusammen!

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

    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 🙁

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


    • Re: Identische Tags herausfilter · EvanE (Gast) · 12.01.2013 10:43 · [flux]

      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 🙁

      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)


    • Re: Identische Tags herausfilter · jman1983 (Gast) · 12.01.2013 11:01 · [flux]

      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 😉
      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...


    • Re: Identische Tags herausfilter · chris66 (Gast) · 12.01.2013 11:15 · [flux]

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


    • Re: Identische Tags herausfilter · wambacher (Gast) · 12.01.2013 11:28 · [flux]

      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 🙁

      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


    • Re: Identische Tags herausfilter · EvanE (Gast) · 12.01.2013 11:39 · [flux]

      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)


    • Re: Identische Tags herausfilter · quasilotte (Gast) · 12.01.2013 12:04 · [flux]

      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 ...


    • Re: Identische Tags herausfilter · jman1983 (Gast) · 12.01.2013 13:07 · [flux]

      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 😉

      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...


    • Re: Identische Tags herausfilter · wambacher (Gast) · 12.01.2013 13:27 · [flux]

      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


    • Re: Identische Tags herausfilter · jman1983 (Gast) · 12.01.2013 13:51 · [flux]

      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.... 😉 Mal schauen, ob da was kommt.


    • Re: Identische Tags herausfilter · toc-rox (Gast) · 12.01.2013 17:41 · [flux]

      schnipp


    • Re: Identische Tags herausfilter · errt (Gast) · 13.01.2013 18:09 · [flux]

      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.