http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 3343|回复: 2

[搜索引擎] 40-Elasticsearch之Geohashes

[复制链接]
发表于 2019-1-8 08:52:44 | 显示全部楼层 |阅读模式
Geohashes 是一种将经纬度坐标( lat/lon )编码成字符串的方式。 这么做的初衷只是为了让地理位置在 url 上呈现的形式更加友好,但现在 geohashes 已经变成一种在数据库中有效索引地理坐标点和地理形状的方式。

Geohashes 把整个世界分为 32 个单元的格子 —— 4 行 8 列 —— 每一个格子都用一个字母或者数字标识。比如 g 这个单元覆盖了半个格林兰,冰岛的全部和大不列颠的大部分。每一个单元还可以进一步被分解成新的 32 个单元,这些单元又可以继续被分解成 32 个更小的单元,不断重复下去。 gc 这个单元覆盖了爱尔兰和英格兰, gcp 覆盖了伦敦的大部分和部分南英格兰, gcpuuz94k 是白金汉宫的入口,精确到约 5 米。

换句话说, geohash 的长度越长,它的精度就越高。如果两个 geohashes 有一个共同的前缀— gcpuuz—就表示他们挨得很近。共同的前缀越长,距离就越近。

这也意味着,两个刚好相邻的位置,可能会有完全不同的 geohash 。比如,伦敦 Millenium Dome 的 geohash 是 u10hbp ,因为它落在了 u 这个单元里,而紧挨着它东边的最大的单元是 g 。

地理坐标点可以自动索引相关的 geohashes ,更重要的是,他们也可以索引所有的 geohashes 前缀 。如索引白金汉宫入口位置——纬度 51.501568 ,经度 -0.141257—将会索引下面表格中列出的所有 geohashes ,表格中也给出了各个 geohash 单元的近似尺寸:

[td]
Geohash
Level
Dimensions
g
1
~ 5,004km x 5,004km
gc
2
~ 1,251km x 625km
gcp
3
~ 156km x 156km
gcpu
4
~ 39km x 19.5km
gcpuu
5
~ 4.9km x 4.9km
gcpuuz
6
~ 1.2km x 0.61km
gcpuuz9
7
~ 152.8m x 152.8m
gcpuuz94
8
~ 38.2m x 19.1m
gcpuuz94k
9
~ 4.78m x 4.78m
gcpuuz94kk
10
~ 1.19m x 0.60m
gcpuuz94kkp
11
~ 14.9cm x 14.9cm
gcpuuz94kkp5
12
~ 3.7cm x 1.8cm

geohash单元 过滤器 可以使用这些 geohash 前缀 来找出与指定坐标点( lat/lon )相邻的位置。



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2019-1-8 09:39:27 | 显示全部楼层
强烈支持楼主ing……
发表于 2019-1-8 16:42:49 | 显示全部楼层
我只是路过打酱油的。
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-8 13:38

© 2014-2021

快速回复 返回顶部 返回列表