SELECT Post查询与PostGIS几何不起作用

时间:2020-08-29 00:27:51

标签: postgresql postgis

我有以下查询:

SELECT "coordinate" FROM "chunk" WHERE "coordinate"=ST_SetSRID(ST_MakePoint(1, 1), 4326)

在这里,我想从一个坐标为(1,1)的块中选择所有行,但是出现以下错误:

SQL Error [42883]: ERROR: operator does not exist: point = geometry
  Hint: No operator matches the given name and argument types. You might need to add explicit type casts.
  Position: 52

我很高兴看到任何可以帮助我解决此问题的方法。预先谢谢你。

2 个答案:

答案 0 :(得分:1)

如果要在sql的“ where”部分中搜索坐标,则应使用st_astext函数

这是示例SQL查询

select st_astext(coordinate),coordinate 
from (
select 
1 as id,
ST_SetSRID(ST_MakePoint(1, 1), 4326) as coordinate
) "chunk" 
where st_astext(coordinate)='POINT(1 1)'
 

答案 1 :(得分:0)

我刚刚注意到coordinate的类型为point,而不是最初假设的geometry。将其转换为geometry可以消除该错误。