【发布时间】:2014-02-13 15:19:46
【问题描述】:
我正在使用 postgresql 版本: “x86_64-unknown-linux-gnu 上的 PostgreSQL 9.3.1,由 gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) 编译,64 位”
我创建了 2 个表 A 和 B,其中点和多边形作为数据类型。 现在我想知道点是否在多边形内。 为此,我正在尝试使用 ST_Intersect(A.point_LatLong , B.polygon_abc); 我的查询是:
SELECT A.id
FROM A, B
WHERE A.name = 'callifornia'
AND ST_Intersect(A.point_LatLong , B.polygon_abc);
这里 point_latLong 和 polygon_abc 是表 A 和 B 中具有数据类型点和多边形的列名。
但是这个查询给出了一个错误:
错误:函数 st_intersect(point, polygon) 不存在
第 3 行:其中 city.city_name = 'callifornia' AND ST_intersect(city.c...
提示:没有函数匹配给定的名称和参数类型。您可能需要添加
显式类型转换。
我该如何解决这个问题?我什至无法在 postgresql 中使用任何其他空间方法,例如 st_contains() 等,如果您有任何解决方案,请告诉我。
【问题讨论】:
-
st_intersect()是PostGIS的功能,听起来好像你没有安装PostGIS。
标签: postgresql geospatial postgis spatial-index spatial-query