[OSM-Devserver] PostGIS nächstes Objekt

Alexander Matheisen AlexanderMatheisen at ish.de
Mo Nov 8 22:01:05 CET 2010


Hallo,

ich würde gerne für ein bestimmtes Obejekt (erstmal nur Punkte) den
nächsten Punkt mit einem bestimmten Tag herausfinden.

Dazu habe ich folgendes versucht, bzw. nach Beispielen zusammmen
gebastelt, was aber irgendwie nicht so ganz will;
mache ich so ein Request, kommt kein Ergebnis, vorsichtshalber breche
ich immer nach ca. 10s ab, um die DB nicht noch zum Absturz zu bringen:

SELECT h.tags->'name' AS name,
ST_Distance(ST_SetSRID(ST_Point(51.1983858,6.6872327),4326),ST_SetSRID(h.way,4326)) AS distance FROM planet_point AS s, planet_point AS h WHERE s.osm_id = 330447462 AND h.tags->'amenity' = 'pub' ORDER BY distance LIMIT 1;

Die Koordinaten und die ID sind von einem bekannten Punkt, der gesuchte
nächste Punkt hat dann das Tag amenity=pub.

Was ist falsch oder ist so eine Frage wirklich ziemlich langsam? Gibt es
einfachere oder bessere Methoden?


Alex