网站首页 > 博客文章 正文
H3出现背景
????在不同纬度的地区使用等面积、等形状的六边形地理单元可以减少指标和特征 normalization的成本。另一方面,在常用的地理范围查询中,基于矩形的查询方法,存在 8 邻域到中心网格的距离不相等的问题,四边形存在两类长度不等的距离,而六边形的周围邻居到中心网格的距离却是有且仅有一个,从形状上来说更加接近于圆形。 所以,基于 hexagon 的地理单元已经成为各大厂家的首选,比如 Uber 和 Didi 的峰时定价服务。
生成和填充几何体
????使用turf.js计算一个500m的近似圆,然后取出圆的坐标,使用H3填充几何体
var point = turf.point([109.54040527300003,18.755681992000063]);
var buffered = turf.buffer(point, 0.5, {units: 'kilometers'});
let data=buffered.geometry.coordinates[0]
let length=data.length;
let newdata=[]
for(let i=0;i<length;i++){
let lon=data[i][0]
let lat=data[i][1]
newdata.push([lat,lon])
}
const hexagons = h3.polyfill(newdata, 12);
搜索相邻
????通过已知的六边形H3字符串搜索周边的六边形
h3.kRing(h3index, 2);
压缩H3索引集合
????有时我们会觉得产生的六边形太多,可以使用压缩,这样能大大减少六边形数量,本例中H3索引数量压缩前2110,但是压缩后只有208
hexagons=h3.compact(hexagons)
合并索引集合
????合并h3索引集返回geojson的ring
h3.h3SetToMultiPolygon(hexagons, true);
参考资料:
https://zhuanlan.zhihu.com/p/60861179https://blog.csdn.net/allenlu2008/article/details/103029132https://www.sohu.com/a/294377304_326074https://github.com/uber/h3-jshttp://lihuia.com/h3:优步的六边形层级空间索引/https://cosx.org/2019/01/deck-gl-and-h3/
猜你喜欢
- 2024-10-25 《炉石传说》服周报第七期:大型天梯赛事周报
- 2024-10-25 《炉石传说》NGA国服周报第五期——国内首个大型天梯赛事周报
- 2024-10-25 《炉石传说》国服周报 奇数骑 你大爷永远是你大爷
- 2024-10-25 Nobara 39发布:专为游戏玩家/发烧友定制的Fedora版本
- 2024-10-25 V社发布《半条命》25周年纪念更新:加入4张多人游戏地图
- 2024-10-25 游戏机留着先拆充电器看看,STEAM DECK原装45W电源适配器拆解
- 2024-10-25 Apache SuperSet 系列 1 - Apache Superset 是什么?
- 2024-10-25 「值得推荐」前端常用的数据可视化工具库
- 2024-10-25 支持Stream Deck,一件纽尔GL1CLED,轻松搞定游戏氛围摄影补光
- 2024-10-25 Streamlit API官方文档中文版(stream的api)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)