pgh_consistency
PgHydro Pfafstetter 一致性检查扩展
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
pghydro | 6.6 | GIS | GPL-2.0 | SQL |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 1600 | pghydro | 否 | 否 | 否 | 是 | 否 | 否 | pghydro |
| 1601 | pgh_raster | 否 | 否 | 否 | 是 | 否 | 否 | pgh_raster |
| 1602 | pgh_hgm | 否 | 否 | 否 | 是 | 否 | 否 | pgh_hgm |
| 1603 | pgh_output | 否 | 否 | 否 | 是 | 否 | 否 | pgh_output |
| 1604 | pgh_output_en_au | 否 | 否 | 否 | 是 | 否 | 否 | pgh_output_en_au |
| 1605 | pgh_output_pt_br | 否 | 否 | 否 | 是 | 否 | 否 | pgh_output_pt_br |
| 1606 | pgh_consistency | 否 | 否 | 否 | 是 | 否 | 否 | pgh_consistency |
| 相关扩展 | plpgsql postgis pghydro |
|---|
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PIGSTY | 6.6 | 1817161514 | pghydro | plpgsql, postgis, pghydro |
| RPM | PIGSTY | 6.6 | 1817161514 | pghydro_$v | postgis36_$v |
| DEB | PIGSTY | 6.6 | 1817161514 | postgresql-$v-pghydro | postgresql-$v-postgis-3 |
| OS / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 |
| el8.aarch64 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 |
| el9.x86_64 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 |
| el9.aarch64 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 |
| el10.x86_64 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 |
| el10.aarch64 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 |
| d12.x86_64 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 |
| d12.aarch64 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 |
| d13.x86_64 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 |
| d13.aarch64 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 |
| u22.x86_64 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 |
| u22.aarch64 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 |
| u24.x86_64 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 |
| u24.aarch64 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 |
| u26.x86_64 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 |
| u26.aarch64 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 | PIGSTY 6.6 |
构建
您可以使用 pig build 命令构建 pghydro 扩展的 RPM / DEB 包:
pig build pkg pghydro # 构建 RPM / DEB 包
安装
您可以直接安装 pghydro 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
pig repo add pgsql -u # 添加仓库并更新缓存
使用 pig 或者是 apt/yum/dnf 安装扩展:
pig install pghydro; # 当前活跃 PG 版本安装
pig ext install -y pghydro -v 18 # PG 18
pig ext install -y pghydro -v 17 # PG 17
pig ext install -y pghydro -v 16 # PG 16
pig ext install -y pghydro -v 15 # PG 15
pig ext install -y pghydro -v 14 # PG 14
dnf install -y pghydro_18 # PG 18
dnf install -y pghydro_17 # PG 17
dnf install -y pghydro_16 # PG 16
dnf install -y pghydro_15 # PG 15
dnf install -y pghydro_14 # PG 14
apt install -y postgresql-18-pghydro # PG 18
apt install -y postgresql-17-pghydro # PG 17
apt install -y postgresql-16-pghydro # PG 16
apt install -y postgresql-15-pghydro # PG 15
apt install -y postgresql-14-pghydro # PG 14
创建扩展:
CREATE EXTENSION pgh_consistency CASCADE; -- 依赖: plpgsql, postgis, pghydro
用法
来源:PGHydro README,pgh_consistency SQL
pgh_consistency 是 PgHydro 的一致性检查扩展,用于检查和清理水文网络数据。它创建 pgh_consistency schema,提供排水线、排水区几何、拓扑以及 Pfafstetter 编码相关的质量检查表和函数。
启用
在 PostGIS 和核心 pghydro 扩展之后安装:
CREATE EXTENSION postgis;
CREATE EXTENSION pghydro;
CREATE EXTENSION pgh_consistency;
查看检查表
扩展会按问题类型创建结果表:
SELECT tablename
FROM pg_tables
WHERE schemaname = 'pgh_consistency'
ORDER BY tablename;
常见表包括 pghft_drainagelineisdisconnected、pghft_drainagelineisnotvalid、pghft_drainageareaisnotvalid、pghft_drainageareaoverlapdrainagearea、pghft_pointvalencevalue2、pghft_pointdivergent。
主要流程
在运行 PgHydro 分析函数之前,可以先用 pgh_consistency 中的函数准备和校验排水网络。SQL 对象包括拆分多点排水线、网格吸附、移除重复点、创建排水线顶点交点、打断排水线,以及识别无效、非简单、断连、重叠、成环或分类异常排水要素的辅助函数。
SELECT nspname, proname
FROM pg_proc p
JOIN pg_namespace n ON n.oid = p.pronamespace
WHERE nspname = 'pgh_consistency'
ORDER BY proname;
注意事项
该扩展假定 PgHydro 基础排水表已经加载完成。导出或计算更高层水文产品之前,先运行一致性检查可以更早暴露无效几何和断裂网络连接。