gpt4 book ai didi

postgresql - 使用 PostgreSQL 9.3 时不存在函数 st_intersects()

转载 作者:行者123 更新时间:2023-11-29 14:20:47 25 4
gpt4 key购买 nike

我有一个包含三列的表格,如下所示。

:geomet

create table geomet
(
cola float,
colb float,
geopath geometry
);

插入记录:

insert into geomet values('12.32232442','43.2324535',point(12.32232442,43.2324535)::geometry);

我有这个:

select * from geomet;

cola colb geopath
---------------------------------------------------------------------
12.32232442 43.2324535 01010000004F34D5B407A528409D2B4A09C19D4540

注意:我需要在我的表中找到 geopath 列的交集,如上所示。我还安装了 PostGIS

所以我试过这个:

尝试 1:

SELECT ST_Intersects(geopath) from geomet;

出错:

ERROR:  function st_intersects(geometry) does not exist

尝试 2:

SELECT ST_Intersects(cola,colb) from geomet;

出错:

ERROR:  function st_intersects(double precision, double precision) does not exist

最佳答案

ST_Intersects需要两个几何或两个几何字段,因为您正在检查一个几何与另一个几何或一组与另一组之间的交集。

SELECT ST_Intersects(geomA, geomB) FROM some_table;

SELECT a.id., b.id, ST_Intersects(a.geom, b.geom)
FROM table a, table b
WHERE a.id > b.id;

将为您提供两个表之间的所有成对交集。显然,您可以以类似的方式在 where 子句中使用 ST_Intersects,以仅返回两个不同表中的记录相交的行。

关于postgresql - 使用 PostgreSQL 9.3 时不存在函数 st_intersects(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28082122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com