[Talk-de] Ersatz fuer Namefinder

marcus.wolschon at googlemail.com marcus.wolschon at googlemail.com
Mo Apr 27 09:01:40 UTC 2009


On Fri, 24 Apr 2009 16:38:40 +0200, Christof Amelunxen
<christof.amelunxen at sbg.ac.at> wrote:
> Hi Marcus,
> 
> marcus.wolschon at googlemail.com wrote:
>>> Mal gucken, ob ich das zu PostGIS "übersetzen" kann.
>> 
>> Kann das Teil sowas wie:
>> 
>> SELECT MIN(DISTANCE(X.location, Y.location)) AS distance, X.nodeID,
>> T.value
>> AS placetype
>> FROM Nodes X, NodeTags T WHERE 
>> T.nodeID = X.nodeID AND T.key = 'place'
>> und dann halt prüfen ob das resultiernde "distance"-Feld kleiner
>> als der Radius des placetype ist?
> 
> Sowas kannst du bei PostGIS z.B. mit der Bedingung
> ST_DWithin(geom1,geom2,distance) abbilden. Die Distanz zwischen zwei 
> Punkten bekommst du zwar mit ST_Distance auch heraus...wenn du allerdings
> wie in deinem Beispiel erstmal die Distanz 
> aller möglichen Kombinationen berechnen lässt und davon das Minimum
> ermitteln willst, dann läuft der SELECT ewig.


Du selektierst ja nicht über alle Places eines type
sondern nur die in einem maximalen sinnvollen Radius
für diese Typ.
Das sind im Normalfall 0, 1 oder vieleicht mal 2.


Marcus




Mehr Informationen über die Mailingliste Talk-de