我有一个非常棘手的问题:我有一个Postgis 2.0数据库,用作Geoserver 2.1.3的数据存储
我有一个带有几何列(名为形状)的表,其SRID 4326
我创建了这样的视图:
CREATE VIEW pippo AS SELECT st_geometryn(shape,1) as geom FROM events
然后,我使用geoserver发布了视图。除GetFeatureInfo请求外,其他所有操作均有效,并显示错误“对混合SRID几何进行操作”。
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请求执行空间搜索:
我没有创建视图并发布它,而是发布了直接在geoserver中定义的SQL层。在层定义表单中,它使我可以选择正确的宝石学类型和SRID,并且现在一切正常!