Sarah Hoffmann <lon...@denofr.de> wrote: > Das geht mit etwas Gruppierungsmagie, aber irgendwie wird es dann > ineffizient. Die beste Methode ist, sich eine Funktion zu definieren: > > CREATE FUNCTION make_way_geometry(id bigint) RETURNS geometry > AS $$ SELECT ST_MakeLine(n.geom) > FROM (SELECT unnest(nodes), id > > FROM ways w WHERE id = $1) as w, > nodes n > WHERE w.unnest = n.id > $$ LANGUAGE SQL; > > Dann kannst du ganz bequem schreiben: > > SELECT id, astext(ST_PointOnSurface(ST_MakePolygon(make_way_geometry(id)))) > FROM ways WHERE....
OK ich seh schon, meine SQL Kenntnisse sind immer noch deutlich ausbaufähig... SELECT tags->'name',astext(ST_PointOnSurface(ST_MakePolygon(make_way_geometry(id)))) FROM ways WHERE (tags ? 'microbrewery') and (tags->'microbrewery'='yes'); Sieht doch richtig gut aus. Jetzt muss ich eigentlich "nur noch" Datenbank und Aktualisierung auf dem devserver aufsetzen. Super, Danke! Gruss Sven -- /* Fuck me gently with a chainsaw... */ (David S. Miller in /usr/src/linux/arch/sparc/kernel/ptrace.c) /me is giggls@ircnet, http://sven.gegg.us/ on the Web _______________________________________________ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de