OSM-Daten eines bestimmten users extrahieren

Hi, wie kann man in einem bestimmten Gebiet nur seine eigenen Daten aus der Datenbank auslesen? Also z.B. alle ways, die ich erzeugt bzw. geändert habe.

Danke für die Hilfe.

hi,

die XAPI wird das wohl am besten können - wenn sie denn gerade kann… frage wäre, ob das vollständige extrakte werden. ob also alle nodes eines ways entahlten sind, wenn die nodes von jemand anderem sind…

was hast du damit vor? evtl. kann man ein kleines programm schreiben, das auf einem *.osm file aufsetzt.

problem sind natürlich objekte, die du erstellt hast, die dann aber jemand anders geändert hat. die lassen sich nicht mehr identifizieren. nur noch in der original DB!

ciao

gerhard

Am Einfachsten geht’s natürlich in JOSM.
In der Suche deinen Usernamen eingeben und schon hast Du alles was von dir erstellt wurde.
Mit primär von Dir erstellten und zwischenzeitlich von Anderen geänderten Objekten funktioniert’s aber auch dort nicht.

mfG Michael

Dann lade mal die halbe Welt in JOSM lol

O.k. Edwin - hast Recht!
Ich bin von einem “normalen” User ausgegangen, welcher ein paar km² in seiner Region mappt.
Die Extrem-Mapper welche die ganze Welt bereisen hatte ich leider vergessen. :laughing:

wget http://www.informationfreeway.org/api/0.6/*[@user=gleissmap] -O data_by_gleissmap.osm

wenn Du bei OSM genauso heißt wie hier im Forum.

Es sind dann auch fremde nodes dabei (verständlich), die Wege sind vollständig, aber nur die vom user.
Aaber auch fremde Relationen werden geladen, das hab ich noch nicht analysiert.

Falls die .osm-Datei vorliegt, könnte es auch so gehen:

cat a.osm | ./osmfilter --drop-nodes >wr.osm
cat wr.osm | ./osmfilter --drop-ways >r.osm
cat lim r.osm r.osm r.osm wr.osm lim a.osm | ./osmfilter -k"user=gleissmap" >new.osm

Dann sind auch alle Knoten aller Wege dabei, die in Relationen enthalten sind, die der User “gleissmap” zuletzt geändert hat. Aber wie Gary68 schon geschrieben hat, zählt dabei nur die letzte Änderung.

Man könnte sich den letzten Full-History-Planet herunterleden und darin danngraben… Dürfte aber für eine normale Breitbandverbindung eine Tagesaufgabe sein und die Daten sind von Ende Oktober.

Danke für die Hinweise. Ich möchte mir einfach ab und zu einen (grafischen) Überblick verschaffen, ob der Input, den ich in einem bestimmten Gebiet einmal gemacht habe, von anderen verändert oder ergänzt wurde. Dabei muss ich nicht jeden einzelnen Node eines ways identifizieren können (da kann ich mich ja bei Bedarf hineinwühlen…). Der historische Aspekt ist dabei natürlich schon interessant: also das Auslesen von Daten , die in einem bestimmten Zeitraum erfasst wurden. Aber das scheint wohl nicht so weinfach zu gehen …

Eine Programm schreiben, das ein osm-File auswertet, ist mir für diese gelegentliche Auskunft eigentlich zu aufwändig.

Danke für den Tip. Das wusste ich noch nicht und werde es gelegentlich ausprobieren.

Vielen Dank für den (heißen) Tip! Das mit dem “@user” war so ungefähr, was ich gesucht habe. Gibt es auch eine Möglichkeit, die Recherche auf einen bestimmten Zeitraum einzugrenzen; z.B. alles, was ich 2008 in einem Gebiet gemacht habe?

Ich habe Deinen Tip auch schon getestet. Allerdings habe ich immer wieder Schwierigkeiten in Südamerika, wenn lat und lon negativ sind? Weiss da jemand was darüber?

Ich habe mit [@user=…] auch im Query-to-map experimentiert. Irgendwie klappt das dort aber überhaupt nicht.

Danke für die Hinweise. Klingt vielversprechend und ich werde es sicherlich demnächst mal ausprobieren.