You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何筛选与指定带半径地理点相交的带半径点集合

判断两个带半径的经纬度圆是否重叠的方法

核心就看两个圆心的距离和两个半径的关系,步骤很直接:

  • 先算出两个圆心(你的数据点和指定点)之间的直线距离d,单位统一用公里(和半径保持一致)
  • 对比d和两个半径的和、差:
    • 如果 d > r指定 + r数据:两个圆完全分离,没有重叠
    • 如果 d < |r指定 - r数据|:其中一个圆完全被另一个包含,属于有重叠(如果你的需求是只要有交集就算,这种情况要保留)
    • 剩下的情况(|r指定 - r数据| ≤ d ≤ r指定 + r数据):两个圆相交,存在重叠区域

拿你给的例子来说:

  • 指定点半径23公里,行1数据点半径10公里:
    只要两个圆心距离≤33公里(23+10),并且≥13公里(23-10),就是相交;如果距离<13公里,行1的圆直接被指定圆包住,也算符合条件;距离>33公里就可以排除。
  • 行2数据点半径3公里:
    圆心距离≤26公里(23+3)且≥20公里(23-3)时相交;距离<20公里时被包含;距离>26公里就没有重叠。

关于你提到的预存四点多边形:
如果是用空间数据库处理大量数据,可以先把每个圆转成外接正方形(四点多边形),先做一次空间范围过滤,把明显不沾边的圆先排除,再对剩下的做精确的距离+半径判断,能提升处理效率。但如果数据量不大,直接算距离对比就行,不用折腾多边形。

内容的提问来源于stack exchange,提问作者Ahhk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 05:25:18