刘敬涛,陈 良,贺 斐
(广西国土资源厅土地整理中心,广西南宁 530028)
组织开展自然资源分等定级价格评估是法律赋予自然资源管理部门的一项重要职责[1],其中耕地质量分等是分等定级价格评估的基础,是全国第三次全国土地调查中重要专项内容,也是当前耕地占补平衡及土地整理开发成效衡量的依据。
当前耕地质量分等数据主要使用ArcGIS平台生产、加工及使用,而等别的计算大多需要将其转化为Excel数据,计算等别之后将其转回原矢量数据[2-6]。这种办法虽然可行,但对于动辄几万、几十万条记录的分等数据而言,一是工作效率低;二是人工参与表格计算,成果质量难以保证;三是重复作业,自动化程度低。鉴于此,笔者针对上述问题,以广西实际情况为基础,对耕地质量分等计算的标准化、程序化等方面进行了研究和实验,提出了基于ArcPy的耕地质量等别计算技术,并在生产中得到实际应用。
耕地质量等别计算问题是首先载入待计算的耕地质量数据,逐一读取每条记录的标准耕作制度及分等因素值,根据数据字典提供的对应计分规则计算其相应分值,其次根据评价因素权重、光温生产潜力指数以及产量比系数计算自然质量分及自然等指数,再次根据利用系数和经济系数计算利用等指数和经济等指数,最后根据一定的转化规则计算国家级各指数及等别。其基本流程如图1所示。可以看出该问题的基本参数如下:
①原始输入数据:各分等因素值(原始指标值)和耕作制度等;②最终输出结果:自然等指数(广西、国家)、利用等指数(广西、国家)、经济等指数(广西、国家);国家自然等别、国家利用等别、国家经济等别;③中间输入数据:计分规则、权重、光温指数、产量比等;④中间结果数据:分等因素分(标准化分值)、自然质量分;⑤主要处理算法包括指标值标准化(将不同量纲的指标值转化为统一可比的分值)、自然质量分计算(多因素加权平均法)、自然等指数计算。
图1 耕地质量等别计算流程Fig.1 Flow chart of the calculation of cultivated land quality
数据设计是信息系统开发和建设中的核心技术。在上述耕地质量等别计算问题的具体应用需求分析的基础上,进行数据结构设计和数据字典设计。
2.1数据结构表设计耕地质量等别计算问题的原始输入数据、最终输出数据和中间数据都是基于特定评价单元变化的,所以设计一个数据表进行管理。根据相关标准规范[7],结合广西实际情况,耕地质量数据属性结构描述见表1。
耕地质量数据属性结构前面为DLTB的部分字段,其中土地利用系数、土地经济系数及自然质量分根据实际情况重新命名该字段及代码,以早稻为例,则分别为早稻利用系数,代码为ZD_LYXS;早稻经济系数,代码为ZD_JJXS;早稻自然质量分,代码为ZD_ZRZLF。有效土层厚度后面省略了其他的广西分等因素,例如土壤有机质含量、土壤酸碱度等字段,其代码分别为TRYJZHL、TRSJD,代码命名规则为字段名称的汉字拼音首个字母的组合。
表1 耕地质量数据属性结构描述
2.2数据字典设计耕地质量分等过程的因素值分级计分规则、作物光温潜力指数、产量比系数等分等参数是进行耕地质量等别划定的基础。为了有效地管理这些分等参数,拟引入数据字典的方式对这些参数进行描述。数据字典(Data Dictionary)是对于数据模型中的数据对象或者项目的描述的集合,这样有利于程序员和其他需要参考的人查询[4]。
根据计算需求,数字字典需要存储区域标识码、作物光温潜力指数、产量比系数、评价因素权重及计分规则等。具体组织结构见图2。
图2 数据字典组织结构Fig.2 Data dictionary organization structure
以广西为根节点,区域标识码为一级子节点,可以根据不同区域需求,增加或修改相应区域标识码。光温潜力指数及产量比系数向下包括了早稻、中稻、晚稻等不同作物的节点,评价因素权重和计分规则向下包括早稻-晚稻、早玉米-晚玉米等不同耕作制度的节点。以早稻-晚稻的标准制度为例,向下包括了表层土壤质地、土壤有机质含量、土壤酸碱度等节点;以表层土壤质地为例,向下包括了壤土、黏壤土、黏土等节点,存储了对应级别的分值。
为实现耕地质量等别的计算,设计由1个主函数和3个引用函数组成算法框架(图3)。其中主函数主要负责加载待计算的耕地质量数据,读取数据字典,导入必要站点包(主要包括arcpy、math、xml.etree.cElementTree as ET等);引用函数主要包括字典解析函数、计分规则函数、等别计算函数等[5],其基本结构见图3。
图3 算法设计框架Fig.3 Algorithm design framework
3.1字典解析函数字典解析函数采用嵌套循环结构,其主要作用是对主函数读取的数据字典依次解析,读取不同作物的光温生产潜力指数、产量比系数以及不同标准耕作制度下的评价因素权重、计分规则中不同因素不同分级的值,并赋值给预设的变量[6]。
3.2计分规则函数计分规则函数采用循环判断结构,其主要作用是对加载的耕地质量数据中评价因素值循环读取,判断读取了哪一种评价因素,该评价因素值是什么,和计分规则数据比对应该得多少分,之后赋值给预设的变量。该函数主要实现将各个不同量纲的指标值变为统一可比的分值,其基本流程见图4。
图4 计分规则函数流程示意图Fig.4 Schematic diagram of scoring rule function flow
3.3等别计算函数等别计算函数采用顺序结构,主要实现自然质量分计算、自然等指数计算、利用等指数及经济等指数计算等功能。
3.3.1自然质量分计算。 耕地质量等别采用因素法[7],指定作物的耕地自然质量分采用各因素标准分值加权平均法,具体计算见式(1):
(1)
式中,C1,j为分等单元指定作物的耕地自然质量分;j为指定作物编号;k为指定因素编号;m为分等因素的数目;fjk为第j种制定作物第k个分等因素的指标分值,取值为(0~100];ωk第k个分等因素的权重。
3.3.2指定作物的自然等指数计算。指定作物的自然等指数计算方法见式(2):
Rj=αj·βj·C1,j
(2)
式中,Rj为第j种指定作物的自然等指数;αj为第j种指定作物的光温生产潜力指数;βj为第j种指定作物的产量比系数。耕地自然等指数计算方法见式(3):
(3)
式中,R为耕地自然等指数。
3.3.3利用等指数及经济等指数计算。指定作物利用等指数及经济等指数计算公式见式(4)和(5):
式中,Yj=Rj·Klj
(4)
Gj=Yj·Kcj
(5)
式中,Yj为第j种指定作物的利用等指数;Klj为第j种指定作物的
土地利用系数;Gj为第j种指定作物的经济等指数;Kcj为第j种指定作物的土地经济系数。
耕地利用等指数与耕地经济等指数计算方式与耕地自然等指数类似,不再赘述。最后根据国家指定的转换原则计算国家相应等别指数,进而计算国家各类等别。
4.1算法平台
4.1.1Python。Python作为一种流行的开源编程语言,它集成在ArcGIS平台中,具备简洁易读、语法清晰、支持动态定型等特点,并且具有大量标准库和第三方库,是创建地理数据库工作流的首选[8]。该研究的主要算法是基于Python实现的。
4.1.2XML。XML是一种类似超文本标记语言的可扩展标记语言,具有简洁高效、易学易用、标准统一、高效拓展、跨平台等特点,被设计用来传输和存储数据,其焦点是数据的内容,是数据字典设计的优秀工具[9]。该研究中的分等参数就是用XML来存放的。
4.1.3ArcPy。ArcPy通常被称为ArcPy 站点包,它提供了使用 Python操作所有地理处理工具的入口,同时具备多种函数和类,以处理和查询地理数据。使用Python和ArcPy可以开发出大量的用于处理地理数据的实用程序[10]。该研究的算法在Arcpy集成环境下得以运行。
4.2算法实现在上述问题描述、数据设计、算法设计和平台采用基础上,通过编码、调试等,实现耕地质量等别计算。
以广西为研究对象,研究了一种利用Python、ArcPy和XML文件集成在ArcGIS平台上一体化实现耕地质量等别计算的方法,通过这个方法可以实现对海量耕地质量数据的自动、快捷、高效计算。该方法经多次验证检验,可实现约1.2万条/min耕地质量等别数据的计算,且各计算结果均正确无误,可应用于实际生产实践。