Mam bardzo trudny problem: mam bazę danych Postgis 2.0, używaną jako magazyn danych dla Geoserver 2.1.3
Mam tabelę z kolumną geometrii (o nazwie kształt) z SRID 4326
Stworzyłem taki widok:
CREATE VIEW pippo AS SELECT st_geometryn(shape,1) as geom FROM events
A potem opublikowałem widok za pomocą geoservera. Wszystko działa, z wyjątkiem żądań GetFeatureInfo, które kończą się błędem „Operacja na mieszanych geometriach SRID Prosty
select * from geometry_columns
zwraca, że SRID pippo.geom wynosi 0 (ale powinien wynosić 4326)
Próbowałem również z tą definicją widoku
CREATE VIEW pippo AS SELECT st_setsrid(st_geometryn(shape,1), 4326) as geom FROM events
ale nadal mam SRID = 0 w geometry_columns .... jakaś pomoc?
Oto, jak zdefiniowano warstwę w Geoserver:
Obejście
Znalazłem obejście, aby rozwiązać nie sam problem, ale pozwolić Geoserverowi na przeprowadzenie wyszukiwania przestrzennego na żądanie GetFeatureInfo:
zamiast tworzyć widok i publikować go, opublikowałem warstwę SQL zdefiniowaną bezpośrednio w geoserver. W formularzu definicji warstwy mogłem wybrać odpowiedni typ gemoetrii i SRID i wszystko już działa!
źródło