在给定坐标点周围定义一个区域并判断用户是否在该区域中

define a zone around a point of given coordinates and tell if the user is in the zone

我有一个数据库,其中包含 8000 个位置及其在 WGS84 中的坐标,我需要为这些位置提供 5/10 公里的特定“动作范围”,如果用户在给定范围内,该方法应该 return 真

我设法从前端使用 navigator.geolaction 获得了大致的用户位置,它 returnWGS84 中的纬度和经度

以罗马为例:

lng:12.48366723 , lat:41.89277044 大概是罗马斗兽场的坐标,基本就是市中心了。 用户在Lng:12.4724649 Lat:41.8210742,距市中心7.83km......该方法应该return true

如何定义“范围”并判断用户是否在范围内?

我正在使用 springBoot angular11 和 PostgreSQL

这更适合数学。等式如下: (x - center_x)² + (y - center_y)² < 半径²

范围应该是半径。