《阿里云产品四月刊》—Ganos H3 地理网格能力解析与最佳实践(1)

本文涉及的产品
对象存储 OSS,20GB 3个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代

本文来源于阿里云社区电子书《阿里云产品四月刊》


Ganos H3 地理网格能力解析与最佳实践

关于 Ganos

Ganos  是阿里云数据库产品事业部联合阿里云飞天数据库与存储实验室联合共同研发的新一代云原生位置智能引擎,它将时空数据处理能力融入了云原生关系型数据库PolarDB、云原生多模数据库Lindorm、云原生数据仓库AnalyticDB 和云数据库RDS PG 等核心产品中。Ganos 目前拥有几何、栅格、轨迹、表面网格、体网格、3D  实景、点云、路径、地理网格、快显十大核心引擎,为数据库构建了面向新型多模多态时空数据  的存储、查询、分析、服务等一体化能力。

image.png

 

本文介绍的地理网格引擎能力,依托阿里云云原生关系型数据库 PolarDB 建设输出。

 

关于 Ganos H3 地理网格

地理网格是一种再现地球表面的多边形网格单元集合,可以用于表示地物在地理空间中  的位置信息,融合其他各类时空数据。

 

地理网格计算一般由粗到细,逐级地分割地球表面,将地球曲面用一定大小的多边形网  格进行近似模拟,其目标是将地理空间的定位和地理特征的描述一体化,并将误差范围

 

控制在网格单元的范围内。每个网格单元都会进行编码,网格与编码是一一对应的。三  维地理网格不只考虑经纬度,还把高度维纳入剖分和编码范围。

 

Ganos 地理网格引擎目前涵盖 GeoSOTH3 两种地理网格。GeoSOT 是我国提出的一套地球空间剖分理论,并在此基础上发展出的一种离散化、多尺度区域位置标识体系(关GeoSOT 网格的最佳实践可参考Ganos 地理网格引擎支撑无人机路径规划能力实践H3Uber 研发的一种覆盖全球表面的二维地理网格,采用了一种全球统一的、多层次的六边形网格体系来表示地球表面。

 

H3   设计独特之处在于其采用六边形结构,相较于传统的四边形或三角形网格,六边形网格具有更均匀分布、邻居关系固定且无方向性等优点,这使得在进行空间数据分析、  路径规划、地理编码以及地理围栏等领域时,能够更加精确和高效地组织和查询地理空   间数据。

 

利用  Ganos  地理网格的函数可以将不同的空间范围转换为网格编码,可以求出网格编码的空间范围、层级和父子网格。Ganos   支持退化网格计算如下图),即充分利用网格的层级关系,用更精简的网格组合对空间范围进行表达。此外,Ganos   自研地理网格索引,可用于高效查询网格码以及加速聚合计算。

image.png

 

 

Ganos H3 地理网格能力解析

 

 

业务场景

 

H3 地理网格技术在诸多业务场景中得到广泛应用,主要包括:

 

  • 物流与出行服务:基于地理网格开展路线规划、区域覆盖分析、配送范围界定、热  点区域发现等功能建设;

 

  • 数据分析:基于地理网格开展人口密度分析、移动用户行为分析、地理市场细分等  大数据分析领域;

 

  • 物联网(IoT):面向智能城市、环境监测、资产追踪等需要实时监控的数据,基于  地理网格进行监测数据空间分布分析的场景;

 

  • 社交网络:基于地理网格构建面向位置服务(LBS)、好友位置分享、事件通知等 社交场景的应用;

 

  • 应急响应与公共服务:基于地理网格开展灾害分布分析、灾害预警热力、应急资源  分布、紧急救援区域划分等;

 

总之,H3   网格技术为企业和开发者提供了一种强大的工具,能够更好地管理和利用地理空间数据,提高与位置相关的决策效率和准确性。

 

能力解析

 

Ganos H3 地理网格包含网格输入/输出,网格父子关系判断,网格路径分析,网格查询等多种能力,地理网格还支持转为 Ganos Geometry 类型,与其它类型的空间数据进行联合分析。值得强调的是,Ganos H3  地理网格也支持退化,用更精简的网格组合对空间范围进行表达,降低用户因打码带来的数据库存储成本。

 

关于 Ganos H3 地理网格详细功能,可参见 Ganos 地理网格用户手册

 

 

最佳实践

下面我们使用真实场景数据来介绍如何使用 Ganos H3 进行空间点数据的入库、打码、查询到最终显示等功能。这里我们选择的测试数据是 Uber 发布的 2023 年纽约出租车位置数据集 FOIL 进行测试。FOIL 数据记录了纽约地区所有的出租车上下车的位置数据, 详细信息参考

image.png

 

数据导入

 

在使用 Ganos H3 前,需要先创建 GeomGrid 扩展,SQL 如下: CREATE EXTENSION Ganos_GeomGrid CASCADE;

GeomGrid 中提供了 h3grid 字段类型,用于表示 H3 编码。下面的 SQL 语句创建了一个带有 h3grid 类型的数据表 FOIL2013,这里字段 h3_lev13 代表我们使用的是第 13 层级的 H3 编码。H3 不同层级网格具有不同分辨率,用户可以可以更具具体业务需求灵活定义。H3 各个层级对应的空间分辨率请参考

 

-- 创建表用来保存 foil 点数据,h3_lev13 代表 13 级编码 CREATE TABLE FOIL2013 ( id text, lon float, lat float, h3_lev13 h3grid);

 

FOIL 文件是以 csv 文件格式保存的。用户可以通过编程方式从 CSV 中提取相关信息通SQL 入库,也可以通过 FDW 方式入库,这里我们使用 Ganos FDW 模块通过 FDW 方式实现数据快速入库。

 

首先我们把目标文件上传到 oss 指定目录,比如这里我们文件路径为:

endpoint:oss-cn-hangzhou-internal.aliyuncs.com bucket:dla-ganos-hz
path:FOIL/trip_data_1.csv

 

首先我们创建 Ganos FDW 扩展

 

CREATE EXTENSION ganos_fdw CASCADE;

 

 

然后我们需要创建一个 csvserver,负责管理 csv 文件,ak_id 和 ak_secret 就是用户的 OSS 连接 AK 的 id 和 secret 信息,format 为'CSV'代表管理的数据格式为 CSV。

CREATE SERVER csvserver FOREIGN DATA WRAPPER ganos_fdw OPTIONS ( datasource
'OSS://<ak_id>@oss-cn-hangzhou-internal.aliyuncs.com/dla-ganos-hz/FO IL/trip_data_1.csv', format 'CSV' );
CREATE USER MAPPING FOR CURRENT_USER SERVER csvserver OPTIONS (user
'<ak_id>', password '<ak_secret>');

 

FDW 服务创建成功后,我们就可以通过外表的形式,将 OSS 上的 csv 映射到数据库中作为一个普通表进行查询, 详细 SQL 语句如下。这里我们只选择 medallionpickup_longitudepickup_latitude 三列数据,映射的外表名称为 trip_data_1:

CREATE FOREIGN TABLE trip data 1 (
medallion va rchar ,
pickup_ longitude varchar,
pickup_ latitude
varchar)
SERVER csvserver OPTIONS ( layer 'trip_ data_ 1') ;

 

查询外表 trip_data_1:

 

SELECT * FROM trip_data_1;

 

 

 

结果如下:

image.png

 

然后将外表数据导入到前面我们创建的 FOIL3 表中:

INSERT INTO FOIL2013SELECT medallion as id ,cast (pickup_longitude as
double precision) as lon, cast(pickup_latitude as double precision) as lat FROM trip_data_1;

 

查询 FOIL2013,可以看到 CSV 上的信息已经成功导入到 FOIL2013 表格中,后面我们就可以根据经纬度等位置信息进行打码了。

 

SELECT * FROM FOIL2013;

 

 

image.png

 

 

《阿里云产品四月刊》—Ganos H3 地理网格能力解析与最佳实践(2)https://developer.aliyun.com/article/1554159

相关文章
|
2天前
|
云安全 人工智能 安全
阿里云网络安全体系解析:如何构建数字时代的"安全盾牌"
在数字经济时代,阿里云作为亚太地区最大的云服务提供商,构建了行业领先的网络安全体系。本文解析其网络安全架构的三大核心维度:基础架构安全、核心技术防护和安全管理体系。通过技术创新与体系化防御,阿里云为企业数字化转型提供坚实的安全屏障,确保数据安全与业务连续性。案例显示,某金融客户借助阿里云成功拦截3200万次攻击,降低运维成本40%,响应时间缩短至8分钟。未来,阿里云将继续推进自适应安全架构,助力企业提升核心竞争力。
|
12天前
|
机器学习/深度学习 人工智能 自然语言处理
企业级API集成方案:基于阿里云函数计算调用DeepSeek全解析
DeepSeek R1 是一款先进的大规模深度学习模型,专为自然语言处理等复杂任务设计。它具备高效的架构、强大的泛化能力和优化的参数管理,适用于文本生成、智能问答、代码生成和数据分析等领域。阿里云平台提供了高性能计算资源、合规与数据安全、低延迟覆盖和成本效益等优势,支持用户便捷部署和调用 DeepSeek R1 模型,确保快速响应和稳定服务。通过阿里云百炼模型服务,用户可以轻松体验满血版 DeepSeek R1,并享受免费试用和灵活的API调用方式。
120 12
|
10天前
|
存储 弹性计算 人工智能
阿里云发票申请图文教程及常见问题解析
在购买完阿里云服务器或者其他云产品之后,如何申请发票成为了许多用户关注的焦点。尤其是对于初次购买阿里云服务器的用户来说,发票申请流程可能并不熟悉。本文将为大家详细介绍阿里云服务器购买之后如何申请发票,以及申请过程中可能遇到的常见问题,帮助大家轻松完成发票申请。
|
17天前
|
存储 人工智能 并行计算
2025年阿里云弹性裸金属服务器架构解析与资源配置方案
🚀 核心特性与技术创新:提供100%物理机性能输出,支持NVIDIA A100/V100 GPU直通,无虚拟化层损耗。网络与存储优化,400万PPS吞吐量,ESSD云盘IOPS达100万,RDMA延迟<5μs。全球部署覆盖华北、华东、华南及海外节点,支持跨地域负载均衡。典型应用场景包括AI训练、科学计算等,支持分布式训练和并行计算框架。弹性裸金属服务器+OSS存储+高速网络综合部署,满足高性能计算需求。
|
19天前
|
弹性计算 运维 网络安全
阿里云轻量应用服务器产品解析与搭建个人博客网站教程参考
轻量应用服务器(Simple Application Server)作为阿里云面向单机应用场景推出的云服务器产品,以其一键部署、一站式管理、高性价比等特性,深受个人开发者、中小企业及入门级用户的喜爱。本文将全面解析阿里云轻量应用服务器的产品优势、应用场景、使用须知,以及使用轻量应用服务器搭建个人博客网站的详细教程,帮助用户更好地了解和使用这一产品。
|
2月前
|
CDN
阿里云CDN怎么收费?看这一篇就够了,CDN不同计费模式收费价格全解析
阿里云CDN的费用由基础费用和增值费用组成。基础费用有三种计费方式:按流量、按带宽峰值和月结95带宽峰值,默认为按流量计费,价格根据使用量阶梯递减。增值费用包括静态HTTPS请求、QUIC请求等,按实际使用量收费,不使用不收费。具体收费标准和详细规则可参考阿里云官方页面。
|
2月前
|
存储 人工智能 NoSQL
Tablestore深度解析:面向AI场景的结构化数据存储最佳实践
《Tablestore深度解析:面向AI场景的结构化数据存储最佳实践》由阿里云专家团队分享,涵盖Tablestore十年发展历程、AI时代多模态数据存储需求、VCU模式优化、向量检索发布及客户最佳实践等内容。Tablestore支持大规模在线数据存储,提供高性价比、高性能和高可用性,特别针对AI场景进行优化,满足结构化与非结构化数据的统一存储和高效检索需求。通过多元化索引和Serverless弹性VCU模式,助力企业实现低成本、灵活扩展的数据管理方案。
77 12
|
2月前
|
存储 运维 安全
深入解析操作系统控制台:阿里云Alibaba Cloud Linux(Alinux)的运维利器
本文将详细介绍阿里云的Alibaba Cloud Linux操作系统控制台的功能和优势。
90 6
|
4月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
140 2
|
3天前
|
机器学习/深度学习 自然语言处理 算法
生成式 AI 大语言模型(LLMs)核心算法及源码解析:预训练篇
生成式 AI 大语言模型(LLMs)核心算法及源码解析:预训练篇

推荐镜像

更多