APP下载

基于MATLAB GUI的土壤质地类型自动识别系统

2021-04-02范瑞宇刘延锋

安全与环境工程 2021年2期
关键词:自动识别样品分类

范瑞宇,金 玉,刘延锋

(中国地质大学(武汉)环境学院,湖北 武汉 430078)

土壤质地是土壤一个相对稳定的自然属性,影响着土壤的蓄水、导水、持水、通气、传热等水理性能,从而影响土壤中水分、溶质和热量的传输与分布以及营养物质、微生物、元素的形态等[1-7]。土壤质地也是土壤质量评价、地质工程、岩土工程所需考虑的重要指标[8-9]。土壤质地类型是指土壤中不同粒径土粒的相对比例(土壤机械组成的差异)[10-11]。利用土壤机械组成对土壤质地类型进行分类已经得到了广泛应用,至今全球已提出了20~30种分类标准,目前常用的土壤质地类型分类标准是美国农业部制、国际制、卡庆斯基制和在卡庆斯基制基础上形成的中国制,其中我国使用最广的是美国制和国际制[12]分类标准,两者均通过查询土壤质地三角图来确定土壤质地类型名称。利用土壤质地三角图确定土壤质地类型时,依据砂粒、粉粒和黏粒的百分含量,通过表征三个含量值的直线交点来确定土壤质地类型名称,但当样品数很多时,手动查询则耗费大量时间,而且三角图坐标不易识别,可能会导致误读坐标值而造成土壤质地定名错误。

为了能够自动确定土壤质地类型,国内外学者开展了土壤质地类型自动识别程序的研究,常用的方式主要有3种:①利用编程语言开发土壤质地类型自动识别程序;②通过编制Excel宏程序来识别土壤质地类型;③利用能够绘制三角图的图形绘制软件。目前土壤质地类型自动分类计算机程序主要有Christopher等[13]提出的Texture AutoLookup (TAL) for Windows程序(http://www.christopherteh.com/tal/)、Gerakis等[14]提出的TRIANGLE 程序、张丽萍等[15]提出的STAC程序、李建波等[16]提出的STARS程序、Moeys等[17]提出的基于R语言的soiltexture程序包(https://cran.r-project.org/web/packages/soiltexture/)和Hoffmann[18]提出的基于MATLAB的土壤质地分类程序(https://www.mathworks.com/matlabcentral/fileexchange/45468-soil_classification-sand-clay-tvarargin)。其中,TAL程序包括美国制、国际制、英国制和加拿大制4种土壤质地分类标准;TRIANGLE程序(https://nowlin.psm.msu.edu/software/triangle_form.html)包括网络版程序(the web version)、Windows控制台应用程序(Windows console version)和Windows应用程序(full-blown Windows version),能够实现美国制、葡萄牙制和奥地利制的土壤质地分类[14-15];STAC 程序是由中科院地理科学与资源研究所张丽萍等利用Visual Basic语言并基于多边形内点判别算法开发的绿色软件,主要依据美国制土壤质地三角图进行土壤质地类型分类[15];李建波等使用C#语言开发的土壤质地类型自动识别系统( STARS)主要基于坐标系进行分类,包括美国制和国际制[16];基于R语言的soiltexture程序包中包含了十几个国家的土壤质地分类标准[17]。基于EXCEL宏的主要有美国农业部Natural Resources Conservation Service Soils(NRCS)的土壤质地计算器Soil Texture Calculator(STC),可以在线计算或下载EXCEL文件进行美国制土壤质地分类(https://www.nrcs.usda.gov/wps/portal/nrcs/de tail/soils/survey/?cid=nrcs142p2_054167);郭彦彪等[3]利用Excel 逻辑函数功能实现了美国制土壤质地类型的自动查询;Origin(https://www.originlab.com/fileExchange/details.aspx?fid=300)、Dplot[19](https://www.dplot.com/help/index.htm?helpid_scale_triangle.htm)等软件能够绘制三角图,亦被用于土壤质地三角图的绘制。

目前我国学者在学术研究中约有20%使用了卡庆斯基制与中国制进行土壤质地分类,中国自然资源部、中国农业农村部等技术规范中也使用了这两种分类制[12]。但现有土壤质地类型自动识别程序与方法中几乎没有包括这两种土壤质地分类标准。目前激光粒度分析仪已越来越多地用于土壤颗粒组成分析,其结果包含不同粒径颗粒所占的比例,首先需要根据土壤质地分类所对应的粒径级别对数据进行预处理,才能进行土壤质地类型识别。对利用激光粒度仪分析数据文件进行自动预处理并进行土壤质地类型划分,可以大幅度提高效率。为此,本文基于MATLAB GUI开发了土壤质地类型自动识别系统(Graphical Soil Texture Automatic Recognition System,GSTARS),该系统功能齐全、界面友好,能够同时识别大批量样品、对比不同土壤质地分类制分类结果和自动处理激光粒度仪测试结果数据文件。

1 土壤质地分类标准

1. 1 美国制土壤质地分类标准

美国制土壤质地分类标准是美国农业部(U.S.Department of Agriculture)根据砂粒(0.05~2 mm)、粉粒(0.002~0.05 mm)和黏粒(<0.002 mm)三种粒径颗粒的百分含量,划定了12种土壤质地类型(见表1)。该分类制采用等边三角形表示,等边三角形的三个顶点分别代表100%的砂粒、100%的粉粒和100%的黏粒,根据不同土壤质地类型的分类标准,可以在三角图中绘制不同土壤质地类型的分布区,依据不同粒径颗粒的百分含量与分类标准确定土壤质地类型,也可以在三角图中识别,即在三角图中表示三种粒径颗粒百分含量的三条直线相交点所处的土壤质地类型区就是该土壤样品的土壤质地类型,见图1。在使用GSTARS识别土壤质地类型时,将土壤样品颗粒组成(砂粒、粉粒和黏粒的含量)与分类标准中三种粒径颗粒百分含量范围进行对比,可获得该土壤质地类型。

表1 美国制土壤质地分类标准

图1 美国制土壤质地三角图Fig.1 Triangle coordinate diagram of USDA’s soil texture classification system

1. 2 国际制土壤质地分类标准

国际制土壤质地分类在第二届国际土壤学会上通过,该分类标准根据砂粒(0.02~2 mm)、粉粒(0.002~0.02 mm)、黏粒(<0.002 mm)三种粒径颗粒的百分含量,划定了12种土壤质地类别,见表2。与美国制相似,国际制土壤质地分类标准亦采用三角图表征,根据不同土壤质地类型的分类标准,可以在三角图中绘制土壤质地类型分布区,依据三种粒径颗粒的百分含量与分类标准进行对比来确定土壤质地类型,也可以在三角图中识别,即在三角图中表示三种粒径颗粒百分含量的三条直线相交点所处的土壤质地类型区即为该土壤样品的土壤质地类型,见图2。

表2 国际制土壤质地分类标准

图2 国际制土壤质地三角图Fig.2 Triangle coordinate diagram of International soil texture classification system

1. 3 卡庆斯基制土壤质地分类标准

卡庆斯基制土壤质地分类标准是1957年前苏联土壤物理学家卡庆斯基(H.A Качинский)制定的,该分类制将土壤颗粒划分为物理性砂粒(>0.01 mm)和物理性黏粒(<0.01 mm),并按照两者的含量,参考土壤质地类型划分,将土壤质地类型划分为砂土、壤土和黏土三类,见表3。该分类制有基本分类和详细分类两种,前者有3组9种土壤质地类型,后者在前者的基础上细分为39种土壤质地类型[10,12,20]。目前国内通常使用该卡庆斯基制土壤质地分类制,我国大多数土壤可以按照草原土及红黄壤类的土壤质地分类标准进行分类。

表3 卡庆斯基制土壤质地分类标准

1. 4 中国制土壤质地分类标准

自1959年拟定我国南方土壤质地四级分类以来,经过多次补充修改,1987年《中国土壤》第2版公布了中国土壤质地分类制,分3组12种土壤质地类型,分类标准见表4[20-21]。该分类制粒径级制是在卡庆斯基制的基础上修订而来的,将黏粒取为<0.002 mm,并将黏粒分为粗黏粒(0.002~0.001 mm)和细黏粒(<0.001 mm)。需要说明的是,该分类标准只列出了作为分类依据的颗粒组成的主要粒级:砂粉(0.05~1 mm)、粗粉粒(0.01~0.05 mm)和细黏粒(<0.001 mm),而未列出中粉粒(0.005~0.01 mm)、细粉粒(0.002~0.005 mm)和粗黏粒(0.001~0.002 mm),主要是因为它们在土壤中所表现的特性尚不足以影响到土壤质地等级的归属[23]。

表4 中国制土壤质地分类标准(1985年)

2 土壤质地类型自动识别系统设计

为了能够批量自动实现土壤质地分类并便于不同分类制结果的对比,基于MATLAB GUI开发了土壤质地类型自动识别系统(GSTARS)。

2. 1 系统功能设计

开发的GSTARS能够实现美国制、国际制、卡庆斯基制和中国制的土壤质地类型自动识别与图形化显示,既可通过数据录入方式确定单个土壤样品的土壤质地类型,又能以数据文件的形式实现批量土壤样品质地类型识别,并以数据文件的形式输出;对于基于土壤质地三角图的美国制和国际制,能够在三角图中显示土壤样品所处的位置,对于单个土壤样品模式,能保存计算历史,方便查询。同时,GSTARS能够处理多种形式的土壤颗粒组成数据文件:将激光粒度仪分析、土工分析等方法获取的不同粒径及其对应含量的数据处理成砂粒、粉粒和黏粒的百分含量,将包含多个土壤样品的数据文件通过提取、计算和重组的方式,转换成系统所需的数据文件(文件按土壤样品编号、各分类制划分所需数据组织);能够导入和浏览数据文件;能够读取和输出*.xls、*.xlsx、*.csv和*.txt等格式的数据文件。此外,为了保证三种粒径组成的百分含量之和为100%,系统将通过“100-砂粒含量-黏粒含量”的形式获取粉粒的百分含量。

2. 2 系统界面设计

图形化操作界面对用户友好,不需要掌握程序的内核。本研究遵循功能分区化、简洁易懂和方便操作的方式进行土壤质地类型自动识别系统界面设计,采用MATLAB GUIDE工具实现程序的界面化,见图3。其中,界面左侧A1区为工具栏部分,用于导入数据文件、清空文本与正三角形画布、保存批量计算文件、帮助介绍软件使用、退出软件,A2区为分类标准选择部分,A3区为单样品土壤质地计算部分,A4区为多样品土壤质地批量计算部分;界面右侧(B区)是美国制/国际制土壤质地分类三角图或中国制/卡庆斯基制土壤质地分类标准表。

图3 土壤质地类型自动识别软件系统界面Fig.3 Graphical User Interface design of STRAS

2. 3 三角图设计

美国制和国际制土壤质地分类标准均采用三角图的形式显示。首先在绘图框内建立坐标系,绘制正三角图框及网格;然后以平面直角坐标系原点(0,0)作为一个顶点,并设定正三角形边长为100,则可求得其他另外两个顶点的坐标;最后根据求得的坐标点,用plot命令绘制正三角图,并填充次要参考线以及坐标轴名称与刻度。

三角图采用的是三角坐标系,而绘图框内为笛卡尔坐标系,因此需要对三角图的坐标进行转换,即将每个土壤样品颗粒组成数据坐标(sand,silt,clay)转换为绘图框内的笛卡尔坐标系坐标(x,y):

x=100-sand×100-clay×100×cos60°

(1)

y=clay×100×sin60°

(2)

依据转换后的坐标,利用plot函数可以绘制样品点在三角图中的位置。

依据美国制和国际制不同土壤质地分类标准(见表1和表2),确定各分类标准下土壤质地类型划分界线端点的坐标(x,y),使用plot命令绘制对应分类标准的土壤质地类型分界线,并使用text命令标明各分区岩性,从而形成美国制和国际制的土壤质地三角图,见图1和图2。

3 实例应用与分析

本文以美国制土壤质地分类为例,介绍了土壤质地类型自动识别系统(GSTARS)的使用方法,具体如下:

(1) 单个土壤样品土壤质地类型识别时,先在分类标准区内点击“美国制”按钮(GSTARS默认为美国制),然后在软件界面数据输入区输入土壤颗粒组成数据,点击“计算”按钮,右侧列表自动显示该样品的土壤质地类型名称,同时将该样品以蓝色点定位在美国制土壤质地三角图中相应的土壤质地类型区;当输入新的数据后,右侧列表更新结果并保留历史计算结果及计算序号,同时三角图上更新数据点并保留历史数据点及其序号,见图4。

图4 单个和多个土壤样品土壤质地类型自动识别系统的分类结果Fig.4 Calculated results of GSTARS using the IGBP data

(2) 多个土壤样品土壤质地类型识别时,先导入数据文件(*.xls、*.xlsx、*.csv或*.txt等格式),再选择分类标准后,点击“计算”,即可确定土壤质地分类结果,同时将其结果显示在美国制土壤质地三角图上(图4中红色的点);最后点击保存按钮,可将土壤质地分类结果输出到结果文件。

(3) 当土壤颗粒组成数据为激光粒度仪分析数据时,先导入该数据文件(*.xls、*.xlsx、*.csv或*.txt等格式),再选择分类标准后,点击“计算”按钮,在右侧即可预览对应土壤质地分类标准下的土壤质地分类结果以及砂粒、黏粒、粉粒含量,同时将其结果以蓝绿色点在三角图上批量显示;最后点击保存按钮,可将土壤质地分类结果(包含砂粒、黏粒、粉粒的含量)输出到结果文件。

本文以IGBP-DIS数据库中的土壤颗粒分析数据[22]为例,使用GSTARS对该数据库中的土壤样品按美国制进行批量快速土壤质地分类,将土壤样品数据整理成系统所需的数据格式,导入系统并进行计算,将其显示在三角图中(见图4)。从GSTARS分类结果中随机抽选10个土壤样品与NRCS的在线计算工具STC的判别结果进行对比,结果显示:GSTARS的分类结果与STC判别的计算结果一致,见表5。采用同样的方式,按照国际制进行土壤质地分类对比,将前面选取的10个土壤样品与人工查询结果进行对比,结果显示:GSTARS的国际制分类结果与人工查询结果一致,见表5。

表5 GSTARS土壤质地分类结果与STC和人工查询分类结果的对比

由于中国制和卡庆斯基制土壤质地分类标准是直接利用各粒径颗粒含量数值进行分类,而不需要借助三角图,其识别过程比较简单,对比结果显示:GSTARS可以很好地进行中国制和卡庆斯基制土壤质地分类,并准确地对批量土壤样品进行土壤质地类型批量识别。

4 结 论

基于MATLAB GUI的土壤质地类型自动识别系统(GSTARS)包括了国内常用的美国制、国际制、卡庆斯基制和中国制4种土壤质地分类标准,可以快速实现不同级制的土壤质地类型识别,并可进行不同分类制结果的比较。该系统功能齐全,界面简洁,界面中包括了级制选择、数据输入/输出、图形显示和相关标准的显示,全部操作在一个界面中完成,不需要切换窗口;能够直接处理移液管法或比重计法、激光粒度仪法进行颗粒分析所获取的数据而不需先将其整理成砂粒、粉粒和黏粒含量;能够进行单个土壤样品和多个土壤样品的土壤质地类型识别,数据量仅受数据文件格式限制(*.xls文件的数据限制为65 535组;*.xlsx文件的数据限制为1 048 575组),便于大批量土壤样品数据分析。该系统基于MATLAB于2016年开发,运行时需要MATLAB的相关环境,会受到MATLAB版本的影响,后续将尝试开发脱离MATLAB环境的软件。本程序可供国内外学者和相关工作人员免费使用,软件安装包和源代码的获取方式可联系作者。

猜你喜欢

自动识别样品分类
小麦面条和面过程不同阶段面絮的划分与自动识别
基于数据挖掘的船舶航迹自动识别系统
基于VR技术的X射线图像安检危险品自动识别
嫦五“打包神器”带回“原汁原味”月球样品
完善样品管理制度确保农产品抽检结果的准确性
实验室样品管理
按需分类
教你一招:数的分类
质检机构样品管理的重要性
说说分类那些事