PostGIS查询总是带回所有结果

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PostGIS查询总是带回所有结果相关的知识,希望对你有一定的参考价值。

我是第一次使用PostGIS,无论我在距离查询中使用的距离如何,我都将获得所有结果。我的数据如下所示:

Id                                      GeoLocation
8eb63480-4d63-11ea-b06a-8c1645ef6ad2    POINT (52.6323202 1.2947649)
a0f2dde6-4d64-11ea-b06a-8c1645ef6ad2    POINT (52.6294342 1.2936336)
a0f2dde7-4d64-11ea-b06a-8c1645ef6ad2    POINT (52.6277909 1.2909079)
a0f2dde8-4d64-11ea-b06a-8c1645ef6ad2    POINT (52.6260535 1.2952051)

而且当我查询距离应该超过一英里的点时:

SELECT * FROM "Locations"   WHERE ST_DWithin("GeoLocation", 'POINT(52.6219322 1.2630061)', 1);

我将所有行退回。我的理解是distance参数应该以米为单位,因此我不应该得到任何结果。

可能是坐标格式问题?我想念什么?

答案

因为这些似乎是经度和纬度的坐标,所以应该使用geography数据类型。

以上是关于PostGIS查询总是带回所有结果的主要内容,如果未能解决你的问题,请参考以下文章

将 ngram 与 elasticsearch 一起使用时带回所有相关结果

在函数 plpgsql (POSTGIS) 中执行查询

在 PostgreSQL(PostGIS) 中优化 ST_Intersects

Android Studio - 带回栈的导航抽屉

java模糊查询问题,代码如下,总是接收不到查询结果,但是如果用精确查找就能接受到查询结果?

C++或C中怎么通过代码执行mongodb中的命令行,把执行结果带回。