`geo_distance`聚合的形状是圆形。它基于一个中心点(`origin`)和一系列距离范围来计算每个文档与中心点的距离,并将文档分配到相应的距离范围内。这种聚合方式本质上是以中心点为圆心,以指定的距离范围为半径的圆形区域来划分数据。
为什么是圆形?
`geo_distance`聚合的核心是计算每个文档的地理位置与指定起点之间的直线距离(欧几里得距离或球面距离)。因此,它自然形成了以起点为中心的圆形区域。例如:
• 如果你指定一个范围是`0-10km`,那么所有距离起点在 10 公里以内的文档都会被归入这个范围。
• 这个范围在地理空间上就是一个以起点为中心、半径为 10 公里的圆形区域。
示例说明
假设我们有一个起点(`origin`)和以下距离范围:
• `0-10km`
• `10-50km`
• `50km`以上
这些范围在地理空间上可以表示为以下圆形区域:
• 第一个范围:以起点为中心,半径为 10 公里的圆内。
• 第二个范围:以起点为中心,半径在 10 公里到 50 公里之间的环形区域。
• 第三个范围:以起点为中心,半径大于 50 公里的区域。
圆形区域的可视化
以下是一个简单的示意图,展示这些圆形区域的划分:</