| 

.NET C# Java Javascript Exception

1
Wo ist der Unterschied zwischen den beiden MySQL Funktionen: Intersects() und MBRIntersects()

Sollte eine genauer oder performanter sein? (im Test waren sie gleich schnell und haben gleiche Ergebnisse geliefert)

Oder wie würde Ihr so etwas machen:
f.`position` sind POINT so 100k
k.`polygon` sind MULTIPOLYGON 26 Stück bestehen so jeweils aus ~10k Punkten

SELECT f.`name` 
FROM `kantone` k
LEFT JOIN `personen` f ON (MBRIntersects(f.`position`, k.`polygon`))
WHERE k.`id`=4


PS: die 7 im Titel ist soll ein / sein
09.09.2009
GreenRover 83 1 3
1 Antwort
1
Die Doku meint dazu:
Die OpenGIS-Spezifikation definiert die folgenden Funktionen, um die Beziehungen zwischen zwei Geometriewerten g1 und g2 zu testen.

MySQL implementiert diese Funktionen zurzeit noch nicht entsprechend der Spezifikation. Die, die implementiert werden, geben dasselbe Ergebnis wie die entsprechenden MBR-basierten Funktionen zurück. Dazu gehören neben Distance() und Related() auch die anderen Funktionen der folgenden Liste.

Diese Funktionen könnten in zukünftigen Releases auch mit voller anstatt nur mit MBR-basierter Unterstützung für raumbezogene Analyse implementiert werden.


Soll heißen, dass die OpenGIS-Spezifikation das zwar eigentlich was anders vorschreibt, aber die Entwickler noch keine Zeit hatten, das anders zu implementieren und man sich erstmal mit den MBR-Werten begnügen soll. Sollte mal was anderes entwickelt werden, könnten die Fkt. sich auch unterscheiden.

Grüßle
09.09.2009
Scout 1,4k 1 8
Scout 1,4k 1 8

Stelle deine Php-Frage jetzt!