我正在使用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);
Run Code Online (Sandbox Code Playgroud)
在这里point_latLong,并polygon_abc在具有表A和B的数据类型点和多边形列名
但是这个查询给出了一个错误:
错误:函数st_intersect(point,polygon)不存在第
3行:WHERE city.city_name ='callifornia'和ST_intersect(city.c ...
提示:没有函数匹配给定的名称和参数类型.您可能需要添加
显式类型演员.
我怎么解决这个问题?我甚至无法在postgresql中使用任何其他空间方法,如st_contains()等,如果您有任何解决方案,请告诉我.
我正在尝试执行 Postgres 查询:
SELECT a.a_geom
FROM a
WHERE
ST_within(a.a_geom::geometry,ST_GeomFromText('Polygon((1,1),(4,1),(4,4),(4,1))'));
Run Code Online (Sandbox Code Playgroud)
但是这个查询给出了错误:
错误:解析错误 - 无效的几何
SQL 状态:XX000
提示:“多边形((1,1”<--解析几何中位置 12 处的错误)