基于GIS的农业面源污染数据管理与查询系统设计方案Word文档格式.docx
《基于GIS的农业面源污染数据管理与查询系统设计方案Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于GIS的农业面源污染数据管理与查询系统设计方案Word文档格式.docx(43页珍藏版)》请在冰豆网上搜索。
其中,地下淋溶试验点14个,包括大田9个,保护地菜田3个,露地菜田2个;
地表径流监测试验点21个,包括水田3个,水旱轮作4个,旱地平原5个,坡耕地9个。
表1-1种植业源污染物流失系数测算一般监测试验点分布表
实施
地点
1、地下淋溶监测点数量(个)
2、地表径流监测点数量(个)
大田
保护地菜田
露地
菜田
果园
小计
水田
水旱
轮作
旱地
平原
坡耕地
坡度
5-15°
>15°
北京
1
2
6
天津
河北
4
3
11
河南
内蒙古
山西
5
山东
15
黑龙江
吉林
辽宁
陕西
7
甘肃
9
8
宁夏
新疆
新疆兵团
青海
上海
浙江
10
江苏
安徽
湖北
23
湖南
江西
13
海南
福建
12
四川
16
贵州
云南
重庆
广西
广东
大连
青岛
深圳
南京
1
合计
47
40
31
22
140
46
51
57
42
36
232
表1-2种植业源污染物流失系数测算重点监测试验点分布表
监测类型
序号
农田类型
备注
地表径流
双季稻
单季稻
水旱轮作
稻-麦/油
旱地平原
甘蔗
棉花
露地蔬菜
旱坡地>15°
14
旱坡地,梯田
17
旱坡地5-15°
18
19
20
21
西藏
地下淋溶
日光温室
24
25
露地菜田
26
27
大豆
28
玉米
29
30
小麦|玉米
小麦-玉米
32
33
34
35
水稻-油菜
1.4.3监测方法
本系统进行农业面源数据分析的数据,是经过污染源调查的试验而得到的数据结果。
以下是对污染源调查试验的简单概述。
(1)选点原则
①代表性。
监测地块的土壤类型、地块坡度、种植制度、耕作方式、栽培模式、灌排方式等在各大分区中要有一定代表性,地块土壤肥力和作物产量水平应能够代表所在区域的正常水平。
②可操作性。
监测点的选择要兼顾交通、工程建设和监测设施维护。
③安全性。
为确保不受到人为破坏、土地征用或土地使用纠纷,重点监测试验点最好设在有独立产权的试验站或农场。
(2)试验处理
肥料流失系数测算试验可分为一般监测试验和重点监测试验;
按方案内容不同,肥料流失系数测算试验可分为地下淋溶监测试验和地表径流监测试验。
各类监测试验的处理分述如下:
①一般监测试验
一般监测试验共设试验点372个,全国各个省、市、区基本上均有分布(表1-1),监测周期为1年。
地下淋溶监测试验和地表径流监测试验均设置两个处理,分别为:
处理1对照处理,不施任何肥料。
处理2常规处理,肥料施用量、施用方法和施用时期完全遵照当地农民生产习惯。
每个处理设3次重复,每个监测点共计6个小区。
小区面积、形状、规格完全相同,小区面积不小于20m2。
建议平原区小区规格为4m×
6~8m,山地丘陵区小区规格为3~4m×
8~10m。
两个处理除施肥不同以外,其它田间管理措施完全相同。
②重点监测试验
重点监测试验共设监测点35个,分布在全国23个省、市、区。
主要目的在于尽可能减少由于自然和人为偶然因素所造成的误差,提高肥料和农药流失系数的测算精度。
地下淋溶和地表径流重点监测试验点设置5~6个处理,其中对照和常规两个处理与一般监测试验完全相同;
其余4个处理的内容围绕施肥、灌溉、耕作、秸秆覆盖、坡地种植方向等对肥料流失系数影响较为显著的农艺管理措施设置,目的在于探明种植业源污染物流失规律和主控因素。
每个试验点的处理内容可根据当地农业生产实际情况确定,但同一种植制度、各个重点监测试验点之间的处理内容应保持一致。
重点监测试验设3次重复,小区规格、排列方式、径流池或淋溶盘安装位置均可参照一般监测试验。
(3)监测点建设
依据肥料污染的迁移途径,监测点建设可分为两种类型:
①地表径流监测试验
地表径流是南方湿润平原区、北方高原山地区和南方山地丘陵区肥料流失的主要途径。
地表径流的监测方法主要考虑便于监测、计算径流水量、泥沙流失量以及氮、磷流失量。
在综合比较各种方法优缺点的基础上,本项目采用径流池法监测肥料通过地表径流流失的数量。
②地下淋溶监测试验
地下淋溶是东北半湿润平原区、西北干旱半干旱平原区和黄淮海半湿润平原区肥料流失的主要途径。
在设计监测方法时主要考虑便于采集、计算淋溶水量。
在综合比较各种方法优缺点的基础上,本项目采用田间原位渗漏计方法监测地下淋溶。
(4)监测周期
地下淋溶和地表径流试验监测周期均为一年,不仅包括作物生重点,也包括休闲期。
监测起始时间一般为某种作物播种日,结束时间为翌年同一天。
(5)肥料流失系数测算方法
以地表径流(或地下淋溶)途径流失的氮、磷数量等于整个监测周期中(一个完整的周年)各次径流水中污染物浓度与径流水(或淋溶水)体积乘积之和。
计算公式如下:
P=
其中:
P为污染物流失量(mg)
Ci为第i次径流(或淋溶)水中氮、磷的浓度;
Vi为第i次径流(或淋溶)水的体积(cm
)
肥料流失系数的表示方法,以流失率(%)表示,以氮素为例,计算公式如下:
肥料氮素流失率(%)=
1.5技术路线
系统开始于目标和任务的确定,随后进行数据图件统计资料的收集入库,通过数据库统一管理空间数据和属性数据,然后在这些数据的基础上实现各个模块的功能,最后进行整个系统的集成。
工作流程图如图1-1.
图1-1工作流程图
1.6开发平台和开发方式的选择
1.6.1开发环境和开发方式的确定
(1)在编程语言方面,选用Java语言。
(2)在数据库软件方面,选用SQLSever2000作为数据库建立平台。
(3)在GIS软件方面,选用ArcgisEngine进行开发。
(4)开发方式选择集成二次开发。
1.6.2相关工具和开发方式的介绍
(1)Java语言
Java是一种可以编写跨平台应用软件的面向对象的程序设计语言[1],提供了丰富的数据库访问技术,可以方便地与一些大型数据库软件如SQLSever2000、Oracle等连接,Java应用具有无比的健壮性和可靠性。
(2)SQLServer2000数据库
SQLSever2000具有实用性、易扩展性和安全性等优点,且在Windows系列操作系统上具有最佳的表现和整合性。
(3)ArcgisEngine
ArcGISEngine是用于构建定制应用的一个完整的嵌入式的GIS组件库,这些GIS组件可以在ArcgisDesktop框架之外使用。
利用ArcGISEngine,开发者能将ArcGIS功能集成到一些应用软件,还可以为用户提供针对GIS解决方案的定制应用。
ArcGISEngine可以在Windows,UNIX,和Linux桌面上运行并支持一系列的应用软件开发环境。
除了支持COM环境之外,ArcGISEngine还支持C++,.NET(C#),Java和Delphi,使开发者能够跨操作系统、选择多种开发构架,通过ArcGISEngine进行开发[2]。
(4)开发方式介绍
应用型地理信息系统主要由以下三种方式来实现:
①独立开发方式,不依赖于GIS工具软件,从空间数据的采集、编辑到数据的处理分析及结果的输出,所有的算法都由开发者选择某种程序设计语言:
如VisualBasic,VisualC++,Delphi,Java等,在一定的操作系统平台上自我编程实现。
②单纯二次开发,完全借助于GIS工具软件提供的开发语言进行应用系统开发,如ESRI的Arcview提供的Avenue语言,Mapinfo公司研制的MapinfoProfes2sional提供的MapBasic语言等,用户利用这些宏语言,以原GIS工具软件为开发平台,开发出自己的针对不用应用对象的应用程序。
③集成二次开发,集成二次开发是指利用专业GIS工具软件,如Arc2view,Mapinfo,SupermapObjects等,实现GIS的基本功能,以通用可视化开发工具为开发平台,进行二者的集成开发。
GIS的独立开发难度大,单纯二次开发受GIS工具提供的编程语言限制而差强人意,而结合组件式GIS工具软件与可视化语言的集成二次开发方式,既可以充分利用GIS软件对空间数据库的管理、分析功能,又可以利用可视化语言高效便利的编程优点,集二者之所长,在提高运用系统开发效率的同时具有更好的外观效果、更强大的数据库功能,而且可靠性好、易于移植、便于维护[3]。
2数据库设计
数据库是系统的核心部分,数据库(DataBase)是以一定的组织方式存储在一起的相互关联的数据集合,数据库组织数据的好坏,直接影响到以后读取数据库和系统运行的效率。
因此,我们在使用数据库之前,必须对数据库进行设计。
数据库设计(DatabaseDesign)是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。
数据库设计的目的是为了最大限度地减少数据冗余,增强数据间的联系,实现对数据的合理组织和灵活存取。
2.1基础数据库设计
在本系统中,采用SQLSever2000作为基础数据库。
用到的基本表有两个。
分别是监测点基本信息表(如表2-1)和肥料流失系数测算结果表(如表2-2)。
在数据库中对以上两个基本信息表建立了视图,通过视图来实现数据管理,实现对数据的添加、删除和修改等操作。
视图是从基本表里导出的表。
它与基本表的不同之处是它是一个虚表。
在数据库中只存放视图的定义,不存放视图对应的数据,对视图的操作,最终都要转换为对基本表的操作。
在本论文中,将监测点基本信息和肥料流失系数的测算结果建立视图,是为了得到一个监测点肥料流失情况的详细信息,方便管理员对数据进行管理。
视图主要包括的字段:
地块代码,处理号,所属分区,地形,梯田否,种植方向,利用类型,种植模式,监测点类别,监测类别,经度,纬度,施用化肥N含量(公斤/亩),施用化肥P含量(公斤/亩),施用有机肥N含量(公斤/亩),施用有机肥P含量(公斤/亩),施肥含N总量(公斤/亩),施肥含P总量(公斤/亩),N流失总量(公斤/亩),P流失总量(公斤/亩),N相对流失总量(公斤/亩),P相对流失总量(公斤/亩),N流失系数(%)和P流失系数(%)。
表2-1监测点基本信息表
属性名
数据类型
长度
含义
landno
char
地块代码
area
所属分区
terrain
地形
yn
梯田否
plantdir
种植方向
usetype
利用类型
plantmodule
种植模式
dottype
监测点类别
monitortype
监测类别
longitude
经度
latitude
纬度
stexture
土壤质地
landform
地貌类型
fertilizer
肥力水平
soilname
土壤名称
表2-2肥料流失测算结果表
dealno
int
处理号
usefn
float
施用化肥N含量(公斤/亩)
usefp
施用化肥P含量(公斤/亩)
useorgn
施用有机肥N含量(公斤/亩)
useorgp
施用有机肥P含量(公斤/亩)
usesumn
施肥含N总量(公斤/亩)
usesump
施肥含P总量(公斤/亩)
flowsumn
N流失总量(公斤/亩)
flowsump
P流失总量(公斤/亩)
reflown
N相对流失总量(公斤/亩)
reflowp
P相对流失总量(公斤/亩)
ncoefficient
N流失系数(%)
pcoefficient
P流失系数(%)
2.2GIS数据库设计
GIS数据库是某区域内关于一定地理要素特征的数据集合,主要涉及对图形和属性数据的管理和组织。
它与一般数据库相比,具有以下特点:
(1)GIS数据库不仅有与一般数据库数据性质相似的地理要素的属性数据,还有大量的空间数据,即描述地理要素空间分布位置的数据,并且这两种数据之间具有不可分割的联系。
(2)地理系统是一个复杂的巨系统,要用数据来描述各种地理要素,尤其是地理的空间位置数据量往往大得惊人,即使是一个极小区域的数据库也是如此。
(3)数据的应用相当广,如地理方案、环境保护、土地利用与规划、资源开发、生态环境、市政管理、道路建设等等。
GIS数据库中存放了大量的空间数据。
空间数据是用来表示空间实体的位置、形状、大小及其分布特征诸多方面信息的数据,它可以用来描述来自现实世界的目标,它具有定位、定性、时间和空间关系等特性。
定位是指在已知的坐标系里空间目标都具有唯一的空间位置;
定性是指有关空间目标的自然属性,它伴随着目标的地理位置;
时间是指空间目标是随时间的变化而变化;
空间关系通常一般用拓扑关系表示。
空间数据是一种用点、线、面以及实体等基本空间数据结构来表示人们赖以生存的自然世界的数据。
在本系统中,将空间数据存储于shape文件中。
shape文件包括一个主文件,一个索引文件,和一个dBASE表,这三个文件是构成shape文件所必备的文件。
三个文件具体用途如下:
(1)主文件,即.shp格式的文件,存储的空间实体
(2)索引文件,即.shx格式的文件,存储的是shp文件中空间实体的索引。
(3)dBASE表,即.dbf格式的文件,是属性数据格式,存储的是每一个空间实体对应属性数据表。
在本系统中,使用了ArcGISDesktop中的ArcMapWindows桌面应用。
用ArcMap最终实现了将两类监测点按不同的颜色和形状显示在中国地图上。
首先通过ArcMap中的Tools中的AddXYData的菜单项,实现了按照经纬度生成点要素。
再通过右击图层,在弹出的LayerProperties对话框中,选择Symbology按钮,再通过左边显示栏里的Uniquevalues对点要素进行单值渲染,从而才实现将一般监测点和重点监测点按不同过的颜色和形状显示。
经过这些操作以后,shape文件中就生成了四个文件来存储这些空间数据。
其中的三个文件就是以上所介绍的构成shape文件所必备的文件,还有一个是.prj格式的文件,存储的是定义坐标系统的信息。
3系统设计与实现
3.1系统目标及设计原则
本系统的目标是将农业面源数据科学存储,图文并茂地显示农业面源概况,方便快捷地查询相关信息,并将查询结果以对话框的形式输出。
因此,在整个系统的设计过程中,遵循以下原则:
(1)共享性原则。
本系统将涉及到的农业面源的数据标准化、规范化,方便资源共享。
(2)稳定性原则。
系统开发遵循实际管理需要,要求系统稳定可靠的运行,且可视化强,人机交互界面友好,易于操作和维护。
(3)安全性原则。
在保证数据的共享性,独立性和完整性的基础上,对不同的用户赋予不同的管理权限,以保证数据的安全性。
(4)可扩展性原则。
由于采用了基于工业标准的全组件式GIS软件ArcgisEngine作为主控平台的二次开发平台,具有强大的二次开发能力,并且不需要掌握特殊的开发语言就可以利用常见的软件开发语言如java、VB、VC、Delphi、.NET等灵活地进行扩展开发,