基于微灌工程设计成果数据的农田电子地图构建方法

2020-10-16 07:24李仁路万书勤康跃虎李晓彬
排灌机械工程学报 2020年9期
关键词:微灌电子地图灌水

李仁路,万书勤,康跃虎,李晓彬

(1. 中国科学院地理科学与资源研究所陆地水循环及地表过程重点实验室,北京 100101; 2. 中国科学院大学资源与环境学院,北京 100049)

农业信息技术的飞速发展正在改变着传统农业,中国农业正在向着精细化、智能化、集约化的方向转变[1-2].绘制农田电子地图是实现精准农业的基础,长期以来其绘制基本都是由专业的技术人员使用专业的测绘设备和制图软件来完成.灌溉,尤其是现代灌溉,作为精准农业的重要组成部分,其工程建设主要包括基础资料采集、规划设计、施工安装、维护管理等.由于微灌工程在安装后农田中所需要采集和绘制的要素信息数量较多,且每一季作物的种植都需要更新,采用传统的农田电子地图制作方法已无法满足需求.

微灌工程设计成果数据包含了构建农田电子地图所需要的各种要素的信息,只要能够充分地利用现有的设计成果数据就可以快速地构建起初级农田电子地图.然而CAD是以供图为目的的软件,缺乏对空间数据信息的描述和分析能力,缺少地理空间位置信息,无法将其直接作为农田电子地图使用,因此需要将其转换为地理信息系统(GIS)所支持的电子地图格式,GIS不仅可以对空间数据和属性数据进行管理、分析和处理,还能够实现电子地图的生产、编辑和显示等操作.

由于CAD和GIS之间的数据模型存在差异性,许多学者就两者之间转换的问题进行了相关研究,吴聪聪等[3]讨论了ArcGIS工具模块、FME软件、C/S转换平台、编程这4种数据转换方法的优缺点和适用范围;杨娜娜等[4]提出了一套较为完善的CAD规划成果数据GIS建库的方案和实现流程,并基于AutoCAD.NET开发组件和ArcGIS Engine二次开发组件有效地实现了CAD和GIS异构数据的同化;尽管国内外许多研究能实现CAD和GIS异构数据的无损转换,但由于缺乏对微灌工程系统深入的了解认识,尚不能形成准确表达微灌系统工程中的各种要素的电子地图.无损转换后生成的电子地图要素与实际施工安装的微灌工程设备要素之间存在着一定差异.

文中在对微灌工程进行系统了解的基础上,通过深入分析设计成果数据和农田电子地图2种数据之间数据模型和要素表达方式之间的差异性,提出基于微灌工程设计成果数据构建农田电子地图的方法,一方面可以为施工方安装微灌设备作业提供电子地图参照,同时也可以为农业机械在作业时提供微灌农田电子地图.

1 成果数据与农田电子地图

1.1 概述

研究如何利用微灌工程设计成果数据构建农田电子地图,首先要深入了解2种数据模型的不同特点以及差异性.对于微灌工程设计成果数据来说,由于AutoCAD强大的矢量绘图功能和简单易学的操作,设计单位常使用该软件来进行微灌工程的设计.还有一些学者基于AutoCAD的二次开发技术编写程序,自动输出生成微灌工程设计成果数据[5],AutoCAD的数据模型是为了设计与制图而设计,只注重图形要素图形的表达,不能将空间数据和属性数据很好结合,缺少对要素地理空间位置信息的描述.

农田电子地图是精准农业的重要基础数据,存储着农田中每个要素的空间位置参考信息和要素的属性信息.地理信息系统(GIS)是用于采集、存储、查询、分析和显示地理空间数据的计算机系统[6],其提供了一种能够管理复杂空间数据和属性数据的手段,能将空间数据和属性数据有机地结合起来,用以满足用户对微灌系统空间信息和属性信息的综合需求.文中主要使用的电子地图存储方式为GIS所支持的面向对象的数据库Geodatabase.

1.2 数据模型之间的差异

对于微灌工程设计成果数据文件, DWG格式文件是其常用的数据格式存储文件,是由AutoCAD生成的一种二进制文件,如图1所示.1个CAD文件可以将其看成1个由5部分组成的DWG文件数据库,分别为头部、实体部、表部、块实体部和应急头部.CAD文件中所有的图形单元都会被存储在这个数据库的实体部之中,每一种实体都会被系统赋予唯一的类型名称以供访问[7],通过不断循环访问CAD实体,就可以得到CAD中的每一个图形元素的信息.

图1 DWG文件数据模型Fig.1 DWG file data model

Geodatabase是面向对象的空间数据存储模型,具有面向对象的技术优势,不仅存储包括这些要素的属性数据以及其空间坐标的简单表格,还存储着包括这些地理数据集的模式和规则[6].Geodatabase会将矢量数据集组织成为要素数据集和要素类2种,在要素类中存储的是具有相同几何类型的空间要素,在同一个要素数据集中存储的则是具有相同的区域范围和坐标系的要素类的集合[8],Geodatabase的等级结构对于不同微灌工程文件矢量数据的组织和管理十分有利.

1.3 要素表达方式之间的差异

一般来说,农田电子地图中空间要素主要内容包括农田中的管网设备和其他固有的要素,如井、电线杆、作物等要素.田间一个典型的完整微灌系统灌水管网主要包括了灌水器、毛管、支管、干管等要素,如图2所示.对于CAD来说,要将这些要素表达出来时,需要将其抽象成为点、块、线、文本等图元结构,此时往往只注重图面显示的效果,在表达相关要素时会出现夸张放大、省略简化等情况.而在GIS所生成的农田电子地图中,则用点、线、面和注记等类型来表示地理实体要素,在显示时需要兼顾其图面显示效果和要素属性信息的表达,往往需要能够准确地表达农田中微灌工程要素的各种信息,包括空间信息和属性信息.

图2 典型微灌系统组成Fig.2 Composition of typical micro-irrigation system

表1为田间微灌管网系统设计成果CAD文件与农田电子地图GIS文件之间要素表达类型的对照表,从表中可以看出,二者在表达同一要素之间存在差异,在设计文件中的干管、支管以及毛管都是用一条条的线来表达,这和在GIS中的一致.然而实际上这些管道并不是一条线,其有着不同的管径和不同的功能,甚至有着不同的材料,这些在CAD中表达是根据不同的线类型、颜色和线宽等信息来进行区分,而在GIS中的这些信息可以根据其属性数据来进行区分并加以表达.为了图面内容显示的整洁性,往往毛管内容会在设计文件中被省略或只绘出有代表性的毛管来简化表达,这些被简化省略的信息都需要在农田电子地图中表达出来.

表1 微灌管网系统CAD与GIS图形要素表达类型对照表Tab.1 Comparison of graphic element expressions of micro-irrigation network between CAD and GIS

对与灌水器来说,不同的微灌方式的灌水器在设计文件中的表现形式是不同的.如微喷灌工程中,在设计文件中为了图面内容的突出显示效果,往往会对其进行放大夸张的显示,可能会用点、面、块等类型来对其进行描述;对于滴灌工程,由于灌水器是分布在毛管上,毛管信息被简化省略的同时也会将灌水器的信息一同简化和省略,并且由于每一条毛管上的灌水器数量众多,设计文件中往往仅将其以文本备注的形式展现出来,然而在农田电子地图中,这些在设计文件中缺失的灌水器相关信息都需要以点要素的形式在电子地图中展现出来.

2 构建农田电子地图及关键技术

2.1 设计思路

方案主要采用ESRI公司ArcGIS Engine二次开发工具包,添加DWGDirect.NET函数库来实现微灌工程CAD设计文件作为数据源构建农田电子地图.DWGDirect.NET函数库是开放者设计联盟(Open Design Alliance)开发的用于免费读写CAD文件的函数类库,使用该函数库可以实现脱离AutoCAD平台对CAD文件进行操作.如表1中所示,由于CAD中的实体图形种类繁多,针对不同的要素构建正确的转换算法,避免出现信息的丢失.图3为数据转换的流程图.

图3 流程图Fig.3 Flow chart

2.2 具体实现

2.2.1 数据预处理

为了防止数据处理的过程中带来不必要的错误,首先应对本地的微灌工程设计CAD文件数据进行数据预处理,数据预处理完成后再进行数据转换[9].预处理的操作主要包括:确保所有图层处于打开状态;将锁定和冻结的图层进行解锁解冻操作;对图层涉及的管道的名称严格按照微灌管网系统的分级来进行命名并确认管道处在对应的图层中,分为干管(Mainline)、支管(Submain line)、毛管(Latearls)、灌水器(Emitters)等进行命名处理,其余图层除了0图层外保持默认;删除图层中的重复的要素;删除图层中的无用的废块,如指北针、图例、图框等要素;检查是否存在着拓扑关系明显错误的图形,比如地块图形是否封闭等,预处理过程在AutoCAD中进行操作即可.

2.2.2 创建地理数据库及属性信息

数据预处理完成后应创建一个用于存储农田电子地图的数据库,创建要素集和要素类.同时为了便于灌溉信息系统的后期管理和维护,需要为要素类添加相对应的属性表.在微灌工程中存在着许多不同的要素,不同类型的要素需要创建不同的要素属性,属性值的添加有些可以在要素进行转换的时候添加,有些则需要在后期自行利用相关软件添加和修改.

2.2.3 图形数据转换

图形数据转换的实质与关键就是设计成果数据中图形实体的遍历以及其坐标信息的提取和重新组合[7],如表1中所示,设计文件中要素实体(Entity)的形式多种多样,有点(DbPoint)、块(DbBlockReference)、直线(DbLine)、圆(DbCircle)、弧线(DbArc)、样条曲线(DbSpline)、多段线(DbPolyline)、二维多段线(DbPolyline2d)和文字注记(DbText)等,坐标提取需要针对这些实体类型来读取相关的信息,用以提取或者换算坐标.常用的ArcGIS工具模块、FME软件等转换方法由于转换时未考虑设计文件要素表达时的简化省略与夸张效果,造成转换后的电子地图不能如实反映农田真实信息,与微灌工程施工效果不一致,考虑到差异性,文中基于微灌工程设计文件提取具体坐标信息的对应方案主要包括:① 对于点、块实体,设计文件数据中主要包括灌水器或者其他点状地物类型,直接提取其位置信息X,Y和高程Z(如果高程信息不存在就将其默认为0并存入属性表中,以下操作提取的高程信息同此一致),然后使用ArcGIS Engine的IPoint接口来记录坐标信息. ② 对于圆形实体、弧线实体,设计文件数据中主要包括灌水器类型和其他圆形地物的类型,根据具体的情况,首先统一获取圆心的位置坐标信息和高程值,如果为灌水器,则使用ArcGIS Engine的IPoint接口来记录此灌水器坐标,圆形实体的其他信息写入该灌水器的属性表中;如果为其他地物信息,则使用ICircularArc接口来构建圆,并将其封装成为IPolygon类写入Geodatabase中;如果其他地物类型为弧线实体类型,还需要获取其圆心角信息,起点和终点信息,同样使用ICircularArc接口构建并封装成IPoyline类写入Geodatabase中. ③ 对于直线实体、多段线实体,设计文件数据中主要包括灌水管道类型或者未闭合的垄沟、道路等边界信息,直线实体提取其起点和终点的坐标及高程值,然后再使用ArcGIS Engine的IPolyline接口来记录这2对坐标;多段线实体一般来说都由直线和弧线共同组成,根据其分段来获取每一段的信息,直线使用直线实体的获取写入方法,弧线使用弧线实体的获取写入方法获取坐标信息,最后使用IPolyline类写入Geodatabase中. ④ 对于样条曲线实体,设计文件数据中主要包括灌水管道类型或者其他类型的信息,在获取其起点、终点坐标、高程信息和控制点数量后,结合样条曲线的生成公式拟合得到一系列坐标,使用ArcGIS Engine的IPolyline接口将这些坐标点对来写入Geodatabase中. ⑤ 对于二维多段线实体,主要为边界信息数据,读取其节点的坐标并使用IPolygon写入Geodatabase中. ⑥ 对于设计文件中的填充、注记,文字实体等信息,根据需要写入对应要素的属性表中.

2.2.4 坐标系转换及配准

对于设计成果数据来说,CAD一般采用的是几何平面坐标系,而GIS则采用地理坐标系,由于应用农田电子地图需要获取要素精确的位置信息[10],可以利用在微灌工程建设初期信息收集时采用的高精度GPS采集的坐标信息来对初步构建的农田电子地图配准.

2.2.5 简化要素的补充

在遍历完微灌工程设计成果数据中的图形要素后,发现仍然存在着一些被简化省略的要素信息需要更新到电子地图中,对这些缺失的要素进行补全时,需要根据注记提供的信息写入图形要素信息,从而初步构建起完整要素的农田电子地图.

2.3 应用实例

为验证该方案的可行性,利用DWGDirect.NET类库和ArcGIS Engine二次开发编写程序,基于微灌工程设计成果数据,对农田电子地图进行初步构建,图4为转换前后数据截图.

图4 转换前后数据截图Fig.4 Data captured before and after transform

转换前利用DWGDirect.NET类库读取的CAD设计成果数据的部分预览图(见图4a),以及利用该设计成果数据初步构建补充部分管道截图(见图4b).从图中可以看到,图4a中设计数据中缺失的数据在图4b中得到补充完善,并可以对其分级进行管理.

3 结 论

1) 文中研究了基于微灌工程设计成果数据文件初步构建农田电子地图的方法,该方法利用DWGDirect.NET函数库和ArcGIS Engine二次开发技术进行程序编写实现.

2) 解决了微灌工程农田电子地图获取成本高,更新频率快的问题,为微灌工程的建设、管理和维护提供基础地图数据的支持与服务.

考虑到由于初步构建的农田电子地图属性数据还需要补充和完善,部分管道在施工时还需要进行位置修正处理,在以后的研究中还需要进行更深入的探讨.

猜你喜欢
微灌电子地图灌水
基于百度地图开放平台的导航电子地图课程实践教学研究
灌水取球
番茄灌水掌握技巧
冬季棚菜灌水四关键
电子地图在地理课堂教学中的运用
浅谈电子地图在高中地理教学中的应用
阜新地区玉米微灌节水增产关键技术研究
城市交通旅游电子地图的研究与应用分析
农业生产中滴灌与微灌的对比
灌水秘笈