h3
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
pg_h3 | 4.2.3 | GIS | Apache-2.0 | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 1530 | h3 | 否 | 是 | 否 | 是 | 否 | 是 | - |
| 1531 | h3_postgis | 否 | 是 | 否 | 是 | 否 | 是 | - |
| 相关扩展 | postgis qdgc pg_geohash pgrouting q3c pg_polyline mobilitydb pg_eviltransform earthdistance pg_sphere |
|---|---|
| 下游依赖 | h3_postgis |
pgdg missing el8.x86.pg17 and el8.x86.pg18
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PGDG | 4.2.3 | 1817161514 | pg_h3 | - |
| RPM | PGDG | 4.2.3 | 1817161514 | h3-pg_$v | - |
| DEB | PGDG | 4.2.3 | 1817161514 | postgresql-$v-h3 | - |
安装
您可以直接安装 pg_h3 扩展包的预置二进制包,首先确保 PGDG 仓库已经添加并启用:
使用 pig 或者是 apt/yum/dnf 安装扩展:
创建扩展:
用法
该扩展为 H3 核心库(Uber 的六边形层次地理空间索引系统)提供 PostgreSQL 绑定。完整 API 参考请参见 H3 文档。
通常,所有函数都从 H3 的 camelCase 重命名为 SQL 的 snake_case,并加上 h3_ 前缀。
基础类型
h3index 类型是一个无符号 64 位整数,表示任何 H3 对象(六边形、五边形、有向边等),以 16 字符的十六进制字符串显示,如 '8928308280fffff'。
索引函数
这些函数用于查找包含指定坐标的 H3 索引,以及获取 H3 索引的中心和边界。
使用 SET h3.extend_antimeridian TO true 可在跨越 180 度经线时扩展坐标。
索引检查函数
网格遍历函数
网格遍历可以查找起始单元格附近的单元格,以及确定从一个单元格到另一个单元格的遍历路径。
层次网格函数
在 H3 网格系统中的不同分辨率之间移动,生成父级(更粗)或子级(更细)单元格。
区域函数
在 H3 索引和多边形区域之间互转。
单向边函数
编码从一个单元格到相邻单元格的有向边。
顶点函数
杂项函数
运算符
SP-GiST 索引(实验性)
类型转换
PostGIS 集成
传递给 h3-pg PostGIS 函数的 GEOMETRY 数据应使用 SRID 4326。使用其他 SRID(如 3857)可能导致错误或无效数据。
PostGIS 集成需要伴随扩展 h3_postgis:
栅格处理
对于连续栅格数据(温度、高程等),汇总 H3 单元格内的像素值:
对于离散/分类栅格数据(土地覆盖、土地利用),按 H3 单元格聚合分类统计:
栅格汇总方法:h3_raster_summary(自动选择)、h3_raster_summary_clip(按单元格几何体裁剪)、h3_raster_summary_centroids(按像素质心分组)、h3_raster_summary_subpixel(适用于亚像素 H3 单元格)。分类汇总也有相同的变体。