论文部分内容阅读
[摘 要]针对当前果园“丰水高产”灌溉理论存在的问题,以果园土壤墒情信息、果园水分动态监测信息、果树生长需水信息为基础,利用Web技术、GIS技术及数据库等技术进行设计实现了果园灌区需水量预报的系统。本文首先简述了系统开发及运行环境、系统功能结构以及数据库设计;然后重点介绍了系统实现中的技术关键,主要是果园地图的数字化、需水量计算模型的确定、果园地图加载及管理以及需水量预报的直观显示。最后总结本系统优点及不足,指出进一步研究方向。
[关键词]WebGIS 果园需水量 MapXtreme组件 .NET技术
中图分类号:TG333.7 文献标识码:A 文章编号:1009-914X(2013)17-601-02
1 引言
我国果树栽培面积和产量均居世界首位。从我国优质苹果、梨、桃、枣和葡萄等北方主要果树的分布来看,品质较好的主要分布在年降雨量500mm左右及其以下的地区,有限的水资源在时空上分布很不均匀,南多北少,东多西少;夏秋多,冬春少,占国土面积50%以上的华北、西北、东北地区的水资源量仅占全国水资源总量的20%左右,这些区域地形条件复杂、灌溉成本高。目前这些地区的果园多按照“丰水高产”的理论采用大水漫灌、多次灌溉、超量灌溉,造成树冠营养生长旺盛、土壤板结以及养分流失,果树病害严重,果实品质下降,严重降低了水资源的利用效率。鉴于上述问题,在统筹考虑和优化配置周年光温水肥资源的基础上,以节水为重点,以优质高效为目标,研究建立信息技术下的果园节水灌溉技术已势在必行。因此以土壤墒情信息、果园水分动态监测信息与果树生长信息的结合为基础,运用计算机技术、数据库技术、网络技术及GIS 空间信息处理技术来进行研究和开发,构建一个精量控制灌溉的预报与决策支持系统,从而为果园管理人员和用户提供帮助和决策支持。
2 系统整体设计
2.1 系统开发与运行环境
操作系统:Windows XP Professional SP3;开发工具:Microsoft .NET Framework 3.5,Visual Studio 2008,MapXtreme 2008 SDK;开发语言:C#;数据库:Microsoft SQL Server 2005;应用服务器:IIS 5.1;浏览器:Internet Explorer 6.0;制图软件:MapInfo Professional 7.8。
2.2 系统功能模块设计
果园需水量预报系统是以果园内灌水区土壤墒情信息和果树不同生长时期信息为基础,利用需水量计算模型计算出各个灌水区的精确需水量,并能形象直观的预报需求情况。根据功能需求,确定系统功能结构如图1所示:
2.3数据库设计
本系统中用户可以形象直观的查看和管理果园内各个灌水区的基本信息和需水量信息,其中需水量信息主要是依靠果园灌区土壤含水量信息和果树不同生长时期需水情况计算而来。所以本系统所需要的数据包括:果园基本地图空间数据和果园土壤含水量数据、果树数据、模型数据、专家知识等属性信息。
(1)空间数据库:主要存储果园内各地块的地理信息,包括地块标识ID、种植类型、地块面积等信息,为Mapinfo软件中标准的表文件。果园地图是将Google卫星地图放大到足够清晰后抓图配准数字化得到的。
(2)属性数据库:主要包括用户信息表、种植类型表、周年灌溉时期表、土壤基本参数表、数据采样表。其中,用户信息表存储系统中各个用户的个人信息;种类类型表存储果园内果树的种植类型;周年灌溉时期表存储不同种植类型的各个重要灌溉时期;土壤基本参数表存储不同种植类型的不同灌溉时期的最大土壤含水量和最小土壤含水量以及灌溉深度等信息;数据才样表存储的是每次对土壤采样的实际数据,以及根据计算模型得到的需水量数据;
3 系统主要功能实现
本系统的实现过程中,主要关键技术包括:果园地图数字化、需水量计算模型的确定、果园地图加载及管理、需水量可视化显示。
3.1 果园地图数字化
由于果园面积不大,在我们省市县的行政区划图中找不到,所以我们采用了下述方法:
(1)利用Google卫星地图,将果园所在区域进行放大,获取果园区域图片信息;
(2)以果园区域图片为背景,利用MapInfo Professional 7.8 桌面软件进行配准;
(3)以相对坐标配准后,利用MapInfo Professional 7.8 桌面软件进行图层绘制,主要图层包括:地块层、道路层、边界层、地块需水量层。
3.2 果园需水量计算模型的确定
对果园灌区各地块的需水量计算采用土壤计划湿润层水量平衡法的计算公式,具
体计算公式为:
显示 Map 对象实例并向地图上的工具交互作出响应。在后台,可以通过使用MapControl 的 MapAlias 属性从 MapFactory 获得该 Map对象。每个 Map 对象均有一个 MapAlias,例如Map1。在运行时,MapControl 可显示源自于 MapFactory 的地图,只需使用该地图的MapAlias 属性即可。
(2)果园数字化地图加载
要在 Web 应用程序中加载地图,就要使用 MapXtreme Web 控件MapControl。
首先,创建 MapXtreme Web 应用程序,并选择MapXtreme Web 应用程序模板。MapControl控件已经内置到MapXtreme Web 应用程序中。
然后,在应用程序的 web.config 文件中,為预加载进的MapControl指定路径及包含地图图层的工作空间的名称,代码如下:
应用程序需要的多个地图可能存在于一个或多个工作空间中,每个地图的 MapAlias 属性均是唯一的。要在 web.config 文件中预载多个工作空间,要在每个工作空间的完整路径之间使用分号。
最后,为所有地图工具、LayerControl、LegendControl 设置MapControlID 属性,以指向合适的 MapControl。
3.4需水量查询模块
需水量查询模块主要实现了果园内各地块需水量的可视化显示和定量描述。本功能实现的关键技术是需水量的可视化显示;其中需水量的可视化显示是根据某一时期内采样数据与土壤最大土壤含水量和最小含水量进行比较判断后实现的,核心代码如下:
for(int i = 0;i < da.Rows.Count;i ++)
{
average = float.Parse(da.Rows[i]["Average"].ToString());
maxwater = float.Parse(da.Rows[i]["Max_moisture"].ToString());
minwater = float.Parse(da.Rows[i]["Min_moisture"].ToString());
if(average >= maxwater)
{
SearchInfo si = MapInfo.Data.SearchInfoFactory.SearchWhere("id = "+ da.Rows[i]["DK_ID"]);
use_style(Color.Blue,si,dikuai);
}
else if((average >=(minwater + maxwater)/ 2)&& average < maxwater)
{
SearchInfo si = MapInfo.Data.SearchInfoFactory.SearchWhere("id = "+ da.Rows[i]["DK_ID"]);
use_style(Color.Green,si,dikuai);
}
else if((average <(minwater + maxwater)/ 2)&& average >= minwater)
{
SearchInfo si = MapInfo.Data.SearchInfoFactory.SearchWhere("id = "+ da.Rows[i]["DK_ID"]);
use_style(Color.YellowGreen,si,dikuai);
}
else if(average < minwater &&(average >=(minwater - 0.1)))
{
SearchInfo si = MapInfo.Data.SearchInfoFactory.SearchWhere("id = "+ da.Rows[i]["DK_ID"]);
use_style(Color.Yellow,si,dikuai);
}
else
{
SearchInfo si = MapInfo.Data.SearchInfoFactory.SearchWhere("id = "+ da.Rows[i]["DK_ID"]);
use_style(Color.Red,si,dikuai);
}
4 结论
本系统以果园灌水区的土壤墒情信息、果园水分动态监测信息以及果树不同生长阶段需水信息为基础,运用Web技术、数据库技术和GIS技术开发实现了果园需水量的精准预报系统。该系统界面友好,使用简单,管理人员和用户可以及时、直观的管理和查询果园灌水区的需水情况,为用户和管理人员提供决策支持。果园灌区需水量与各种因素密切相关,本系统仅是基于土壤墒情信息和果树生长阶段信息来设计实现的,今后如能将系统与气象部门的数据库结合,将果园灌区需水量和实时气象数据、预报的气象信息综合分析,必将极大提高果园需水量预报和决策水平。本系统的示范应用有助于现代农业节水技术的大力推广,大大促进高效生态农业的實现,对于节约用水、指导我国农业抗旱减灾和进行适时适量灌溉都具有重要意义。
[关键词]WebGIS 果园需水量 MapXtreme组件 .NET技术
中图分类号:TG333.7 文献标识码:A 文章编号:1009-914X(2013)17-601-02
1 引言
我国果树栽培面积和产量均居世界首位。从我国优质苹果、梨、桃、枣和葡萄等北方主要果树的分布来看,品质较好的主要分布在年降雨量500mm左右及其以下的地区,有限的水资源在时空上分布很不均匀,南多北少,东多西少;夏秋多,冬春少,占国土面积50%以上的华北、西北、东北地区的水资源量仅占全国水资源总量的20%左右,这些区域地形条件复杂、灌溉成本高。目前这些地区的果园多按照“丰水高产”的理论采用大水漫灌、多次灌溉、超量灌溉,造成树冠营养生长旺盛、土壤板结以及养分流失,果树病害严重,果实品质下降,严重降低了水资源的利用效率。鉴于上述问题,在统筹考虑和优化配置周年光温水肥资源的基础上,以节水为重点,以优质高效为目标,研究建立信息技术下的果园节水灌溉技术已势在必行。因此以土壤墒情信息、果园水分动态监测信息与果树生长信息的结合为基础,运用计算机技术、数据库技术、网络技术及GIS 空间信息处理技术来进行研究和开发,构建一个精量控制灌溉的预报与决策支持系统,从而为果园管理人员和用户提供帮助和决策支持。
2 系统整体设计
2.1 系统开发与运行环境
操作系统:Windows XP Professional SP3;开发工具:Microsoft .NET Framework 3.5,Visual Studio 2008,MapXtreme 2008 SDK;开发语言:C#;数据库:Microsoft SQL Server 2005;应用服务器:IIS 5.1;浏览器:Internet Explorer 6.0;制图软件:MapInfo Professional 7.8。
2.2 系统功能模块设计
果园需水量预报系统是以果园内灌水区土壤墒情信息和果树不同生长时期信息为基础,利用需水量计算模型计算出各个灌水区的精确需水量,并能形象直观的预报需求情况。根据功能需求,确定系统功能结构如图1所示:
2.3数据库设计
本系统中用户可以形象直观的查看和管理果园内各个灌水区的基本信息和需水量信息,其中需水量信息主要是依靠果园灌区土壤含水量信息和果树不同生长时期需水情况计算而来。所以本系统所需要的数据包括:果园基本地图空间数据和果园土壤含水量数据、果树数据、模型数据、专家知识等属性信息。
(1)空间数据库:主要存储果园内各地块的地理信息,包括地块标识ID、种植类型、地块面积等信息,为Mapinfo软件中标准的表文件。果园地图是将Google卫星地图放大到足够清晰后抓图配准数字化得到的。
(2)属性数据库:主要包括用户信息表、种植类型表、周年灌溉时期表、土壤基本参数表、数据采样表。其中,用户信息表存储系统中各个用户的个人信息;种类类型表存储果园内果树的种植类型;周年灌溉时期表存储不同种植类型的各个重要灌溉时期;土壤基本参数表存储不同种植类型的不同灌溉时期的最大土壤含水量和最小土壤含水量以及灌溉深度等信息;数据才样表存储的是每次对土壤采样的实际数据,以及根据计算模型得到的需水量数据;
3 系统主要功能实现
本系统的实现过程中,主要关键技术包括:果园地图数字化、需水量计算模型的确定、果园地图加载及管理、需水量可视化显示。
3.1 果园地图数字化
由于果园面积不大,在我们省市县的行政区划图中找不到,所以我们采用了下述方法:
(1)利用Google卫星地图,将果园所在区域进行放大,获取果园区域图片信息;
(2)以果园区域图片为背景,利用MapInfo Professional 7.8 桌面软件进行配准;
(3)以相对坐标配准后,利用MapInfo Professional 7.8 桌面软件进行图层绘制,主要图层包括:地块层、道路层、边界层、地块需水量层。
3.2 果园需水量计算模型的确定
对果园灌区各地块的需水量计算采用土壤计划湿润层水量平衡法的计算公式,具
体计算公式为:
显示 Map 对象实例并向地图上的工具交互作出响应。在后台,可以通过使用MapControl 的 MapAlias 属性从 MapFactory 获得该 Map对象。每个 Map 对象均有一个 MapAlias,例如Map1。在运行时,MapControl 可显示源自于 MapFactory 的地图,只需使用该地图的MapAlias 属性即可。
(2)果园数字化地图加载
要在 Web 应用程序中加载地图,就要使用 MapXtreme Web 控件MapControl。
首先,创建 MapXtreme Web 应用程序,并选择MapXtreme Web 应用程序模板。MapControl控件已经内置到MapXtreme Web 应用程序中。
然后,在应用程序的 web.config 文件中,為预加载进的MapControl指定路径及包含地图图层的工作空间的名称,代码如下:
应用程序需要的多个地图可能存在于一个或多个工作空间中,每个地图的 MapAlias 属性均是唯一的。要在 web.config 文件中预载多个工作空间,要在每个工作空间的完整路径之间使用分号。
最后,为所有地图工具、LayerControl、LegendControl 设置MapControlID 属性,以指向合适的 MapControl。
3.4需水量查询模块
需水量查询模块主要实现了果园内各地块需水量的可视化显示和定量描述。本功能实现的关键技术是需水量的可视化显示;其中需水量的可视化显示是根据某一时期内采样数据与土壤最大土壤含水量和最小含水量进行比较判断后实现的,核心代码如下:
for(int i = 0;i < da.Rows.Count;i ++)
{
average = float.Parse(da.Rows[i]["Average"].ToString());
maxwater = float.Parse(da.Rows[i]["Max_moisture"].ToString());
minwater = float.Parse(da.Rows[i]["Min_moisture"].ToString());
if(average >= maxwater)
{
SearchInfo si = MapInfo.Data.SearchInfoFactory.SearchWhere("id = "+ da.Rows[i]["DK_ID"]);
use_style(Color.Blue,si,dikuai);
}
else if((average >=(minwater + maxwater)/ 2)&& average < maxwater)
{
SearchInfo si = MapInfo.Data.SearchInfoFactory.SearchWhere("id = "+ da.Rows[i]["DK_ID"]);
use_style(Color.Green,si,dikuai);
}
else if((average <(minwater + maxwater)/ 2)&& average >= minwater)
{
SearchInfo si = MapInfo.Data.SearchInfoFactory.SearchWhere("id = "+ da.Rows[i]["DK_ID"]);
use_style(Color.YellowGreen,si,dikuai);
}
else if(average < minwater &&(average >=(minwater - 0.1)))
{
SearchInfo si = MapInfo.Data.SearchInfoFactory.SearchWhere("id = "+ da.Rows[i]["DK_ID"]);
use_style(Color.Yellow,si,dikuai);
}
else
{
SearchInfo si = MapInfo.Data.SearchInfoFactory.SearchWhere("id = "+ da.Rows[i]["DK_ID"]);
use_style(Color.Red,si,dikuai);
}
4 结论
本系统以果园灌水区的土壤墒情信息、果园水分动态监测信息以及果树不同生长阶段需水信息为基础,运用Web技术、数据库技术和GIS技术开发实现了果园需水量的精准预报系统。该系统界面友好,使用简单,管理人员和用户可以及时、直观的管理和查询果园灌水区的需水情况,为用户和管理人员提供决策支持。果园灌区需水量与各种因素密切相关,本系统仅是基于土壤墒情信息和果树生长阶段信息来设计实现的,今后如能将系统与气象部门的数据库结合,将果园灌区需水量和实时气象数据、预报的气象信息综合分析,必将极大提高果园需水量预报和决策水平。本系统的示范应用有助于现代农业节水技术的大力推广,大大促进高效生态农业的實现,对于节约用水、指导我国农业抗旱减灾和进行适时适量灌溉都具有重要意义。