Goedendag,
Ik heb het volgende probleem (in PostgreSQL icm PostGIS):
Ik heb een mooie query die verschillende records groepeert. Alhoewel het wat PostGIS functies gebruikt is het probleem niet PostGIS gerelateert, dus mocht je er niet bekend mee zijn, bear with me
Hier komt een result uit. So far so good.
Nu maak ik gebruik van geoserver die de data opvraagt aan de database en zelf de queries schrijft. Dit komt neer op:
Is het mogelijk een view te schrijven die de WHERE parameters (of de waarde "Bounding box") doorzet naar de subquery? Het is niet mogelijk deze buiten de subquery te laten omdat de subquery dan eerst voor alle data een aantal clusters zal berekenen, en je vervolgens met WHERE kijkt welke clusters er nog in je bounding box vallen. Ik wil juist voor de bounding box een berekening laten uitvoeren.
Ik heb het volgende probleem (in PostgreSQL icm PostGIS):
Ik heb een mooie query die verschillende records groepeert. Alhoewel het wat PostGIS functies gebruikt is het probleem niet PostGIS gerelateert, dus mocht je er niet bekend mee zijn, bear with me
SQL:
1
2
3
4
5
6
7
8
| SELECT count(*), ST_Centroid(ST_Collect("geom")) AS "geom" FROM ( SELECT kmeans(ARRAY[ST_X("geom"), ST_Y("geom")], 5) OVER (), "geom" FROM "table" WHERE "geom" && ST_GeomFromText("Bounding box") --Om deze regel gaat het ) AS ksub GROUP BY kmeans ORDER BY kmeans; |
Hier komt een result uit. So far so good.
Nu maak ik gebruik van geoserver die de data opvraagt aan de database en zelf de queries schrijft. Dit komt neer op:
SQL:
1
| SELECT "count", "geom" FROM "table" WHERE "geom" && ST_GeomFromText("Bounding Box"); |
Is het mogelijk een view te schrijven die de WHERE parameters (of de waarde "Bounding box") doorzet naar de subquery? Het is niet mogelijk deze buiten de subquery te laten omdat de subquery dan eerst voor alle data een aantal clusters zal berekenen, en je vervolgens met WHERE kijkt welke clusters er nog in je bounding box vallen. Ik wil juist voor de bounding box een berekening laten uitvoeren.