У меня очень сложная проблема: у меня есть база данных Postgis 2.0, используемая в качестве хранилища данных для Geoserver 2.1.3
У меня есть таблица со столбцом геометрии (с именем фигуры), с SRID 4326
Я создал вид как это:
CREATE VIEW pippo AS SELECT st_geometryn(shape,1) as geom FROM events
А потом я опубликовал вид с помощью геосервера. Все работает, кроме запросов GetFeatureInfo, что завершается ошибкой 'Операция со смешанной геометрией SRID Простое
select * from geometry_columns
возвращает значение SRID файла pippo.geom 0 (но должно быть 4326)
Я пытался также с этим определением для представления
CREATE VIEW pippo AS SELECT st_setsrid(st_geometryn(shape,1), 4326) as geom FROM events
но у меня все еще есть SRID = 0 в geometry_columns .... любая помощь?
Вот как слой определяется в Geoserver:
Временное решение
Я нашел обходной путь, чтобы решить не саму проблему, а позволить Geoserver выполнять пространственный поиск по запросам GetFeatureInfo:
вместо того, чтобы создавать представление и публиковать его, я опубликовал SQL-слой, определенный непосредственно в геосервере. В форме определения слоя это позволило мне выбрать правильный тип gemoetry и SRID, и теперь все работает!
источник