1、第 17 卷 第 2 期 黑 龙 江 八 一 农 垦 大 学 学 报 17( 2) : 41 44 2005 年 4月 J.of Heilongjiang August First Land Reclamation University Apr. 2005 收稿日期:2004-10-10 项目来源:国家高技术研究发展计划(863 计划)资助项目(2003AA209090) 。 作者简介:汪春(1963-) ,男,教授,东北农业大学博士研究生毕业,现主要从事农业机械化的教学与科研工作。 文章编号: 1002-2090(2005)02-0041-04 基于 Mapobjects 的精准农业地理信息
2、系统设计与开发 汪春1,郭庆丰1,蔡德利2 (1.黑龙江八一农垦大学工程学院, 大庆 163319;2. 黑龙江八一农垦大学植物科技学院) 摘 要 : 分析 GIS 开发特点并结合精准农业技术,在 VB.NET 环 境下利用 MapObjects 和 SQL Sever 2000 数据库进行 C/S 模型的系统设计。 以友谊农场五分场二队为例介绍了实现客户/服务器模式的精准农业地理信息系统的开发。 关键词 : ADO.NET;Mapobjects ;精准农业;地理信息系统 中图分类号 : P208 文献标识码 : A Designing and Developing of Precision
3、Agriculture GIS Based on MapObjects WANG Chun, GUO Qing-feng, CAI DE-li Abstract: The GIS development characteristics were analyzed and combining precision agriculture technology the C/S model system by means of MapObjects and SQL Sever 2000 was designed with VB.NET. Taking Brigade Two of Five Branc
4、h on the YouYi Farm as an example, the C/S development of precision agriculture GIS was introduced simultaneously. Key words: ADO.NET; MapObjects; precision agriculture; GIS 0 引言 精准农业是 20 世纪 80 年代初期国际农业领域发展起来的一门跨学科新兴综合技术。其特点是应用地理信息系统将已有的土壤和作物信息资料整理分析,作为属性数据,并与矢量化地图数据一起制成具有实效性和可操作性的田间管理地理信息系统1, 2。 通过
5、 3S 技术和自动化技术的综合应用,按照田间每一块操作单元上的具体条件,相应调整投入物资和施肥量,达到减少投入、增加收入、保护农业资源和改善环境质量的目的。地理信息系统是精准农业的核心技术之一,其主要作用是:为决策和管理去组织、分析空间数据,再把这些组织在一起的数据应用于决策支持系统中,对田间的不同管理区制定不同的管理方案。即用于建立农田管理、土壤数据、自然条件、作物苗情、病虫害发展趋势、作物产量等的空间信息数据库和进行空间信息的地理统计处理分析、图形转换与表达等,为分析差异性和实施调控提供决策方案。目前我国专门的农业地理信息系统较少,而国外大型的专用软件费用很高,用于农业分析和数据管理功能的
6、仅仅是一小部分,不适合我国国情。 本文研究目的是利用组件技术和精准农业技术进行地理信息系统的研制、设计和开发,以能实际应用于农田信息管理和分析评价。 1 开发应用技术概述 1.1 地理信息系统开发模式 在开发地理信息系统的过程中,首先要考虑的是如何选择开发模式。一般来说,GIS 的开发主第 2 期 汪春等:基于 Mapobjects 的精准农业地理信息系统设计与开发 42 要有三种模式3,4: 自主设计空间数据的数据结构和数据库,利用可视化编程语言(如 VB、VC+、De lphi 等)开发GIS 产品,这种开发模式主要适用于开发商品化的 GIS 平台软件,并且对科研力量和开发经费有很高的要求
7、,对开发一些应用系统而言,开发难度太大,成本较高。 购买国内外比较先进的商业化 GIS 平台软件(如 MapInfo、Arc/Info 等),利用其提供的二次开发工具(如 MapBasic、AML、Avenue 等),结合应用目标开发。这种方法比较简单易行,但移植性差,并且受开发工具限制,不能脱离原系统软件环境而独立运行。 目前 GIS 组件与面向对象可视化编程语言集成二次开发模式,正成为 GIS 二次开发的主流。它的优点是既可以充分利用 GIS 组件对空间数据库的管理、分析功能,又可以利用可视化编程语言扩充其功能,而且可靠性好、易于移植、维护简单,便于用户掌握使用,成本低,开发周期短,可以满
8、足各类用户部门不同方面的需要。现在比较广泛使用的 GIS 组件有 MapInfo 公司的 MapX 组件、ESRI 公司的 MapObjects 组件、北京超图地图信息技术有限公司的 SurperMap 组件等。 1.2 MapObjects 组件 MapObjects2.2(简称 MO2.2)是全球最大的 GIS 厂商 ERSI 公司的 GIS 系列产品中的重要组成部分,其结构合理、简洁、易于扩充,是目前较为流行的 GIS 组件。是一组提供应用开发人员使用的制图与 GIS 功能的控件,它由一个 ActiveX 控件(AxMap 控件)和一系列可编程对象组成。在标准的 Windows 编程环境
9、下,能够与其他图形、多媒体、数据库的开发技术无缝地组成完全独立的应用系统,用户可以使用 VB、VC、Delphi 等平台进行嵌入式二次开发。利用 MapObject s2.2 组件可以方便地在应用程序中添加地图绘制、显示、以及对空间数据管理与分析等地理信息系统的基本功能。MapObjects2.2 的使用和开发过程与使用其他的 ActiveX 控件一样,在 VB.NET 的编程环境下,只要把 MapObject2.2 的 AxMap 控 件添加到应用程序当中, 就可以通过接口对 MapObjects2.2 所提供的各种功能进行调用。 1.3 VB.NET 技术 Visual Basic.NET
10、 作为 Microsoft 的新一代开发语言,更加突出了软件的易用性和智能化,无论学习和使用都更容易。集成的 ADO.NET 能够存取脱机的资料来源,完整地面向对象功能提高了用户的代码利用能力。 2 开发实例 -应用设计及开发以黑龙江省友谊农场五分场二队为基地进行 2.1 系统的结构设计 系统采用 C/S 模式设计的系统由底层数据库、功能模块、用户图形界面三部分组成。底层数据库主要包括图形数据和属性数据,通过 ADO.NET 与底层数据库进行接口访问;用户图形界面利用VB.NET 设计。系统结构如图 1 所示。 2.2 系统的功能设计 精准农业地理信息系统集 GIS 技术与专业应用功能于一体。
11、GIS 功能主要有:地图的可视化、空间分析、图形属性数据的双向查询、种植区域规划等,而专业应用功能主要包括:土壤采样方案的制定、种植决策、变量施肥处方图生成、辅助分析、影响产量因素评价等。系统功能如图 2 所示。 2.3 空间数据库和属性数据库的设计 空间数据库在用户端以 Shape 文件格式暂存。在服务端以 Shape 文件的“Shape”字段以点、线、面三种形式以二进制格式存储。 属性数据包括土壤采样数据、土壤状态数据、农业生产资料数据、种植计划和实施数据等通过第 2 期 汪春等:基于 Mapobjects 的精准农业地理信息系统设计与开发 43 E-R 模型建立属性数据库的物理模型。E-
12、R 模型如图 3 所示。 图 1 系统结构 2.4 软硬件开发环境 2.4.1 硬件环境 系统开发基础为高配置微机,内存为 256M、CPU 为 Pentium(R)4 2.0GHz 硬盘为 10G以上。结合输入、输出设备建立硬件支持环境。 2.4.2 软件环境 (1)操作平台: Windows NT4.0、Windows2000、Windows2000 服务器或 Windows XP 专业版; (2)开发平台:基于 VB.NET 2003 开发语言,用 MapObj ects 专业 2.2 组 件进行系统开发,通过 Visio2003 对属性数据进行 E-R 模型设计。利用 ADO.NET
13、组件实现程序与底层数据库的通讯; (3)数据库平台: SQL Server 2000。 精准农业地理信息系统数据输入数据处理属性查询空间分析制定采样方案生成处方图统计分析决策地图的可视化绘图测量工具报表输出打印图 2 系统功能结构 生产资料管理模块空间数据转化模块变量决策模块田间管理模块种植决策模块收获管理模块统计分析模块田间采样模块其他模块VB.NET+MapObjects2.2 图形数据 属性数据SQL Server 2000 ADO.NET 用户 第 2 期 汪春等:基于 Mapobjects 的精准农业地理信息系统设计与开发 44 品种PK BreedIdBreedNameNoteFK
14、1 CropId播种PK SowIdFK1 PlantPlanIdSowDateGrainPerM eterSow Q uantitySowW eighthSowM ethodSowSpacingSquashing地块PK PlotIdPlotName施肥方案表PK UseFertilizerIdFK2 FerPhasesIdFK 1 FertilizerIdUseQuantityMethodDepthUFDate土壤采样方案PK SchemeIdFK2 SampleIdMethodTimeStampHeaderFK1 PlotId土壤样品PK SampleIdLatitudelongitud
15、eNote土样分析项目PK AssayItemIdUnit土样分析结果PK AssayIdFK2 AssayItemIdValueFK1 SampleId田间管理PK FieldMangeIDFK1 PlantPlanIDMethodFMDateAreaLoction种植计划表PK PlantPlanIdFK2 BreedIdAreaProtectSeedlingLoctionPlantPLantDateFK 1 PlotIDYieldFK3 CropID肥料PK FertilizerIdFertilizerN am e施肥阶段PK FerPhasesIdFerPhasesFK1 PlantP
16、lanId种子处理PK SeedDisposeIdPesticideDosigeIdMethodFK1 PlantPlanId化学除草PK ChemWeedIdPesticideNameDosigeBeginDateEndDateMethodLoctionFK1 PlantPlanID种子质量PK SeedG uidlineIdFK1 PlantPlanIdBreedIdPuritykiloGrainW eightCleanRateburgeonRateDatetine肥料养分含量PK ContentIdFK2 NutrientIdFK1 FertilizerIDAmount养分PK Nutr
17、ientIdNutrientNutrientCH作物PK CropIdCropName病虫害的防治PK PCIdDiseaseNameM edicamentNameMethodTimeFK1 PlantPlanId播前整地PK Soil PreparationIdFK1 ProjectsIdAreaLoctionFK2 PlantPlanId项目PK ProjectsIdProjectsName图 3 实体关系模型 3 总结和展望 利用组件技术精准农业地理信息系统开发具有开发周期短、 成本低, 无需额外的 GIS 平台和 GIS的二次开发语言,可以与专业应用模型无缝集成等优点。VB.NET 环
18、境保护下嵌入 MapObjects 组件,可以实现 GIS 功能和专业应用功能,利用 ADO.NET 组件很容易地实现 C/S 模式断开分布式精准农业地理信息系统。 参考文献: 1 侯顺艳,王秀,薛绪掌,等.土壤精准管理变量施肥地理信息系统的应用研究 J.河北农业大学 (自然版) ,2003,23(2) :192197. 2 汪懋华.精细农业的实践与农业科技创新 J.中国软科学, 1999, (4) :2125. 3 罗津,陈植华.基于 Mapobects 的组件式 GIS 软件应用开发 J.计算机与现代化, 2004, (3) :3743. 4 刘光,刘晓东. 地理信息系统二次开发教程VB .NET 和 MapObjects 实现M.北京: 清华大学出版社 ,2004.