|
摘要:在地质学中常用平面三角坐标图对三组分体系分类命名,传统的分类命名方法通过人工在三角图上查找实现,该方法费时费力,且结果易出错。本文以土壤质地分类三角图为例,以Visual Studio为开发工具,基于微软用户界面框架WPF实现系统界面(前台代码)开发,使用C#语言完成业务逻辑(后台代码)的编写,借助动态依赖库NPOI实现对 Excel文件的操作,最终完成土壤质地自动识别系统(STARS)的建立。文中详细介绍了STARS建立中所需的类设计和算法设计,旨在为其他三组分体系平面三角坐标图自动识别系统的建立提供方法和理论指导。该方法简单易学,软件界面美观,且具有计算速度快、数据处理量大、零误判率、高鲁棒性、容错能力强等特点。
关键词:WPF;平面三角坐标图;自动分类系统;土壤质地;类设计
引言
平面三角坐标图简称三角图,通常采用百分数坐标形式来表示三组分体系中某项要素与整体结构比例。三角图作为一种结构信息图像,3条边代表3种不同的要素,3个顶点可看作是3个原点,各轴要素按比例组合进行种类划分,即可成为分类图。其应用在土壤学、地质学、地理学、统计学中范围甚广,如:土壤质地分类、超镁铁质岩分类与命名、碳酸盐化学分类命名、砂岩和杂砂岩按碎屑组分的划分、工业区位因素的影响程度、人口年龄结构的比重、三大产业构成比重等。
在三角图自动查询研究中,近年来国内外学者主要有以下成果:Gerakis A等(1999)基于美国农部制(USDA)土壤质地分类三角图,提出一套适用于Window95系统中的土壤质地自动分类计算机程序[1];Liebens J(2001)介绍了利用电子表格的宏语言对美国农部制土壤质地分类三角图量化的方法[2];Teh C B S等(2003)阐述了利用C++语言结合三角图内的投点理论的分类方法适用于任何土壤质地分类方案[3]。另外,美国农业部网站上提供基于美国农部制分类的土壤质地计算器(Soil Texture Calculator)[4],用户可在网络环境下(或下载自带计算程序的Excel文件)直接输入砂粒含量、黏粒含量,经过计算输出粉粒含量和土壤质地类型。国内亦有少数学者关注于三角图自动识别系统研究等方面的工作,如:杨红卫等(2003)基于Visual FoxPro平台采用对三角图的点、线坐标解译,探究岩类命名的方法[5];张萌等(2005)利用Excel的逻辑函数功能实现砂岩的自动命名[6];张丽萍等(2006)基于计算机图形学创建了土壤质地自动查询系统[7];郭彦彪等(2013)利用Excel逻辑函数功能实现土壤质地的自动查询[8]。软件成果相比于电子表格宏语言成果在使用的便捷性和可靠性等方面具有更强的优势,而上述国内学者中除了张丽萍等人外均未获得正式的软件成果。张丽萍的成果和美国农部制官网的土壤质地计算器均是输入砂粒含量和黏粒含量,从而获得土壤质地结果,这种方法虽然减少了一个粒度含量的输入,但增加了由于手动输入的偶然误差造成土壤质地结果出错的机率。当下国内对三角图自动识别系统的研究较少,尚处于探索阶段,开发适合国人使用的三角图自动识别软件在学术研究中具有重要的意义。本文旨在通过介绍利用微软推出的用户界面框架(Windows Presentation Foundation,WPF)建立土壤质地自动识别系统(Soil Texture Automatic RecognitionSystem,简称STARS)的方法,STARS建立的理论思想与方法可适用于一系列基于三角坐标图自动分类查询系统的建立。
1.土壤质地传统查询方法
土壤质地根据土壤颗粒机械组成划分,在成土过程中继承了成土母质的类型与特点,同时受到耕种、施肥、灌溉等人为因素的影响,是土壤比较稳定的自然属性。土壤质地分类是土壤导水性、持水性、导热性、导气性、保肥、供肥和保温性的主要影响因素[9]。国内学者在土壤物理、水土保持工作等领域的研究中多使用国际土壤联合会(International Society of Soil Science,ISSS)发布的国际制土壤质地分类和美国农业部制订的土壤质地分类,根据土壤物理学教材[10]和美国农业部网站资料[4]利用CorelDraw X4对国际制和美国农部制土壤质地分类三角坐标图进行数字化,如图1所示。
(略)
图1 土壤质地分类三角坐标图
Fig.1 Triangle coordinate diagramof soil texture classification system
在传统读图方法中,首先确定原点和坐标轴正方向(即各轴粒度增大的方向)。读取三角图中某点对应的各粒度含量时,从该点引平行于坐标轴正方向的射线交于坐标轴的读数即为该点对应的粒度含量,见图2a。反之,已知供试土样各粒度含量确定其质地类型方法:沿坐标轴呈60°角延伸法(图2b)。在各坐标轴上找到三个粒度的百分含量值,沿与坐标轴(正方向)呈60°角方向做延长线,三条延长线交于一点,该点位于的区域即为该土样所属的质地类型。在实际工作中首先要检验各粒度含量之和是否等于100%,否则会出现三条线无法交于一点的现象。由此看来传统的人工查询费时费力且易出错,当需要对大批量土样数据进行土壤质地分类时,人为因素对分类结果造成的误差显的尤为突出。
(略)
图2 传统读图方法解析
Fig.2 Traditional analyticalmethods of interpret drawings
2.系统设计原理
2.1设计思路
2.1.1需求分析
系统目标:实现土壤质地自动识别功能,该系统须能实现对单个供试土样质地分类的识别,且能实现批量数据的识别。
识别依据:土壤颗粒机械组成,即供试土样砂粒、粉粒和黏粒的百分含量。
分类标准:国际制土壤质地分类标准和美国农部制土壤质地分类标准。
2.1.2系统设计
本系统使用面向对象的软件开发方法对系统进行设计,使用三层架构进行系统设计,分别为视图层、业务逻辑层和数据访问层:
(1)视图层:该层负责为用户提供系统使用界面,是用户与系统进行交互的接口。使用者可通过用户界面向系统发出需要执行的操作指令,系统通过该层响应用户发出的操作指令和显示程序执行的结果。
(2)业务逻辑层:该层负责土壤质地识别算法的实现。根据用户选择的土壤质地分类标准(国际制标准或美国农部制标准)对输入或读取到的土壤粒度含量数据,实现土壤质地类型分类算法,用以实现土壤质地类型的自动识别。
(3)数据访问层:该层负责读写Excel文件(即读取Excel中的批量待识别数据和写入Excel分类结果)和读取使用者通过用户界面输入的单个土样粒度含量数据。
鉴于此,程序流程图如图3所示。
图3 程序设计流程图
Fig.3Programming flowchart
2.2基于坐标系分类的解析编程
在做程序编写中,最重要一步是根据三角图中各质地类型的分类界线对不同的质地类型进行程序语言表述,对分类界线所属的质地类型。在对传统三角图的边界进行C#语言解析时,根据工作经验将其归入小于该分界线粒级含量的土壤质地类型中,采用“(sand+ silt + clay < 99.999999) || (sand + silt + clay > 100.000001)”允许各粒级含量之和存在百万分之一的误差,体现人机关系友好性。当土壤质地类型界线平行于坐标轴时,该区域的编程较简单,如国际制土壤质地分类三角形中黏土区域可用“(clay> 45 && clay <= 65)”直接表示。当当土壤质地类型界线与坐标轴不平行时,如国际制土壤质地分类三角形中砂土区域、美国农部制土壤质地分类三角形中砂土和壤质砂土区域。其边界需根据平面非直角坐标系点斜式法对边界直线进行解析,公式如下:
(1)
式中:-土壤质地边界线上某点对应的砂粒含量值;-土壤质地边界线上某点对应的黏粒含量值;k –边界线在平面非直角坐标系中的斜率;-边界线与砂粒含量坐标轴的交点对应的砂粒含量。将边界线上任意已知点的砂粒含量和黏粒含量带入公式(1)求得k值即可得到该边界直线的表达式。如:国际制土壤质地分类三角形中砂土区域可用“(sand> clay * 2 + 85)”表示。
此处以国际制土壤质地三角坐标为例,对各质地类型进行程序语言解析,C#代码如下:
Public string getISSSResult (doublesand, double silt, double clay)
{
string soilType = "不能识别的类型";
if ((sand < 0 || sand > 100)|| (silt < 0 || silt > 100) || (clay < 0 || clay > 100))
{
return "某项粒度含量不在有效范围";
}else if ((sand + silt + clay <99.999999) || (sand + silt + clay > 100.000001))
{
return "粒度含量之和不等于100%";
}else{
if(silt > 45 && clay<= 15){
soilType = "粉壤土";
}else if(silt > 45&& clay <= 25 && clay > 15){
soilType = "粉黏壤土";
}else if(silt > 45&& clay > 25 && clay <= 45){
soilType = "粉黏土";
}else if(clay > 45&& clay <= 65){
soilType = "黏土";
}else if(clay > 65){
soilType = "重黏土";
}else if(sand <= 55&& clay > 25 && clay <= 45 && silt <= 45){
soilType = "壤黏土";
}else if(sand > 55&& clay > 25){
soilType = "砂黏土";
}else if(sand <= 55&& clay > 15 && clay <= 25 && silt <= 45){
soilType = "黏壤土";
}else if(sand > 55&& clay > 15 && clay <= 25){
soilType = "砂黏壤土";
}else if(sand <= 55&& clay <= 15 && silt <= 45){
soilType = "壤土";
}else if(sand > 55&& sand <= 85 && clay <= 15){
soilType = "砂壤土";
}else if(sand > clay * 2 +85){
soilType = "砂土";
}else{
soilType = "壤砂土";
}
}
return soilType;
}
3.系统建立
3.1开发工具与环境
开发语言:C#和WPF,WPF是微软推出的用户界面框架[11-12], 自公之于众以来,其革命性的创建独立应用程序和软件的方式引起了人们的高度关注,是当前窗体应用程序的主流开发语言。
开发工具:Microsoft Visual Studio 2010。
依赖动态库:NPOI 2.1.3,NPOI 是 POI 项目的 .NET 版本,POI是一个开源的Java读写Excel、Word等微软OLE2组件文档的项目。NPOI是构建在POI 3.x版本之上的,它可以在没有安装Office或者相应环境的机器上对Word/Excel文档进行读写操作,下载地址http://npoi.codeplex.com/。
运行环境:需操作系统支持.Net Framework 3.0及以上版本。
系统环境:Microsoft Windows 7。
3.2类设计及算法设计
本系统使用的开发语言是C#,故采用面向对象的思想进行程序设计。通过分析,完成该系统需开发四个主要类,分别为:土壤样本数据实体类——SoilEntity,Excel文件操作类——ExcelFileOperate,计算公式类——CalculateFormulas和程序的主窗体类——MainWindow。
主要实现的算法有:根据国际制和美国制标准实现的土壤质地分类算法、读写Excel文件数据的算法和批量数据分类算法。
3.2.1类设计
土壤样本数据实体类(SoilEntity):该实体类作用是用来存储和管理每个土壤样本的信息。包括四个属性:砂粒含量值sand、粉粒含量值silt、黏粒含量值clay和被识别的土壤类型result。系统将获得的每一条样本原始数据都封装成一个SoilEntity实体并存储在内存中,对土壤质地进行分类时,从SoilEntity实体中取出数据并调用分类算法进行分类,最后将该实体的分类结果写回到SoilEntity实体的result属性中。
计算公式类(CalculateFormula):负责实现系统中使用到的分类算法和数据处理算法。包括三个方法,分别为:根据美国农部制标准实现的分类算法实现的“获得美国制分类结果”对应的getUSDAResult方法。根据国际制标准实现的分类算法实现的“获得国际制分类结果”对应的getISSSResult方法,以及根据读取的数据和选择的分类标准进行批量数据处理的dataHandle方法。
Excel文件操作类(ExcelFileOperate):负责实现Excel文件的读写操作。包括四个方法:获得导入文件的文件名getOpenFileName方法,获得导出文件的文件名getSaveFileName方法,读Excel数据的readExcelData方法,写Excel数据的writeExcelData方法。
系统主窗体类(MainWindow):负责用户界面显示和对用户触发的按钮点击事件进行处理。需要实现的方法有:用来获得用户选择的土壤质地分类标准的getCalculateType方法和重置输入框的setEmptey方法。用来处理的事件方法主要有四个:
点击获得分类结果按钮触发的事件用btn_SingleCalculate_Click方法处理;
点击导入文件按钮触发的事件用btn_ImportData_Click方法处理;
点击进行计算按钮触发的事件用btn_Calculate_Click方法处理;
点击导出结果按钮触发的事件用btn_ExportData_Click方法处理。
四个类的关联关系如图4所示,其中MainWindow类需要依赖SoilEntity、ExcelFileOperate和CalculateFormula;而CalculateFormula需要依赖SoilEntity。
(略)
图4类设计关联关系图
Fig.4 Relationshipdiagram of class design
3.2.2算法设计:
STARS的主要算法中,获得美国制分类结果算法、获得国际制分类结果算法根据相应的制式标准使用规则判断即可实现,二者分别对应getUSDAResult及getISSSResult方法的实现,在此不赘述。下面详细介绍读取Excel中批量土壤质地数据的算法、将批量结果数据写入Excel中的算法、以及根据用户选择标准批量获得分类结果算法的详细步骤。
算法一:读取Excel中批量数据的算法步骤,共8步,即readExcelData方法的实现思想。
输入:Excel文件所在路径及文件名。
输出:List<SoilEntity>对象,中存放着封装了属性值sand、silt 和clay,但未给result属性赋值的SoilEntity实体对象集。
step 1以读取方式打开Excel文件,根据文件名确定创建的工作薄格式(.xls或.xlsx);
step 2打开第一个Sheet(程序只使用Excel的第一个Sheet);
step 3获得当前Sheet中的数据总行数;
step 4依次读取一行数据中的三个数值;
step 5将本次读取的三个数值封装到实体类SoilEntity中;
step 6将本次封装的Soil Entity实体添加到链表List<SoilEntity>中;
step 7 跳转至step4直到最后一行;
step 8关闭读Excel的数据流并返回List<SoilEntity>对象。
算法二:批量数据的分类算法步骤,共5步,即dataHandle方法的实现思想。
输入:算法一输出的List<SoilEntity>对象和用户选择的计算类型calculateType。
输出:每个SoilEntity的result值存放分类结果的List<SoilEntity>对象。
step 1判断算法一获得的List<SoilEntity>对象是否为空,非空转step2,空则返回NULL。
step 2遍历List<SoilEntity>对象,读其中的每个SoilEntity对象。
step3将SoilEntity封装的值取出,并根据用户选择的计算类型calculateType调用相应的分类方法(getUSDAResult或getISSSResult)以获得该对象分类结果。
step 4将step 3的识别结果存放到Soil Entity的result属性中。
step 5返回包含分类结果的List<SoilEntity>对象。
算法三:将批量数写入Excel中的算法步骤共7步,即writeExcelData方法的实现思想。
输入:算法三的输出(即包含result分类结果的List<SoilEntity>对象list)和Excel文件的存储路径及存储文件名。
输出:包含最终分类识别结果数据的Excel文件。
setp1 以写的方式打开Excel文件,根据文件名确定创建的工作薄格式(.xls或.xlsx)。 step 2打开第一个Sheet(程序只使用Excel的第一个Sheet)。
step 3将 Sheet的第一行设置上表头信息。
step 4 遍历List<SoilEntity>对象list,每次取出一个SoilEntity对象。
step 5将SoilEntity对象中的属性值读出,依次赋值给Sheet中每行相应的单元格中。
step 6跳到step4直到最后一个list对象写入Sheet中;
step 7将Sheet数据流写入工作薄并关闭写Excel的文件流,Excel文件创建成功。
3.3系统界面介绍
STARS只含一个窗体,该窗体功能区由上到下分为三部分,如图5所示。各部分简介如下:
(1)选择土壤质地分类标准。供用户选择的有国际制和美国农部制两个选项,且用户每次只能选择一个标准,系统默认为国际制。
(2)单个识别。该部分的独立功能是通过用户输入各粒度的百分含量实现对土壤质地的自动识别。界面包含三个可供用户输入各粒度含量的数据输入框,将颗粒分析获得的土样各粒度含量输入后,从而获取土样质地类型。为方便用户使用和提高识别率系统内置了数据验证功能,即在计算之前对数据进行验证,若用户输入了不符合规范的数据,系统会给出相应的提示,供使用者修正数据,如:遗漏数据或输入的数据中包含非数值字符、某一粒度含量不在0~100%范围内、三项粒度含量之和不等于100%等,系统会弹出提示框提示用户输入合理数据,同时帮用户清空刚才输入的错误数据。
(3)批量识别。该功能是本系统的核心功能,点击【导入数据】按钮,将颗粒分析结果的Excel文件数据导入到STARS;通过【开始计算】按钮和【导出结果】按钮可将分类结果导出到重命名的Excel文件中。使用者需按照导入数据、进行计算和导出结果的顺序操作使用该功能。若操作顺序有误,系统会给出相应提示,避免出错。
(略)
图5 系统界面图
Fig.5Map of system interface
4.应用实例
作者在陕西省省域尺度土壤物理基本参数的空间变异性研究中[13-14],利用STARS查询1053个测点的土壤质地分类,实现土壤质地批量快速检索。
在土样采集中,用标准环刀(2500px3)取地表0~500px土样带回实验室风干、研磨,过2mm筛后用马尔文激光分析仪(MS2000型)测定土壤颗粒机械组成。对单个土样进行质地识别时,首先选择土壤质地分类标准【国际制】(或【美国制】),分别输入各粒度的百分含量,然后点击【获得分类结果】按钮,系统根据用户之前选中的分类标准调用相应算法进行计算,最后显示本次分类结果。为便于用户输入数据,点击【重置分类数据】按钮后,系统会帮助用户清空之前录入的数据,便可进行再次输入与计算。
对批量土样进行质地识别时,将土壤机械组成结果导出后另存为Excel文件(兼容.xls和.xlsx格式),Excel文件中前三列字段分别设为砂粒含量(%)、粉粒含量(%)和黏粒含量(%),如图6所示。打开STARS界面(图5),先选择土壤质地分类标准【国际制】(或【美国制】),再选择批量识别,点击【导入数据】后将需要计算转换的Excel文件导入,文件导入后系统会提示“文件导入成功”点击【进行计算】后系统开始对数据文件进行程序运算,待界面显示“计算完成”后,点击【导出结果】选择结果文件的导出位置,保存为可供用户直接对结果进行统计分析Excel文件,批量识别结果如图7所示。
(略)
图6 文件导入示意图
Fig.6 Schematic fileimport
(略)
图7 文件导出结果示意图
Fig.7 Schematicof export results
在陕西省调研中的1053个实测土样颗粒分析结果中随机抽选13个土样(表1)进行人工结果比对,STARS所得的结果与人工查询的结果完全一致,说明了该系统的简捷性、适用性和准确性。在导出的Excel文件中添加供试土样采样点的经纬度坐标字段(表1)后可将文件直接导入ArcGIS中实现土壤质地在不同尺度下的空间变异性研究[15],以陕西省为例,省域尺度下的土壤颗粒机械组成空间分布情况,如图8所示。
表1土壤质地类型自动分类结果(部分)
Tab.1 Results of soiltexture automatic classification(Section)
样本编号 | 采样点坐标 | 砂粒含量 | 粉粒含量 | 黏粒含量 | 质地类型 | |
经度 | 纬度 | % | % | % | ||
1 | 110.5031°E | 38.8421°N | 96.15 | 3.68 | 0.17 | 砂土 |
2 | 110.1852°E | 37.7558°N | 73.1 | 16.56 | 10.34 | 砂壤土 |
3 | 108.1160°E | 37.3633°N | 70.21 | 18.46 | 11.33 | 砂壤土 |
4 | 109.3290°E | 36.8641°N | 66.07 | 21.13 | 12.8 | 砂壤土 |
5 | 110.1698°E | 36.0504°N | 49.34 | 31.02 | 19.64 | 黏壤土 |
6 | 109.4328°E | 35.7621°N | 46.56 | 32.05 | 21.39 | 黏壤土 |
7 | 108.1486°E | 35.0174°N | 55.82 | 25.03 | 19.15 | 砂黏壤土 |
8 | 109.7888°E | 34.5199°N | 54.2 | 23.39 | 22.41 | 黏壤土 |
9 | 107.3628°E | 34.2931°N | 28.52 | 41.03 | 30.45 | 壤黏土 |
10 | 108.1848°E | 34.0523°N | 26.67 | 42.76 | 30.57 | 壤黏土 |
11 | 110.5394°E | 33.4378°N | 57.69 | 28.5 | 13.81 | 砂壤土 |
12 | 106.6731°E | 33.1534°N | 30.21 | 40.06 | 29.73 | 壤黏土 |
13 | 108.7383°E | 32.6950°N | 33.06 | 39.23 | 27.71 | 壤黏土 |
(略)
图8 省域尺度土壤颗粒组成空间分布图
Fig.8 Provincial-scale spatial distribution map of soiltexture
5.结语与展望
(1)STARS体积小易传输、免安装、解压后可直接打开使用,软件只有1个窗体,在选择分类标准及进行单个识别和批量识别时不用切换窗口,操作简便易学易用,界面为简体中文版,适合国内学者、研究人员使用。
(2)提供数据验证和错误提示。系统对所有样本数据进行有效性验证,有利于提高数据有效率和识别率,同时对用户的误输入给出错误提示,方便用户定位和修正错误数据。同时对砂粒、粉粒、黏粒含量三组数据输入,增加了数据的自检效果,可有效减少土壤质地结果的出错几率。
(3)采用C#语言直接对各土壤质地类型区域进行编程解析,减少了由其他方法带来的复杂计算过程,方法更为简便。
(4)STARS同时支持Excel的*.xls格式和*.xlsx格式,数据处理量大。使用*.xls格式文件可一次性处理65535组数据,而使用*.xlsx格式可一次性处理1048575组数据。两格式之间的数据可以任意转换,用户可直接在Excel实现识别结果的统计分析,极大的方便了用户使用。
在后续研究中,将该软件作为插件植入激光粒度仪系统内,可按用户所需直接输出供试土样的各粒度含量和土壤质地分类结果。STARS的建立方法适用于其他三组分体系分类系统,如:岩类命名等。STARS的设计理论亦适用于双三角图自动识别系统的建立。如:国际地质联合会(IUGS)岩石学委员会对深成岩分类方法推荐的QAFP双三角图方案[16]。本软件可供国内学者免费交流使用,有需要系统设计完整代码者请联系本文作者。
参考文献
[1]Gerakis A, Baer B. A computer program for soiltextural classification[J]. Soil Science Society of America Journal, 1999,63(4): 807-808.
[2] Liebens J. Spreadsheet macroto determine USDA soil textural subclasses[J]. Communications in Soil Scienceand Plant Analysis, 2001, 32(1-2): 255-265.
[3] Teh C B S, Rashid M A. Object-oriented code tolookup soil texture classes for any soil classification scheme[J].Communications in Soil Science and Plant Analysis, 2003, 34(1-2): 1-11.
[4]美国农部制网站.http://www.nrcs.usda.gov/wps/portal/nrcs/detail/soils/survey/?cid=nrcs142p2_054167
[5]杨红卫,汪新庆,刘刚.基于三角图命名岩类的计算机命名研究[J]. 地矿测绘, 2003, 19(3): 4-6.
YANG Hongwei, WANG Xinging, LIU Gang.The study about using computer to name rock which named basingon triangular diagram[J]. Surveying and Mapping of GeoIogy andMineraI Resources, 2003, 19(3): 4-6. (inChinese)
[6]张萌, 黄思静, 冯文新, 等. 巧解砂岩分类三角图[J]. 成都理工大学学报: 自然科学版, 2005, 32(4):423-429.
ZHANG Meng, HUANG Sijing, FENGWenxin, et al. Furthercalculating plots in a triangle for the classification of sandstones[J]. Journal of ChengduUniversity of Technology (Science & Technology Edition), 2005, 32(4): 423-429. (in Chinese)
[7]张丽萍, 张镱锂, 王英安. 基于计算机图形学的土壤质地自动分类系统[J]. 地理科学进展, 2006, 25(3):86-95.
ZHANG Liping, ZHANG Yili, WANGYingan. Automatic Soil Texture Classification System Based on Computer Graphics[J]Progress in Geography,2006, 25(3):86-95. (inChinese)
[8]郭彦彪, 戴军, 冯宏等.土壤质地三角图的规范制作及自动查询[J]. 土壤学报, 2013,50(6):1221-1225.
GUO Yanbiao, DAI Jun, FENGHong, et al. Standard mapping of soil textural triangle and automatic query ofsoil texture classes[J]. Acta Pedologica Sinica, 2013,50(6):1221-1225. (in Chinese)
[9]张丽萍, 张镱锂, 王英安.国内外土壤质地自动分类程序介绍[J]. 土壤通报, 2007, 38(5):989-992.
ZHANG Liping, ZHANG Yili, WANG Yingan. Computer programsof automatic classification for soil texture [J].Chinese Journal of Soil science,2007, 38(5):989-992. (in Chinese)
[10]邵明安,王全九,黄明斌.土壤物理学[M]. 北京:高等教育出版社,2006.
[11]Microsoft开发人员中心.https://msdn.microsoft.com/zh-cn/library/vstudio/aa970268.aspx
[12]琚彬. 基于WPF平台的自定义控件开发[D]. 西安电子科技大学, 2008.
[13]王卫华,李建波,苏李君,等.基于土壤物理基本参数的土壤导气率推求模型[J].农业机械学报,2015,46(3):125-130.
WANG Weihua, LI Jianbo, SU Lijun,et al. Soil air permeability model based on soil physical basic parameters[J].Transaction of the Chinese Society for Agricultural Machinery, 2014,46(3):125-130. (in Chinese)
[14]王卫华,李建波,王铄, 等.土壤热特性参数空间变异性与拟合方法研究[J].农业机械学报,2015,46(4):120-125.
WANG Weihua, LI Jianbo, WANG Shuo,et al.Spatialvariability of soil thermal parameters and its fitting method[J].Transaction of the Chinese Society for Agricultural Machinery, 2014,46(4):120-125. (in Chinese)
[15] 王卫华,王全九,张志鹏.流域尺度土壤导气率空间分布特征与影响因素分析[J]. 农业机械学报,2014,45(7):118-124.
Wang Weihua, Wang Quanjiu andZhang Zhipeng. Basin scale spatial distribution of soil air permeability andanalysis of its impact factors[J].Transactions of the Chinese Society forAgricultural Machinery,2014,45(7):118-124. (in Chinese)
[16]徐夕生, 邱检生.火成岩岩石学[M], 北京:科学出版社,2010.
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-7 00:55
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社