Eu tenho um problema muito complicado: eu tenho um banco de dados Postgis 2.0, usado como armazenamento de dados para o Geoserver 2.1.3
Eu tenho uma tabela com uma coluna de geometria (forma nomeada), com SRID 4326
Eu criei uma visão como esta:
CREATE VIEW pippo AS SELECT st_geometryn(shape,1) as geom FROM events
E então publiquei a visualização usando o geoserver. Tudo funciona, exceto as solicitações GetFeatureInfo, que falham com o erro 'Operação em geometrias SRID mistas
select * from geometry_columns
retorna que o SRID do pippo.geom é 0 (mas deve ser 4326)
Eu tentei também com essa definição para a view
CREATE VIEW pippo AS SELECT st_setsrid(st_geometryn(shape,1), 4326) as geom FROM events
mas ainda tenho SRID = 0 nas geometry_columns .... alguma ajuda?
Aqui está como a camada é definida no Geoserver:
Gambiarra
Encontrei uma solução alternativa para corrigir não o problema em si, mas permitir que o Geoserver fizesse uma pesquisa espacial em solicitações GetFeatureInfo:
em vez de criar uma visualização e publicá-la, publiquei uma camada SQL definida diretamente no geoserver. No formulário de definição de camada, me permitiu selecionar o tipo de gemoetry e SRID certos e tudo está funcionando agora!
fonte