Wann einer Relation zugewiesen

Moin!

kann man irgendwie relativ einfach in Erfahrung bringen, wann ein Element einer Relation zugewiesen wurde?

Insbesondere bei Wanderwegen interessiert mich dieses.

Jan

Keine Ahnung ob’s da ein fertiges Web-Tool gibt.

Zu Fuß kannst du in JOSM auf History gehen und in der Mitte der History anfangen. Wenn das Element enthalten ist, schaust du anschließend in der vorderen Hälfte. Sonst in der hinteren Hälfte (Binärsuche). Geht bestimmt, aber vermutlich immernoch mühselig.

Oder man schreibt ein Progrämmchen:


#!/usr/bin/python3

# License: CC0

import requests
from sys import argv

def has_member(el: dict, typ: str, ref: int) -> bool:
    for member in el["members"]:
        if member["type"] == typ and member["ref"] == ref:
            return True
    return False


if len(argv) != 4 or argv[2] not in {"node", "way", "relation"}:
    exit(f"Usage: {argv[0]} <relation> <node|way|relation> <ref>")

rel_id = int(argv[1])
typ = argv[2]
ref = int(argv[3])

state = False
for el in requests.get(f"https://api.openstreetmap.org/api/0.6/relation/{argv[1]}/history.json").json()["elements"]:
    if state and not has_member(el, typ, ref):
        print(f"Removed in version {el['version']} by {el['user']} in changeset {el['changeset']}, {el['timestamp']}")
        state = False
    elif not state and has_member(el, typ, ref):
        print(f"Added in version {el['version']} by {el['user']} in changeset {el['changeset']}, {el['timestamp']}")
        state = True

Ja, sollte mit der History-Anzeige von http://osm.mapki.com/history/ machbar sein.

http://osm.mapki.com/history/relation.php?id=1928240 zeigt mir eine leere Members-Liste.

…was aber an http://osm.mapki.com/history/ liegen dürfte… Bei Relationen, von denen ich weiß, daß diese stimmen und in Ordnung sind, werden auch keine Members angezeigt… z.B. https://www.openstreetmap.org/relation/4648748

Sven

Upps, hatte vorher nicht geprüft, ob das Tool noch funktioniert, weil es immer recht stabil lief.
Es wurde repariert, jetzt sollte die Chronik der Memberliste von Relationen wieder angezeigt werden.