h3_postgis
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
pg_h3 | 4.5.0 | GIS | Apache-2.0 | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 1530 | h3 | 否 | 是 | 否 | 是 | 否 | 是 | - |
| 1531 | h3_postgis | 否 | 是 | 否 | 是 | 否 | 是 | - |
| 相关扩展 | h3 postgis postgis_raster postgis qdgc pg_geohash pgrouting q3c pg_polyline pg_eviltransform earthdistance mobilitydb |
|---|
RPM and DEB 4.5.0 require h3, postgis and postgis_raster; point coordinates use longitude, latitude.
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PIGSTY | 4.5.0 | 1817161514 | pg_h3 | h3, postgis, postgis_raster |
| RPM | PIGSTY | 4.5.0 | 1817161514 | h3-pg_$v | - |
| DEB | PIGSTY | 4.5.0 | 1817161514 | postgresql-$v-h3 | - |
| OS / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 |
| el8.aarch64 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 |
| el9.x86_64 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 |
| el9.aarch64 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 |
| el10.x86_64 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 |
| el10.aarch64 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 |
| d12.x86_64 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 |
| d12.aarch64 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 |
| d13.x86_64 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 |
| d13.aarch64 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 |
| u22.x86_64 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 |
| u22.aarch64 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 |
| u24.x86_64 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 |
| u24.aarch64 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 |
| u26.x86_64 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 |
| u26.aarch64 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 | PIGSTY 4.5.0 |
构建
您可以使用 pig build 命令构建 pg_h3 扩展的 RPM / DEB 包:
安装
您可以直接安装 pg_h3 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
使用 pig 或者是 apt/yum/dnf 安装扩展:
创建扩展:
用法
来源:
h3_postgis 将 H3 单元格与 PostGIS 几何、地理及栅格数据连接起来。它依赖 h3、postgis 和 postgis_raster,即便仅处理几何也需要这些依赖。输入几何必须使用 SRID 4326,坐标顺序为经度、纬度;这些函数不会自动重新投影输入。
点与单元格转换
其他坐标系应先通过 PostGIS 转换到 SRID 4326,再调用 H3 函数。仅设置 SRID 标签不会转换坐标。
核心接口
| 任务 | 函数 |
|---|---|
| 点转单元格 | h3_latlng_to_cell(geometry, integer)、h3_latlng_to_cell(geography, integer) |
| 单元格中心 | h3_cell_to_geometry、h3_cell_to_geography |
| 单元格边界 | h3_cell_to_boundary_geometry、h3_cell_to_boundary_geography |
| 多边形覆盖 | h3_polygon_to_cells、h3_cells_to_multi_polygon_geometry、h3_cells_to_multi_polygon_geography |
| 连续栅格统计 | h3_raster_summary、h3_raster_summary_stats_agg |
| 分类栅格统计 | h3_raster_class_summary、h3_raster_class_summary_item_agg |
几何与分辨率之间的 @ 运算符也能将位置映射到 H3 单元格。使用 ST_IsValid() 检查多边形;ST_MakeValid() 修复可能改变拓扑并产生几何集合,应在覆盖计算前提取并检查多边形部分。无效多边形的行为未定义。
汇总栅格数据
默认汇总函数会自动选择方法,也可显式使用裁剪、像素中心或子像素变体控制像素如何分配到单元格。应结合栅格分辨率和目标 H3 分辨率检查所选方法。
升级与边界
基础扩展更新会重建受影响的 btree 索引并刷新距离依赖对象,应先安排维护窗口,再更新伴随扩展。4.5.0 修复 PostgreSQL 17+ 受限搜索路径下的维护、表达式索引导出恢复,以及多项几何和多边形生成错误。两个扩展版本应保持一致。更新任一扩展前,先安装匹配的 4.5.0 软件包文件。
平面叠加运算通常应保持 h3.extend_antimeridian 为 false。两个扩展都可重定位;执行未限定模式的 SQL 时,应确保 H3 和 PostGIS 所在模式可见。两者均无需共享预加载。
这个页面对您有帮助吗?
感谢反馈,我们会据此改进这篇文档。
哪里没有解决?(可选)