Hallo,
ich vergleiche gerade mehrere Abfragen in SQL
1.) räumliche Abfrage zwischen zwei Polygonen (ca. 830ms)
WHERE c.Geometry && ST_MakeEnvelope(3500060.29, 5392691.47, 3500277.065, 5393413.511)
2.) räumliche Abfrage ST_Contains zwischen Polygon (BoundingBox) und Point-Geometrie (ca. 830 ms)
WHERE ST_Contains( ST_MakeEnvelope(3500060.29, 5392691.47, 3500277.065, 5393413.511, 31467), a.centroid_geom)
3.) räumliche Abfrage ST_Intersection zwischen Polygon (BBox) und Point-Geometrie (ca 830ms)
WHERE ST_Intersects( ST_MakeEnvelope(3500060.29, 5392691.47, 3500277.065, 5393413.511, 31467), a.centroid_geom)
Das Ergebnis ist bei allen korrekt (c.geometrie = alle Polygone, a.centroid_geom = Centroid der Polygone aus c.Geometrie)!
Warum ist die Geschwindigkeit gleich?
Ich habe bei den letzeren beiden eine Abfrage zwischen Polygon und Punkt das heißt weniger Koordinaten die er vergleichen muss.
Außerdem habe ich den GIST-Index genommen-> Aber der ist glaube dieser bezieht sich nur auf BoundingBoxen. Heißt das er bringt für meine Punktgeometrie nichts?
Gibt es einen besseren Index für Punktgeometrie anstelle GIST?
Ansonsten wäre es wahrscheinlich vom Vorteil indiziierte Boxen zu nehmen als nicht indiziierte Punkte oder???