[Talk-de] (Perl)-Tool für die Relationsauflistung

Werner Hoch werner.ho at gmx.de
Mo Okt 4 09:47:41 UTC 2010


Hallo Jan,

On Samstag, 25. September 2010, Jan Tappenbeck wrote:
> Am 25.09.2010 08:35, schrieb Gary68:
> > http://wiki.openstreetmap.org/wiki/Relation_lists

Die hierarchischen Listen hier [1] mache ich mit einem python-skript 
[2], in die auch eine Filterung eingebaut werden kann [3].

Damit kann man nach belieben die OSM-Objekte vorfiltern bevor man die 
OSM-Objekte oder die Tags zu listen oder html-Ausgabe weiterverarbeitet.

Ergebnisse sehen z.B. so aus:
http://www.h-
renrew.de/h/osm/osmchecks/02_Relationstypen/planet_street.html

Hier wurden alle Relationen ausgefiltert, die etwas mit street, 
related_street, associatedStreet, .... zu tun haben.

> > On Fri, 2010-09-24 at 21:49 +0200, osm at tappenbeck.net wrote:
> >> immer wieder kommt es vor das man nur mal eben die Namen aller
> >> Wegerelationen oder Gemeinde-Borders brauch. Dann mal eben
> >> auflisten und schon kommt man schneller ans Ziel.
> >> 
> >> Weiß einer von Euch ob soetwas irgendwo verfügbar ist ??

[...]
 
> aber damit kann ich vermutlich keine vorfilterung nach site,
> multipolygon, wanderweg, icw,.... vornehmen?

s. oben

Grüße
Werner

[1] http://www.h-renrew.de/h/osm/osmchecks/02_Relationstypen/index.html

[2] http://github.com/werner2101/python-osm

[3] Filterfunktion für street-ähnliche relationen:
--------------------
def street_relations_filter(object):
    streetset = set(['street', 'relatedStreet', 'associatedStreet', 
'address', 'street_number'])
    if type(object) == pyosm.Node:
        return False
    elif type(object) == pyosm.Way:
        return False
    elif type(object) == pyosm.Relation:
        k = set(object.tags.keys())
        if k & streetset:
            return True
        v = set(object.tags.values())
        if v & streetset:
            return True
        return False
    return True
--------------------




Mehr Informationen über die Mailingliste Talk-de