[FOSSGIS-Talk] Mapserver: ST_centroid für POINT Layer im Mapfile verwenden
Sven Geggus
lists at fuchsschwanzdomain.de
Do Okt 3 14:32:57 CEST 2019
Hallo zusammen,
ich habe folgenden Query in einem Mapfile:
DATA "geom from ( SELECT geom,osm_id FROM table_with_point_geom where ... ) as foo using unique osm_id using srid=4326"
Das funktioniert einwandfrei, der Geometrieindex wird verwendet.
Nun ändere ich den wie folgt:
DATA "geom from ( SELECT ST_Centroid(geom) as geom,osm_id FROM table_with_polygons where ... ) as foo using unique osm_id using srid=4326"
Das funktioniert zwar ebenfalls, aber der Geometrieindex wird nicht mehr verwendet.
Nachsehen im Query log zeigt auch warum. Das ST_Centroid sollte im äußeren
Select ausgeführt werden und nicht im inneren!
Das hier schluckt der Mapserver aber so nicht:
DATA "ST_Centroid(geom) as geom from ( SELECT geom,osm_id FROM table_with_polygons where ... ) as foo using unique osm_id using srid=4326"
msPostGISLayerWhichShapes(): Error (FEHLER: Spalte »ST_Centroid(geom) as geom« existiert nicht
Habt ihr schlaue Vorschläge für mich?
Sven
--
# Turn on/off security. Off is currently the default
(found in MongoDB default configfile)
/me is giggls at ircnet, http://sven.gegg.us/ on the Web
Mehr Informationen über die Mailingliste FOSSGIS-Talk-Liste