【发布时间】:2014-04-06 19:39:33
【问题描述】:
在两个节点上的集群数据库(stado)中使用 Postgresql,我想测试这个查询:
select id,position,timestamp from table t1 WHERE id!=0 AND ST_Intersects ((Select ST_Buffer_Meters(ST_SetSRID(ST_MakePoint(61.4019,15.218205), 4326) ,1160006)),position) AND timestamp Between '2013-10-01' and '2013-12-30';
当我在命令行或 psql(在协调器上)运行它时,我得到这个错误:
Encountered ")" at line 1, column 171.
虽然其他 sql 命令(插入、更新、选择...等)工作正常。表格中的几何列似乎还可以,所以我认为安装 PostGIS 没有问题。
【问题讨论】:
-
这真的是我抓住了救命稻草,但我看到流氓空间在调用函数时会导致问题:
ST_Intersects (。 -
我应该怎么做才能解决它?
-
尝试删除
ST_Intersects和(之间的空格? -
谢谢,只是试了一下。没用。
-
ST_Buffer_Meters 不是官方的函数,虽然看起来是由其他 Postgis 函数组成的。我建议使用 ST_Transform 将纬度/经度转换为您使用的任何本地投影坐标系,然后您可以以米为单位进行距离。并且不要发布带有非标准功能的示例:-)
标签: sql database postgresql postgis stado