Tengo un problema muy complicado: tengo una base de datos Postgis 2.0, utilizada como almacén de datos para Geoserver 2.1.3
Tengo una tabla con una columna de geometría (forma denominada), con SRID 4326
He creado una vista como esta:
CREATE VIEW pippo AS SELECT st_geometryn(shape,1) as geom FROM events
Y luego publiqué la vista usando geoserver. Todo funciona, excepto las solicitudes GetFeatureInfo, que falla con el error 'Operación en geometrías SRID mixtas. Un simple
select * from geometry_columns
devuelve que el SRID de pippo.geom es 0 (pero debería ser 4326)
Intenté también con esta definición para la vista
CREATE VIEW pippo AS SELECT st_setsrid(st_geometryn(shape,1), 4326) as geom FROM events
pero todavía tengo SRID = 0 en geometry_columns ... ¿alguna ayuda?
Así es como se define la capa en Geoserver:
Solución alterna
Encontré una solución alternativa para solucionar no el problema en sí, sino para permitir que Geoserver realice una búsqueda espacial en las solicitudes GetFeatureInfo:
en lugar de crear una vista y publicarla, publiqué una capa SQL definida directamente en geoserver. ¡En la forma de definición de capa me permitió seleccionar el tipo de gemoetría y SRID correctos y todo está funcionando ahora!
fuente