【发布时间】:2015-06-27 01:46:45
【问题描述】:
我已经设置了一个与 geoserver 平台通信的 openlayers html 窗口。 Geoserver 通过参数化视图连接到数据库,其中整个“where”子句都是一个参数。
我的问题是,当我在我的数据库上创建一个 sql 查询时,形式为 “从“Beta”b 中选择 b.the_geom,其中 b.point_id
如果我向地理服务器发送视图参数:
- > 从“Beta”中选择 b.the_geom b %parameter%
而且参数是我刚开始演示的sql查询的where子句,一切正常。
所以我知道我的程序可以发送参数(完整的“where”子句)并找出查询。例如,id
但是,当我使用任何 postgis 函数来比较几何时,pgadmin 中的 sql 查询完美运行,并返回与第一部分中成功查询相同的数据。例如,它返回所有具有相同 the_geom 编号的几何图形。
但是,当我实际将包含诸如 ST_CROSSES(b.the_geom,c.the_geom) 之类的 postgis 函数的 where 子句从 html 发送到地理服务器时,openlayers 窗口中没有显示任何内容。
这怎么可能?
【问题讨论】:
-
我要做的第一件事是检查日志以查看 a) 是否出现错误以及 b) 实际正在执行什么查询
-
我上周尝试过,并设法打破了一切。您是在谈论 geoserver 日志还是 postgresql 日志?我无法终生启用 postgresql 日志记录,但使用 geoserver 我仍然有机会
-
好的,我已经设法在地理服务器日志中找到可能相关的内容,它表明“请求了 1 个图层,但找到了指定的 2 个视图参数”
标签: postgresql view postgis geoserver