매우 까다로운 문제가 있습니다. Geoserver 2.1.3의 데이터 저장소로 사용되는 Postgis 2.0 데이터베이스가 있습니다.
SRID 4326이있는 지오메트리 열 (이름이 모양)이있는 테이블이 있습니다.
다음과 같은 뷰를 만들었습니다.
CREATE VIEW pippo AS SELECT st_geometryn(shape,1) as geom FROM events
그런 다음 geoserver를 사용하여 뷰를 게시했습니다. GetFeatureInfo 요청을 제외한 모든 기능이 작동합니다.
select * from geometry_columns
pippo.geom의 SRID가 0임을 반환합니다 (그러나 4326이어야 함).
나는이 정의를보기 위해 시도했다.
CREATE VIEW pippo AS SELECT st_setsrid(st_geometryn(shape,1), 4326) as geom FROM events
하지만 여전히 geometry_columns에 SRID = 0이 있습니다. ... 도움이 있습니까?
Geoserver에서 레이어를 정의하는 방법은 다음과 같습니다.
해결 방법
문제 자체를 해결하는 것이 아니라 Geoserver가 GetFeatureInfo 요청에 대한 공간 검색을 수행 할 수있는 해결 방법을 찾았습니다.
뷰를 만들어 게시하는 대신 지오 서버에 직접 정의 된 SQL 계층을 게시했습니다. 레이어 정의 형식에서 올바른 gemoetry 유형과 SRID를 선택할 수 있었고 모든 것이 현재 작동하고 있습니다!