为了简化地下水化学类型分区的流程,客观反映地下水化学类型的空间分布特征,本文分析了常用方法的特点并提出改进的分区思路,设计并建立了基于GIS技术的地下水化学类型分区空间分析模型,通过实际样本数据进行了模型验证,对不同方法的分析结果进行了对比分析。
1 模型原理与方法
1.1 建模思路
在GIS中,栅格数据结构以编码来区分地物属性,拥有相同属性编码的连续栅格单元构成区域,在科学计算、空间分区与可视化表达方面具有简单高效的特点。根据栅格数据特点,提出以栅格单元为基本单位对6种离子毫克当量百分数空间插值数据进行水化学类型分区的分析思路,并利用GIS空间分析建模技术将分析过程流程化处理,实现地下水化学类型的自动识别与空间分区,从而解决常用方法存在的问题。模型分析过程如下:
1) 对离散的阴阳离子毫克当量百分数数据进行空间插值,以获取其空间连续分布栅格数据;
2) 计算每一个栅格单元含量大于25%的阴离子(阳离子)组合编码;
3) 按照含量大小排序,计算每一个栅格单元的阴离子(阳离子)排序编码;
4) 根据离子组合编码和离子排序编码,计算栅格单元的水化学类型编码;
5) 对水化学类型编码栅格数据进行地图符号化,得到最终的地下水化学类型分区图。
步骤1) 属于空间数据准备范畴,而步骤5) 属于对模型分析结果的后处理过程,空间分析模型的构建重点围绕步骤2)~4) 展开。
1.2 模型原理
在使用GIS分析水化学类型时涉及到自动分类与排序问题,该过程主要通过编码来实现。
1.2.1 组合编码
舒卡列夫分类法中的49种水化学类型,是源自阳离子7种基本组合和阴离子7种基本组合的交叉构成。为便于GIS分析,对参与分类命名的阴阳离子组合进行编码,如表1所示。为了便于表达,K++Na+、Ca2+、Mg2+、HCO-3、SO2-4、Cl-分别用字母N、C、M、H、S、L代表。模型分析过程中,对插值得到的6个毫克当量百分数栅格数据,以25%为界限,按照表1对阳离子和阴离子进行组合编码,并输出相应的组合编码栅格数据。例如,某栅格单元内阴离子HCO-3、SO2-4、Cl-的毫克当量百分数均高于25%,则阴离子组合编码为3。
1.2.2 排序编码
获取离子的组合编码后,需要按照毫克当量百分数含量进行排序。根据排列组合可知,阴阳离子共有12种基本排序类型,分别用表2中编码表示。表中离子排序仅表示毫克当量百分数含量的高低顺序,并不代表3种离子都符合25%的条件。
模型分析过程中,对插值得到的6个毫克当量百分数栅格数据,以栅格单元为基本单位,按照毫克当量百分数数值大小,按照表2对阳离子和阴离子进行排序编码,并输出相应的排序编码栅格数据。例如,某栅格单元内阴离子的毫克当量百分数含量为HCO-3>SO2-4>Cl-,则阴离子排序编码为1。
1.2.3 水化学类型编码
在获得离子组合编码和离子排序编码后,需要进一步确定其水化学类型。此时需要分别确定阴离子和阳离子的水化学类型编码,该编码应既能确定哪些离子符合25%条件,又能表明含量排序关系。对此,在阴阳离子14种组合(见表1)的基础上,每一种参与分类命名的离子组合用一个3位数的整型数字来表达,每位数字代表一种离子,当某一离子含量低于25%则用0代替。6种离子编码如表3所示。至此,考虑到含量排序,参与分类命名的阴阳离子组合分别扩充到15种类型,其水化学类型编码如表4所示。
模型分析过程中,对组合编码栅格数据和排序编码栅格数据,按照表4分别判断出参与分类命名的阴离子和阳离子的水化学类型,并输出相应的阴阳离子水化学类型编码栅格数据。例如,某栅格单元内阴离子组合编码为3,排序编码为1,则阴离子水化学类型编码为123。通过使用以上编码方案,对于舒卡列夫分类中的49种水化学类型细分为225种类型,可以使用下式进行编码组合:
C_SK = Ctype_anion × 10 000 + 9 000 + Ctype_cation (1)
式中,CSK表示舒卡列夫分类编码;Ctype_cation表示阳离子水化学类型编码;Ctype_anion表示阴离子水化学类型编码。
例如,编码1239320,123在表4中对应HSL,320在表4中对应NM,数字9为分隔符,其对应水化学类型即为HCO3-SO4-Cl-Na-Mg。
1.3 模型构建
目前,空间分析建模主要依赖于基于工作流技术的图形建模方法[12-18]。本研究选择 ESRI ArcGIS 平台中 ModelBuilder 空间分析建模工具完成具体建模工作。在模型中,分别定义不同的图形代表输入数据、输出数据和地理处理工具,以流程图的形式组合执行空间分析操作功能[17]。根据建模思路,选择 Map Algebra、Math 等地理处理工具,利用 ModelBuilder 建立水化学类型分区空间分析模型,如图 1 所示。其中,阴阳离子的组合、排序和类型划分使用条件函数 (condition, Con) 构造判定树来计算编码,水化学类型划分使用 Math 工具按式
(1) 计算编码。
Con 函数为:
Con (<condition>, <true_expression>, <false_expression>) (2)
式中,condition 表示判别条件;true_expression 表示判别条件为 true 的表达式,为具体数值或嵌套 Con 函数;false_expression 表示判别条件为 false 的表达式,为具体数值或嵌套 Con 函数。函数的输入、输出均为栅格数据。
1.3.1 组合编码
以图1模型中阴离子组合编码为例,按式(2)使用Con函数进行分析的地图代数见式(3)~(6),公式中变量含义见图1注释。
COMB_anion = Con(per_HCO3 >= 25,
Con(per_SO4 >= 25,
Con(per_Cl >= 25, 3, 2),
Con(per_Cl >= 25, 4, 1)),
Con(per_SO4 >= 25,
Con(per_Cl >= 25, 6, 5),
Con(per_Cl >= 25, 7, 0)))
(3)
1.3.2 排序编码
将标点符号调整为标准格式后的公式如下:
`sort_anion = Con(per_HCO3 >= per_SO4, Con(per_SO4 >= per_Cl, 1, Con(per_HCO3 >= per_Cl, 2, 5)), Con(per_HCO3 >= per_Cl, 3, Con(per_Cl >= per_SO4, 6, 4))))(4)`
1.3.3 离子水化学类型编码
在获得COMB_anion和sort_anion基础上,进行阴离子类型编码,地图代数公式为:`type_anion=Con(COMB_anion==1,100,Con(COMB_anion==2,Con(sort_anion==1,120,Con(sort_anion==3,210,0)),Con(COMB_anion==3,Con(sort_anion==1,123,Con(sort_anion==2,132,Con(sort_anion==3,213,Con(sort_anion==4,231,Con(sort_anion==5,312,Con(sort_anion==6,321,0)))))),Con(COMB_anion==4,Con(sort_anion==2,130,Con(sort_anion==5,310,0)),Con(COMB_anion==5,200,Con(COMB_anion==6,Con(sort_anion==4,230,Con(sort_anion==6,320,0)),Con(COMB_anion==7,300,0))))))`。
水化学类型编码阳离子COMB_cation、sort_cation、type_cation的地图代数公式与阴离子类似,在完成相应的编码计算后,按式(1)进行水化学类型划分,地图代数公式如下:`hydrochemtype=type_anion×10 000+9 000+type_cation`。图2所示为ModelBuilder在建立的水化学类型分区空间分析模型基础上自动生成的可执行对话框,在指定各模型参数对应的数据路径后,即可按照模型逻辑完成相应的水化学类型分析。
为客观放映地下水化学类型的空间分布特征,利用徐斌等(2019年提出的)地下水化学类型分区的GIS空间分析模型对研究区潜水和承压水水化学类型进行分区。
具体思路如下,栅格数据结构以编码来区分地物属性,拥有相同属性编码的连续栅格单元构成区域,在科学计算、空间分区与可视化表达方面具有简单高效的特点。
根据栅格数据特点,提出以栅格单元为基本单位,对6种离子毫克当量百分数空间插值数据进行水化学类型分区的分析思路,并利用GIS空间分析建模技术将分析过程流程化处理,实现地下水化学类型的自动识别与空间分区,从而解决常用方法存在的问题。模型分析过程如下:
- 对离散的阴阳离子毫克当量百分数数据进行空间插值,以获取其空间连续分布栅格数据;
- 计算每一个栅格单元含量大于25%的阴离子(阳离子)组合编码;
- 按照含量大小排序,计算每一个栅格单元的阴离子(阳离子)排序编码;
- 根据离子组合编码和离子排序编码,计算栅格单元的水化学类型编码;
- 对水化学类型编码栅格数据进行地图符号化,得到最终的地下水化学类型分区图。
步骤1) 属于空间数据准备范畴,而步骤5) 属于对模型分析结果的后处理过程,空间分析模型的构建重点围绕步骤2)~4) 展开。
在使用GIS分析水化学类型时涉及到自动分类与排序问题,该过程主要通过编码来实现。
舒卡列夫分类法中的49种水化学类型,是源自阳离子7种基本组合和阴离子7种基本组合的交叉构成。
为便于GIS分析,对参与分类命名的阴阳离子组合进行编码,如表1所示。
表1离子组合编码对照表
超过25%毫克当量的离子 | 编码 | ||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | |
阴离子 | H | H+S | H+S+L | H+L | S | S+L | L |
阳离子 | C | C+M | M | N+C | N+C+M | N+M | N |
为了便于表达,K++Na+、Ca2+、Mg2+、HCO-3、SO2-4、Cl-分别用字母N、C、M、H、S、L代表。
模型分析过程中,对插值得到的6个毫克当量百分数栅格数据,以25%为界限,按照表1对阳离子和阴离子进行组合编码,并输出相应的组合编码栅格数据。
例如,某栅格单元内阴离子HCO-3、SO2-4、Cl-的毫克当量百分数均高于25%,则阴离子组合编码为3。
下一步,对编码进行排序,获取离子的组合编码后,需要按照毫克当量百分数含量进行排序。根据排列组合可知,阴阳离子共有12种基本排序类型,分别用表2中编码表示。
表2 离子排序编码表
排序离子 | 编码 | |||||
1 | 2 | 3 | 4 | 5 | 6 | |
阴离子 | H>S>L | H>L>S | S>H>L | S>L>H | L>H>S | L>S>H |
阳离子 | C>M>N | C>N>M | M>C>N | M>N>C | N>C>M | N>M>C |
表中离子排序仅表示毫克当量百分数含量的高低顺序,并不代表3种离子都符合25%的条件。
模型分析过程中,对插值得到的6个毫克当量百分数栅格数据,以栅格单元为基本单位,按照毫克当量百分数数值大小,按照表2对阳离子和阴离子进行排序编码,并输出相应的排序编码栅格数据。
例如,某栅格单元内阴离子的毫克当量百分数含量为HCO-3>SO2-4>Cl-,则阴离子排序编码为1。
在获得离子组合编码和离子排序编码后,需要进一步确定其水化学类型。
此时需要分别确定阴离子和阳离子的水化学类型编码,该编码应既能确定哪些离子符合25%条件,又能表明含量排序关系。
对此,在阴阳离子14种组合(见表1)的基础上,每一种参与分类命名的离子组合用一个3位数的整型数字来表达,每位数字代表一种离子,当某一离子含量低于25%则用0代替。
6种离子编码如表3所示。
表3阴阳离子编码表
阳离子 | 阴离子 | ||||
Ca | Mg | Na | HCO3 | SO4 | Cl |
1 | 2 | 3 | 1 | 2 | 3 |
至此,考虑到含量排序,参与分类命名的阴阳离子组合分别扩充到15种类型,其水化学类型编码如表4所示。
分类命名离子 | 编码 | ||||||||||||||
100 | 200 | 300 | 120 | 130 | 210 | 230 | 310 | 320 | 123 | 132 | 213 | 231 | 312 | 321 | |
阴离子 | H | S | L | HS | HL | SH | SL | LH | LS | HSL | HLS | SHL | SLH | LHS | LSH |
阳离子 | C | M | N | CM | CN | MC | MN | NC | NM | CMN | CNM | MCN | MNC | NCM | NMC |
模型分析过程中,对组合编码栅格数据和排序编码栅格数据,按照表4分别判断出参与分类命名的阴离子和阳离子的水化学类型,并输出相应的阴阳离子水化学类型编码栅格数据。
例如,某栅格单元内阴离子组合编码为3,排序编码为1,则阴离子水化学类型编码为123。
通过使用以上编码方案,对于舒卡列夫分类中的49种水化学类型细分为225种类型,可以使用下式进行编码组合:
式中,CSK表示舒卡列夫分类编码;
Ctype_cation表示阳离子水化学类型编码;
Ctype_anion表示阴离子水化学类型编码。
例如,编码1239320,123在表4中对应HSL,320在表4中对应NM,数字9为分隔符,其对应水化学类型即为HCO3-SO4-Cl-Na-Mg。