[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