[OSM-Devserver] PostGIS nächstes Objekt

Alexander Matheisen AlexanderMatheisen at ish.de
Fr Nov 12 17:46:36 CET 2010


> Mit
> 
> SELECT * FROM (SELECT DISTINCT ON (h.tags->'name') h.osm_id,
> h.tags->'name' AS name, ST_X(ST_Transform(h.way, 4326)),
> ST_Y(ST_Transform(h.way, 4326)),
> ST_Distance_Sphere(ST_Transform(s.way,4326), ST_Transform(h.way,4326))
> AS distance FROM planet_point AS s, planet_point AS h WHERE s.osm_id =
> 613578611 AND h.tags->'highway' = 'bus_stop' AND h.way &&
> ST_Buffer(s.way, 2000)) as blubb ORDER BY distance LIMIT 2;
> 
> klappt es nun, nur dummerweise wird dann nur die weitere Bushaltestelle
> der beiden ausgegeben?!
> Irgendwie muss man scheinbar noch vor dem DISTINCT die Haltestellen nach
> Entfernung sortieren, aber wie?

Nachtrag: Komischerweise wird nun doch die nähere Haltestelle
ausgegeben. Entweder hab ich versehentlich was geändert oder falsch
gemacht, oder ohne Sortierung liefert die DB das willkürlich aus. Mal
sehen, ob sich das Verhalten irgendwie reproduzieren lässt...


Alex