相关疑难解决方法(0)

用于测试点是否在圆内的等式

如果你有一个中心(center_x, center_y)和半径的圆radius,你如何测试一个带坐标的给定点(x, y)是否在圆内?

language-agnostic algorithm geometry

291
推荐指数
9
解决办法
24万
查看次数

查找给定点一定半径内的点的最有效方法

我已经阅读了关于这个主题的几个问题+答案,但我不明白哪种是找到具有一定半径的“圆”内的所有点的常用方法(如果有的话......),以给定点为中心。

我特别发现了两种似乎最有说服力的方法:

select id, point 
from my_table 
where st_Distance(point, st_PointFromText('POINT(-116.768347 33.911404)', 4326)) < 10000;
Run Code Online (Sandbox Code Playgroud)

和:

select id, point 
from my_table 
where st_Within(point, st_Buffer(st_PointFromText('POINT(-116.768347 33.911404)', 4326), 10000));
Run Code Online (Sandbox Code Playgroud)

查询数据库最有效的方法是什么?还有其他选择可以考虑吗?

postgresql postgis postgresql-9.3

7
推荐指数
1
解决办法
7127
查看次数