st_contains 线串中的点不匹配
st_contains not matching point in linestring
我有包含线串几何的数据。
select st_astext(fullpath) from t limit 1;
-----------------------------------------------------------
LINESTRING(-117.9394066 33.7621968,-117.9394143 33.7618166)
如果我尝试 select 这条线中的点之一,它不匹配。
select * from t where st_contains(fullpath, st_makepoint(33.7618166,-117.9394143));
-----------------------------------------------------------------------------------
0 records found
阅读此功能的文档,我看不出我做错了什么。
使用ST_Covers
。
这是根据@mlt 的评论修改的示例:
test=# select ST_Covers(ST_GeomFromText('LINESTRING(-117.9394066 33.7621968,-117.9394143 33.7618166)'), st_makepoint(-117.9394066, 33.7621968));
st_covers
-----------
t
(1 row)
我有包含线串几何的数据。
select st_astext(fullpath) from t limit 1;
-----------------------------------------------------------
LINESTRING(-117.9394066 33.7621968,-117.9394143 33.7618166)
如果我尝试 select 这条线中的点之一,它不匹配。
select * from t where st_contains(fullpath, st_makepoint(33.7618166,-117.9394143));
-----------------------------------------------------------------------------------
0 records found
阅读此功能的文档,我看不出我做错了什么。
使用ST_Covers
。
这是根据@mlt 的评论修改的示例:
test=# select ST_Covers(ST_GeomFromText('LINESTRING(-117.9394066 33.7621968,-117.9394143 33.7618166)'), st_makepoint(-117.9394066, 33.7621968));
st_covers
-----------
t
(1 row)