地理数据处理:从点到形状的全面解析
在处理地理数据时,我们常常会面临各种挑战,比如内存使用、结果筛选与聚合、形状关系判断等。本文将深入探讨地理数据处理中的关键技术,包括地理点(Geo - Points)、地理哈希(Geohashes)、地理聚合(Geo - aggregations)以及地理形状(Geo - shapes)的相关应用与优化。
1. 地理点处理与内存优化
地理点数据在存储和处理时会占用大量内存。每个经纬度对需要 16 字节的内存来提供高精度的结果,但在实际应用中,这种高精度往往并非必需。
内存优化方法 :
- 使用压缩的字段数据格式 :通过指定地理点的精度,可以显著减少内存使用。例如,将精度降低到 1mm 可减少三分之一的内存使用,设置为 3m 可减少 62%,而设置为 1km 则可节省 75%。可以使用更新映射 API 来更改实时索引的设置:
POST /attractions/_mapping/restaurant
{
"location": {
"type": "geo_point",
"fielddata": {
"format": "compressed",
"precision": "1km"
}
}
}
这样每个经纬度对只需 4 字节,而非原来的 16 字节。
- 使用文档值存储地理点 :可以避免将地理点加载到内存中,而是将其存储在磁盘上。不过
超级会员免费看
订阅专栏 解锁全文
17万+

被折叠的 条评论
为什么被折叠?



