[FOSSGIS-Talk] Mapserver: ST_centroid für POINT Layer im Mapfile verwenden

Jörg Thomsen (WhereGroup) joerg.thomsen at wheregroup.com
Mo Okt 7 09:38:19 CEST 2019


Hallo Sven,

warum das mit dem index so ist, ist mir im Moment nicht klar. MapServer
will vorne immer nur die geometry ohne Schnickschnack.

was macht der index, wenn Du das doppelt klammerst?

geom from (ST_Centroid(geom) as geom, * from ( SELECT geom,osm_id FROM
table_with_polygons where ... )) as foo using unique osm_id using srid=4326

oder du machst 'n view in der db?

Viele Grüße, Jörg

Am 03.10.19 um 14:32 schrieb Sven Geggus:
> 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
> 


Viele Grüße,
Jörg Thomsen

-- 

***************************
Where2B Konferenz 2019
12. Dezember 2019 in Bonn
where2b-conference.com
***************************

Jörg Thomsen
WhereGroup GmbH
Gillweg 3
14193 Berlin
Germany

Fon: +49 (0)30 / 5130 278 74
Fax: +49 (0)30 / 5130 278 11	

joerg.thomsen at wheregroup.com
www.wheregroup.com

Geschäftsführer:
Olaf Knopp, Peter Stamm
Amtsgericht Bonn, HRB 9885

-------------------------------
Folgen Sie der WhereGroup auf twitter: http://twitter.com/WhereGroup_com


Mehr Informationen über die Mailingliste FOSSGIS-Talk-Liste