pgh_consistency

PgHydro Pfafstetter 一致性检查扩展

概览

扩展包名版本分类许可证语言
pghydro6.6GISGPL-2.0SQL
ID扩展名BinLibLoadCreateTrustReloc模式
1600pghydropghydro
1601pgh_rasterpgh_raster
1602pgh_hgmpgh_hgm
1603pgh_outputpgh_output
1604pgh_output_en_aupgh_output_en_au
1605pgh_output_pt_brpgh_output_pt_br
1606pgh_consistencypgh_consistency
相关扩展plpgsql postgis pghydro

版本

类型仓库版本PG 大版本包名依赖
EXTPIGSTY6.61817161514pghydroplpgsql, postgis, pghydro
RPMPIGSTY6.61817161514pghydro_$vpostgis36_$v
DEBPIGSTY6.61817161514postgresql-$v-pghydropostgresql-$v-postgis-3
OS / PGPG18PG17PG16PG15PG14
el8.x86_64PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6
el8.aarch64PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6
el9.x86_64PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6
el9.aarch64PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6
el10.x86_64PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6
el10.aarch64PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6
d12.x86_64PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6
d12.aarch64PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6
d13.x86_64PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6
d13.aarch64PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6
u22.x86_64PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6
u22.aarch64PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6
u24.x86_64PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6
u24.aarch64PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6
u26.x86_64PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6
u26.aarch64PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6PIGSTY 6.6

构建

您可以使用 pig build 命令构建 pghydro 扩展的 RPM / DEB 包:

pig build pkg pghydro         # 构建 RPM / DEB 包

安装

您可以直接安装 pghydro 扩展包的预置二进制包,首先确保 PGDGPIGSTY 仓库已经添加并启用:

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 READMEpgh_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_drainagelineisdisconnectedpghft_drainagelineisnotvalidpghft_drainageareaisnotvalidpghft_drainageareaoverlapdrainageareapghft_pointvalencevalue2pghft_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 基础排水表已经加载完成。导出或计算更高层水文产品之前,先运行一致性检查可以更早暴露无效几何和断裂网络连接。


最后修改 2026-07-02: extension update 2026-07-02 (d4da20c)