专利名称::一种构建综合农业环境信息数据库的方法
技术领域:
:本发明属于计算机与农业信息集成化
技术领域:
,涉及一种构建综合农业环境信息数据库的方法。
背景技术:
:环境信息系统是环境科学、计算机技术科学及信息技术科学等学科相结合的产物,数据库技术作为环境信息系统底层数据管理平台技术,为环境信息系统的发展奠定了坚实基础。目前国内外综合农业环境信息数据库的开发存在一些实质性的不足,表现在入库数据格式不一,数据编码缺乏完整、统一规范;数据丰度不足,且数据集成程度低;数据库建库方案无确定标准,技术路线缺乏普适性;数据库分布式管理问题未能优化解决,农业环境信息数据共享水平不高,数据挖掘与利用程度相对较差。环境信息系统实施的重点工程在于基础数据库平台的构建,当前环境信息数据库构建机制的研究热点和难点依然在于数据标准化、空间数据组织与管理、数据一体化与无缝连接技术以及数据分布式管理等问题上。综合农业环境信息数据库构建标准方案设计是环境信息系统在农业环境信息管理领域的技术实现,在优化解决当前环境信息系统数据库相关难点的基础上,为农业环境信息标准化管理提供优化技术实现规范。
发明内容本发明的目的在于提供一种构建综合农业环境信息数据库的方法,该构建综合农业环境信息数据库的方法实用性强、针对性强、普适性好,为农业信息的综合集成应用提供强大的信息支持。本发明的技术解决方案如下一种构建综合农业环境信息数据库的方法,其特征在于,该综合农业环境信息数据库包括4个子库一股属性数据子库、空间数据子库、视频音像数据字库以及模型子库;—股属性数据子库的构建方法为先设置属性数据表的实体-联系图以表明各个属性数据之间的层次和关联关系;再定义属性数据表的结构,属性数据表的结构包括字段名、字段数据类型、字段长度、字段是否为主键以及字段描述;最后再设置元数据表,元数据表用于说明所有属性数据表、视图及触发器基本信息。视图及触发器是一股数据库中的常用技术。空间数据子库的构建方法为对农业环境信息空间数据进行数字化处理,即获得矢量式农业环境信息地图数据,所述的矢量式农业环境信息地图数据包括对研究区域区位边界图、农业环境信息专题地图数据,将这些需要以空间数据形式存储和应用的数据矢量化,统一格式以及数据内部协调存储机制,然后将这些矢量化数据借助开发软件空间数据库引擎SDE按照逻辑关系分类分层存储,从而建立统一的空间数据图层体系,形成空间数据子库;视频音像数据子库的构建方法为基于关系数据库管理系统的计算机辅助编程设计存储法,即通过先在关系数据库管理系统中建立相应表,设置视频音像数据的相关信息字段,然后通过语言编程实现数据的存储、读取以及调用,该方法为现有常用技术。模型子库的构建过程以地理信息系统GIS组件及开发工具空间数据库引擎SDE中的现有模型为基础,构造模型子库。具体为,以地理信息系统GIS及开发工具空间数据库引擎SDE中的现有模型为基础,根据应用需要选取相关农业问题处理模型,结合辅助编程给予模型计算机理实现,模型在代码中以类的形式存在并被程序有机引用,从而形成具有综合计算和分析能力的模型子库。所述的综合农业环境信息数据库基于关系数据库管理系统SQLServer软件环境以及和空间数据库引擎SDE工具构建。对构建综合农业环境信息数据库中的空间数据、多媒体数据、模型数据及属性数据表结构中设置标识号关键字,进一步增强数据的互操作灵活性。一股属性数据子库的构建方法为通过在关系型数据库管理系统SQLserver中设置二维数据表存储与管理农业环境信息属性数据空间数据子库的构建方法则是通过空间数据库引擎(SDE)实现空间数据在关系数据库中的有效存储,然后通过SDE分类分层建立管理逻辑来构建;视频音像数据子库则是通过在关系数据库管理系统中设置对应的属性数据表,存储数据相关信息,然后辅助语言编程实现该类型数据的完全存储、读取与调用;模型数据子库则是以开发工具SDE中现有的数据模型与分析模型为基础,选取农业问题中相关的科学计算模型,通过语言编程基于每个模型以类为单位进行计算机语言表达,以实现整个系统程序中对模型的有机调用。有益效果本发明相对有效地组织了目前农业信息系统应用的主要数据类型,实现了农业数据库体系的灵活架构及综合农业数据信息存储和融合。与现有技术相比,本发明具有以下创新性第一个方面是农业环境信息数据库的体系结构,本发明针对当前高层次农业环境信息系统对底层数据质量的要求,利用组合创新思想,在现代计算机技术与信息技术的现有成果基础上,提出一种SQLServer+SDE的综合农业环境数据库建库机制,该机制巧妙运用SDE的空间数据管理能力及SQLServer的海量数据存储与管理能力,创新性的将两种工具有机融合,更加优化的实现了农业环境信息中空间数据与属性数据的高效入库存储和互操作。第二个方面是海量、复杂综合农业环境信息数据的组织的有效存储与组织。一直以来,农业环境信息中的非结构化数据信息量大且在农业信息系统决策中的作用巨大,但该类型数据存储、调用及其互操作问题成为农业数据库开发中的技术难点问题。本发明在技术实现中结合语言编程,通过在SQLServer数据库管理系统中设置相应属性表及合适字段,对多媒体数据,模型数据等非结构化数据进行存储和管理,较好的解决了农业数据库中难点问题,使得农业数据库中数据类型更加全面,更加丰富。第三个方面是数据库互操作机制的强化。数据互操作机制在属性数据之间已经得到比较好的解决,但在空间数据、多媒体数据、模型数据与属性数据相互之间却没有一个标准化,高效化的解决方案,本发明采取在空间数据、多媒体数据、模型数据及属性数据表结构中设置关键字_BS(标识号),由此来实现了空间对象与属性信息间的一一对应关系,加强异构数据间的联系,为互操作提供技术纽带。此外,本发明在技术实现原理上还具有以下优点1、技术实现标准化、规范化。本发明从数据库编码规范出发,参照国家及业界公认的数据编码标准对综合农业环境信息进行严格的数据整理与编码,保证数据在入库前得到有效而明确的分类,从而为数据库子库的设计奠定基础。目前环境信息系统研究领域普遍存在的问题之一是数据标准化程度差,而标准化又是影响数据库在数据挖掘与共享等方面性能的重要因素。本发明在路线与方法设计时,充分考虑数据标准化与共享问题,在数据分类与编码、入库数据格式规范、开发工具的选择与配置等方面引进规范化与标准化思想,灵活采用和协调行业标准,使之能够有机融合并互补,最大程度上优化数据库共享性能。2、开发工具高效化、先进化。提出一种好的机制与方法,必须基于先进、高效的开发工具,本发明拟采用的开发工具为SQLSerVer、C#,引进的技术为基于Ice的混合层次空间数据库引擎技术以及空间数据模型优化技术。工具成熟且公众影响范围大,技术先进,能够较好解决综合环境信息数据库中空间数据组织与管理这一关键性问题。综合考察,所选取的一系列工具与技术的组合,具有较好的协调工作性能,运行的环境开放,综合数据存储与管理能力和当前其它环境信息数据库构建机制与方法比较显示出明显的优越性。3、数据库结构设计程序化、条理化。综合农业环境信息数据库的一个突出特点是数据海量,数据类型丰富。本发明在数据库设计时根据数据特性和数据间的互操作关系,将综合数据库分为一股属性数据子库、空间数据子库、视频音像数据子库、专家决策分析信息子库以及模型数据子库。这样设计的好处在于数据库结构条理分明,数据组织有条不紊,为数据入库和数据挖掘效率的提高提供机制上的保证。图1是综合农业环境信息数据库构建技术路线图;图2是综合农业环境信息数据库结构模式图;图3是引进的空间数据库引擎工作原理与机制示意图;图4是综合农业环境信息数据源分类与数据库子库设计示意图;图5是降雨强度E-R图。具体实施例方式下面结合附图以具体实施例对本发明的技术方案及工作过程作进一步的说明,但本发明的保护范围不限于此实施例1本发明公开了一种构建综合农业环境新数据库的机制与方法,其实施步骤、技术及开发工具工作机理、数据库结构模式等如图1、图2、图3、图4及图5所示。下面结合附图和实施例,对本发明的具体实施方式进行详述,以下实施例用于说明本发明,但不用来限制本发明的范围。1、前期准备阶段设施细则1)根据农业环境信息数据源格式及属性特点将其分类,整理分为一股属性数据、空间数据、多媒体数据、模型数据及其它类型数据等大类,属性数据包括地物基本信息、气5候、光照、温度、水分等可以整理成关系数据库中的二维数据表(此处二维数据表为数据库领域常用术语,因此在此我认为可以不再做深入诠释,请指导),用来描述地理实体质量或数量特征的数据;空间数据包括行政区划图、道路图、水系图、地形图、土壤类型图、土壤养分图、土地利用现状图、土壤侵蚀强度分级图以及遥感图像等;多媒体数据包括土地利用现场照片、作物生长照片、病虫害照片、农作物生长flash动画以及专家科普视频等;模型数据主要包括气候生产潜力计算模型、灌溉生产潜力计算模型以及土地生产潜力计算模型寸。2)做需求分析,根据农业工作者的知识水平现状以及农业决策对农业信息管理的要求,农业数据库管理系统必须具备人机界面良好、数据Excel导入及导出、多条件查询、图形显示、多条件设置情况下的农业模拟预测等功能。另外数据库管理系统应提供给高层次系统良好的接口,便于数据的调用和提取。3)实际应用测试。根据数据库结构及需求分析的结果,首先根据数据类型,见步骤1),相同数据类型数据应集中存储在一个硬盘分区上,不同数据类型应分盘存储,便于检索和保证数据安全;然后在准确分盘的基础上进行数据量的估算,不同的数据量对应数据库不同的配置,更对应存盘的分区大小设置,尤其注意海量数据在数据库服务器硬件存储设备上要求较一股数据库更高;最后必须关注高分辨率遥感影像数据的识别与提取,需要客户机具备高性能显卡,服务器也必须具备同等配置。4)配置数据库硬、软件环境。硬件配置主要解决应用测试结果显示的主要硬件影响因素的配置,主要是处理器、服务器内存、I/O子系统以及网络连接设备的配置。首先处理器在满足3)应用测试要求前提下考虑数据库扩展升级空间,然后服务器内存采取对SQLServer内存选项进行设置及扩充供虚拟内存等手段进行配置,再次I/O子系统配置基于硬盘阵列存储设计来实现优化;网络连接设备配置主要解决网卡选择及其同交换机的连接方式问题,网卡选择基于其传输速率考虑,连接方式采取双网卡、全双工连接。软件配置主要是对SQLServer及空间数据库引擎的配置,SQLServer的配置采取分开存储文件、内存调优、使用纤程模式、使用分布式分区视图集中策略实现,空间数据库引擎配置包括调整DBTUNE存储参数、空间索引以及统计信息更新,对DBTUNE表进行编辑,分离表和索引。2、数据库设计阶段设施细则1)数据库结构设计。采用C/S(Client/SerVer,客户机和服务器结构)和B/S(Browser/Server,结构即浏览器和服务器结构)相结合的方式,底层为综合多种农业数据子库的农业环境信息数据库,其上为SDE(Spatialdatabaseengine,空间数据库引擎)服务器层,其二者共同构成系统后台,前台为基于〔#等多种语言的用户逻辑和应用程序,农业环境信息数据库结构模式如图二所示。最底层的农业环境信息数据库分为多个数据子库,子库的个数和种类根据第1部分中1)的数据分类而定,一股来讲,分为一股属性数据子库、空间数据子库、多媒体数据库(即视频音像数据字库)(根据格式又可细分为图片库和视频库)以及模型子库等四大类子库,如图四所示。2)数据库存储设计。农业环境信息数据库存储设计采取分类集存,专盘专存的方式。空间数据在SDE中以SDE为所有者进行分层存储,而一股属性数据则在SQLServer2000中以DB0(数据库所有者,是具有在数据库中执行所有活动的暗示性权限的用户)为所有者的数据表的形式进行存储,两者通过数据库SDE统一进行管理。多媒体数据和模型数据(包6括图片和视频)则利用C#语言编程实现其在SQLServerfOOO中的存储,数据自身属性信息通过设置数据表的形式在SQLServer2000中得以标识。SDE管理下的空间数据拥有其附加的数据表,而遥感影像数据由SDE自动建立各个对象之间的关系,各类型数据之间的关联则通过各自对应属性表中设置的BS关键字段来实现,BS关键字段为NAME(区域名称),JWZB(经纬度坐标)这些具有唯一性的字段。具体设计如下①一股属性数据子库设计设计属性数据表,首先设计属性数据表E-R图(EntityRelationshipDiagram,即实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型),即各个属性数据之间的层次和关联关系(如图5所示),然后设计并定义数据表结构(如表1),设计过程中使用存储过程及触发器。数据表完整结构包括字段名、字段数据类型、字段长度、字段是否为主键以及字段描述等。表名为表对象标准中文对应英文的首字母为前缀,如综合农业环境信息数据库中,所有大气数据表名前缀为A(Atmosphere),生物数据表名前缀为B(Biological),土壤数据表名前缀为S(Soil),水分数据表名前缀为W(Water),以此类推。若出现两个表项目首字母相同,则其中一个取其英文单词的首两位字母,以此类推;字段代码则用字段标准中文名称逐个汉字汉语拼音的首字母组合代替,如土壤最小全氮,则其代码为TRZXQD,以此类推;触发器前缀均为Tri,后加修改字段及表名,如[TriBS_DBWD]为对表A_DBWD的BS字段进行修改的触发器,以此类推;视图前缀均为View,如ViewA_DBWD,以此类推。设置表TableDictionary,该表为元数据表,是对所有表(包括表名及字段名称)、视图及触发器基本信息等的说明。汉语拼音首字母组合字段代码设计是基于目前农业数据库的应用对象和数据更新考虑。属性数据库设计的最后环节是做好《数据库设计说明书》的编制,作为数据库成果附件提供给使用者和管理维护人员,说明书中必须对数据库结构进行详细的说明解释,包括数据表的命名约定,字段代码的对照诠释,视图以及触发器的命名约定等。表1是降雨强度按天统计属性结构描述表②空间数据子库设计根据点、线、面及空间数据的各自特点,通过建立不同的图层进行存储,由SDE统一进行管理。农业环境信息空间数据包括研究区域边界图、土壤pH值空间分布、土壤微量元素空间分布、土地利用类型、土壤养分空间分布等数据类型,该部分数据为矢量数据;另有研究区遥感影像数据,这部分数据属于栅格数据,事先要对其作校准等预处理。地图数字化,将以上空间数据进行数字化处理,在ArcGIS中按照相同的投影和统一的坐标系对非矢量数据进行矢量化,具体操作为第一步利用Arccatalog新建shapefile数据层,并将其力口载入Arcmap中,由"tool/Arccatalog,,进入Arccatalog模块,在Arccatalog中选择要建立的数据层目录后,点击右键,选择“new/shapefile”,在主菜单中选择“file/adddata”,将新建的图层加载入ArcMap中的layers中;第二步将栅格数据作为背景,进行屏幕矢量化。在主菜单“VieW”、“t00lbarS”中选取“editor”,打开编辑工具栏,选取shapefile数据层,按editor的下拉键,点取“startediting”,利用各种编辑工具,进行数字化;第三步编辑属性数据。首先添加要素的属性项,选择要添加要素的数据层,点右键,“openattributetable”,出现属性表,选择“option/addfiled”,增加所需的属性项,然后增加属性值,设置数据层处于编辑状况,按editor的下拉键,点取“startediting”,选取某要素,点右键,出现下拉菜单,选择“Attribute…”,即可输入或修改属性值。至此矢量化完毕。进而建立统一的空间数据图层体系,以便地图分割处理和部分属性信息对应存储。空间数据属性信息的完善,每一个矢量图层对应其相应的属性信息,根据实际需要,通过增加或删除矢量数据图层中每一个多边形的对应的属性字段来完善属性信息,比如要给区域对象(多边形)增加BS信息,那么就在ArcGIS中向其对应的AttributesTable(属性表)添加BS字段,完善属性信息。③视频音像数据库设计视频、音像数据在统一格式后主要通过将其作为特殊属性数据入库,这部分数据存储其主要通过编程实现。程序编写设计前,应根据需要在SQLServer中进行对应的表结构设计,打开SQLSerVer2000,在数据库的pubs数据库中设计一个videostore属性表,根据数据库整体设计在属性表中设置BS、videoID,videoData,videoType、videoDescription、videoSize六个字段,用户可以根据需要自行添加必要字段。属性表设置完成,进入编程阶段,入库代码程序编写为常用技术,具体步骤分为数据库中属性表设置、C#后台存储程序编写、〔#读取与接口程序编写等3个主要步骤,请参考相关资料关于图片入库程序的编写(见代码I),本代码用C#编程实现,用户在数据库设计时可直接复制到MicrosoftVisualStudio中运行实现,具体情况时根据需要做必要调整和修改,此处只针对基于C#的系统及数据库编程设计,其它语言开发依此类推。④模型数据库设计GIS本身可以提供一些常用的模型功能,如空间拓扑叠加、统计分析、领域分析等功能。模型库的设计主要是实现对高层次系统所用一系列模型的存储和记录,数据库中必须有模型名称、编号、模型参数、模型运算结果误差分析项的描述,其设计完成后主要是个系统编程结合,在系统功能模块调用某个模型时,系统首先从数据库中调用各种有关该模型的信息,然后数据库会将这些信息反馈给系统程序,系统程序进一步对信息进行处理,调用模型程序进行相关运算与操作。具体操作是在SQLServer数据库Pubs中设置Modeltable属性表,属性表中设置BS、ModelID、ModelType、ModelDescription,ModelClass等五个字段,存储编程设计原理同③中视频音像数据存储编程原理,模型代码编程为基于一股算法的常用技术编程,模型代码程序实例见代码II,基于〔#语言进行系统开发时直接复制程序代码有机加入系统程序即可,其它开发语言以此类推。3、数据入库阶段实施细则1)按照数据规范检查待入库数据质量,将分类及编码后的农业环境信息数据按照设计好的数据表和数据库库内结构框架导入数据库。这里数据导入有多种手段,属性数据可通过Excel手动导入,也可以使用数据库批量导入功能批量导入,手动导入便于边导入数据边进行数据审查,批量导入速度快、效率高,但缺乏过程检查与控制,两种方式在数据导入时可根据需要选择,如果数据质量高,能保证规范与标准,可以选择批量导入。2)导入数据完成,对字段数据类型、字段长度、字段小数位数等项目的修正与优化。此项工作可以在手动导入数据同时完成,在批量导入后通过逐一重新检查来完成。字段长度要合适,小数点位数设置要合理,满足字段本身需要即可,否则就会在细微处影像数据库的运行效率。4、数据库调试阶段实施细则1)调试硬、软件运行协调性能。数据库建库完成后操作数据库,检查硬件配置是否合理,是否能保证数据库运行效率对硬件的要求,是否有利于数据库扩展与数据的充实。软件的配置调试主要是检测软件间的协调工作性能,可以通过更改和设置各软件工具中相关配置选项来实现。2)调试各子库数据关联。数据关联主要是指数据间互操作的灵活性,例如空间数据和一股属性数据的相互调用,空间数据控制点(图层)对视频音像数据的调用与显示等。3)调试数据库逻辑运行模式。逻辑运行模式的调试是指对数据库整体结构的测试和改良,在操作数据库的实际实践中,在数据库各类型数据的互访操作中,在模型调用与计算效率及结果的评测中,对数据库结构进行一定程度上的调整。4)调试数据库分布式管理性能。一股情况下,一个新型数据库开发完成后,不可能立即在不同部门间投入应用,必须先内部测试及调试完成后方可进入实际运用。数据库分布式管理性能可以通过设置SQLServer的服务管理器来进一步测试,即将服务客户的名称用客户机IP地址来代替,因为分布式管理的最终连接方式是通过网络(局域网或广域网),而IP地址是通信中对服务器及客户机的标识,所以此种测试手段能够在很大程度上测试数据库的分布式管理性能。5)调试数据库高端系统接口性能及访问能力。此种调试应基于高层次系统来完成,只有用户通过对数据库所服务的高层次系统的操作,才能在某种程度上检验数据库接口性能的优越。本综合农业环境数据库是在现有的数据库技术基础上,结合一定的组合创新思想,有机的融合各种数据组织手段并加以程序辅助设计,进而运用于农业基础数据平台的建设。作为一个基础数据平台,它的功能在于有效、合理的组织好各种类型的数据信息,并在此基础上保证数据库所拥有的数据更加丰富与饱满,以满足高层次系统对各种数据信息的需求,其创新性在于对各种农业数据的有效存储、组织与管理,并在一定程度上深层次的解决各种数据之间的互操作与关联机制问题,从而保证高效。该数据库的访问、修改如同常规技术中对SQLServer数据库的访问与修改,对数据的调用也同常规数据库中对数据调用,在高层次系统程序中,访问与修改则根据需求而辅助编程实现,这已经不属于本综合农业数据库所要解决的技术问题,至于数据库的其它功能,即是在更加高效的基础上提供给高层次系统等数据需求者相对完备、丰富与完整的农业数据信息,很好的发挥其作为基础农业数据管理仓库的本质功能。与现有的数据库系统相比,该数据库更多的考虑了对尽可能丰富的农业信息的高效存储、组织与管理,包括各种结构化与非结构化的数据,这在农业基础数据平台的建设上具有一定的功能优势,解决了部分农业数据的组织管理问题;另外,该数据库建设技术还考虑了对数据全局的把握,即如何实现数据之间的关联与互操作,这也是该综合农业环境信息数据库在建设思想上重点考虑的关键技术问题。代码I1.图片文件的存储,代码如下<%iPagelanguage=“c#〃Codebehind=“imageProcess.aspx.cs"AutoEventffireup="false"Inherits="imageProcess.imageProcess"%><!D0CTYPEHTMLPUBLIC"-//W3C//DTDHTML4.OTransitionaV/EN"><HTML><HEAD>NET7.1"><title>imageProcess</title><metaname="GENERATOR"Content="MicrosoftVisualStudio.<metaname="C0DE_LANGUAGE"Content="C#"><metaname="vs_defaultClientScript"content=〃JavaScript"><metaname=“vs_targetSchema"content="http://schemas.microsoft.com/intellisense/ie5"></HEAD>〈bodyMS_P0SITI0NING="GridLayout">〈formid="Forml"method="post"runat="server">〈FONTface=“宋体〃XINPUTstyle="Z-INDEX101;LEFT48px;POSITIONabsolute;TOP:32px"type="file"name=〃Filel"id=〃Filel"runat="server"><asp:TextBoxid=〃txtDescript"style="Z-INDEX102;LEFT:48px;POSITIONabsolute;TOP:72px"runat=〃server〃TextMode=〃MultiLine"Width="224px〃Height=〃64px〃></asp:TextBox><asp:Buttonid="btnUpload"style="Z-INDEX103;LEFT:216px;POSITION(absolute;TOP:152px〃runat="server"Text=“上传"Width=〃56px〃X/asp:ButtonX/F0NT><asp:DataGridID=“DGPersons"AutoGenerateColumns="False"Width="632px〃HeaderStyle-BackColor="#ff0000〃HeaderStyle-Font-Bold=〃True"HeaderStyle-ForeColor="#fTfTfT〃ItemStyle-BackColor="Beige"BorderColor=〃Black"Runat="server"HeaderStyle-HorizontalAlign=〃Center"style=“Z-INDEX105;LEFT:48px;POSITIONabsolute;TOP:208px"><ItemStyleBackColor=〃Beige"></ItemStyle><HeaderStyleFont-Bold="True"HorizontalAlign="Center"ForeColor=“White"BackColor=“Red"></HeaderStyle><Columns><asp:TemplateColumnHeaderText=〃图片编号〃><ItemTemplate><asp:Labelid=Label1Text=’<%#DataBinder.Eval(Container.Dataltem,“ImgID")%>'Runat="server">="server"Text=’#</asp:Label></ItemTemplate></asp:TemplateColumn><asp:TemplateColumnHeaderText=“图片类型〃><ItemTemplate>DataBinder.Eval(Container.Dataltem,<asp:LabelRunatImageContentType〃)%>'ID=〃Label2"/>="server"Text=’#</ItemTemplate></asp:TemplateColumn><asp:TemplateColumnHeaderText=“图片大小"><ItemTemplate><asp:LabelRunatDataBinder.Eval(Container.Dataltem,ImageSize)%>'ID="Label3'</ItemTemplate></asp:TemplateColumn)<asp:TemplateColumnHeaderText=“照片〃><ItemTemplate><asp:ImageRunat=serverID="Image2"ImageUrl=,#FormatURL(DataBinder.Eval(Container.Dataltem,</ItemTemplate></asp:TemplateColumn)〈/Columns〉</asp:DataGrid></form></body></HTML>2.相应的后台代码如下ImgID"))%>,/>usingSystemusingSystem.Collections;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Web;usingSystem.Web.SessionState;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.HtmlControls;usingSystem.Data.SqlClient;usingSystem.10;namespaceimageProcess{,///〈summary〉//VimageProcess的摘要说明。//V</summary)publicclassimageProcess:System.Web.UI.Page{protectedSystem.Web.UI.WebControls.TextBoxtxtDescript;protectedSystem.Web.UI.HtmlControls.HtmllnputFileFilel;protectedSystem.Web.UI.WebControls.DataGridDG—Persons;protectedSystem.Web.UI.WebControls.ButtonbtnUpload;privatevoidPage_Load(objectsender,System.EventArgse){//在此处放置用户代码以初始化页面dataGridBindO;}privatevoiddataGridBindO{SqlConnectioncon=newSqlConnection(/rserver=.;database=pubs;uid=sapwd=;“);con.Open();SqlCommandcmd=newSqlCommandCselectImgID,ImageContentType,ImageSize,ImageDatafromImageStore“,con);this.DG—Persons.DataSource=cmd.ExecuteReader();this.DGPersons.DataBindO;con.Close();}Web窗体设计器生成的代码toegionWeb窗体设计器生成的代码overrideprotectedvoidOnlnit(EventArgse){II//CODEGEN该调用是ASP.NETWeb窗体设计器所必需的。IIInitializeComponent();base.Onlnit(e);}/**////<summary)III设计器支持所需的方法_不要使用代码编辑器修改///此方法的内容。///</summary>privatevoidInitializeComponent(){this.btnUpload.Click+=newSystem.EventHandler(this.btnUpload_Click);this.Load+=newSystem.EventHandler(this.Page_Load);}#endregionprivatevoidbtnUpload_Click(objectsender,System.EventArgse){SqlConnectioncon=newSqlConnection(/rserver=.;database=pubs;uid=sa;pwd=;");con.Open();FileStreamfs=File.Open(this.Filel.PostedFile.FileName,FileMode.Open);byte[]by=newbyte[fs.Length];fs.Read(by,0,(int)fs.Length);StringSqlCmd="insertintoImageStore(ImageData,ImageContentType,ImageDescription,ImageSize)values(Image,fileType,fileDec,fileSize)“;SqlCommandCmdObj=newSqlCommand(SqlCmd,con);CmdObj.Parameters.Add("Image",SqlDbType.Image,(int)fs.Length).Value=by;CmdObj.Parameters.Add(‘‘ifileType〃,SqlDbType.VarChar,20).Value=this.Filel.PostedFile.ContentType;CmdObj.Parameters.Add(〃ifileDec",SqlDbType.VarChar,200).Value=this.txtDescript.Text;CmdObj.Parameters.Add(“ifileSize“,SqlDbType.Biglnt).Value=this.Filel.PostedFile.ContentLength;fs.Close();CmdObj.ExecuteNonQuery();dataGridBindO;}protectedstringFormatURL(objectstrArgument){return"Readlmage.aspx?id="+strArgument.ToString();}}}3.从数据库中读取图片程序代码usingSystem;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Web;usingSystem.Web.SessionState;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.HtmlControls;usingSystem.Data.SqlClient;usingSystem.10;namespaceimageProcess{/水水////〈summary〉///Readlmage的摘要说明。///〈/summary〉publicclassReadlmage:System.Web.UI.Page{privatevoidPage—Load(objectsender,System.EventArgse){stringstrlmagelD=Request.QueryString["id"];SqlConnectionmyConnection=newSqlConnection("server=.;database=pubs;uid=sa;pwd=;");SqlCommandmyCommand=newSqlCommand("SelectImageContentType,ImageDatafromImageStoreWhereImgID="+strImageID,myConnection);try{myConnection.Open();SqlDataReadermyDataReader;myDataReader=myCommand.ExecuteReader(CommandBehavior.CloseConnection);if(myDataReader.Read()){Response.Clear();Response.ContentType=myDataReader["ImageContentType"].ToString();Response.BinaryWrite((byte[])myDataReader["ImageData"]);}myConnection.Close();}catch(SqlExceptionSQLexc){Response.Write(〃提取数据时出现错误"+SQLexc.ToString());}Response.End();}代码IInamespaceFormulas{/*模型公式类名为Formulas*调用方法为Formulas.方法名*例如要调用光合潜力方法116*调用方法为:Formulas.phoPoten_YQ(参数1,参数2,参数3)**//classFormulas{publicconstfloatFL0AT_MIN=1.0e_6F;//最小浮点数精度publicconstfloatFL0AT_ERR0R=-999999.9F;//错误返回值/氺光合潜力(Photosyntheticpotential)计算*函数的命名方法为:Photosyntheticpotential缩写为phoPoten*具体的函数名为下划线加方法名,例如光合潜力中方法1为_YQ氺氺氺//氺函数phoPoten_YQ*返回单位土地面积上生长期间的光合潜力(kg/hm2);*参数c-作物能量转换系数,即lg干物质所结合的化学能。例如水稻为1674x104J/kg;*参数F-作物的最高光能利用率,即作物光合作用结合的能量占太阳总辐射的比率;*参数:E-经济系数,例如水稻为0.45;*参数Q_生长期间投入该面积上的太阳辐射能(J/cm2)。publicstaticdoublephoPoten_YQ(doubleC,doubleF,doubleE,doubleQ){if(Math.Abs(C)<FL0AT_MIN){Console.Write(〃您输入的参数C(除数)不能为零!“);returnFL0AT_ERR0R;}doublevalue=1.0e8F*F*E*Q/(C*500);returnvalue;}}}。权利要求一种构建综合农业环境信息数据库的方法,其特征在于,该综合农业环境信息数据库包括4个子库一股属性数据子库、空间数据子库、视频音像数据字库以及模型子库;一股属性数据子库的构建方法为先设置属性数据表的实体-联系图以表明各个属性数据之间的层次和关联关系;再定义属性数据表的结构,属性数据表的结构包括字段名、字段数据类型、字段长度、字段是否为主键以及字段描述;最后再设置元数据表,元数据表用于说明所有属性数据表、视图及触发器基本信息。空间数据子库的构建方法为对农业环境信息空间数据进行数字化处理,即获得矢量式农业环境信息地图数据,所述的矢量式农业环境信息地图数据包括对研究区域区位边界图、农业环境信息专题地图数据,将这些需要以空间数据形式存储和应用的数据矢量化,统一格式以及数据内部协调存储机制,然后将这些矢量化数据借助开发软件空间数据库引擎SDE按照逻辑关系分类分层存储,从而建立统一的空间数据图层体系,形成空间数据子库;视频音像数据子库的构建方法为基于关系数据库管理系统的计算机辅助编程设计存储法,即通过先在关系数据库管理系统中建立相应表,设置视频音像数据的相关信息字段,然后通过语言编程实现数据的存储、读取以及调用。模型子库的构建过程以地理信息系统GIS及开发工具空间数据库引擎SDE中的现有模型为基础,构造模型子库。2.根据权利要求1所述的构建综合农业环境信息数据库的方法,其特征在于,所述的综合农业环境信息数据库基于关系数据库管理系统SQLServer软件环境以及和空间数据库引擎SDE工具构建。3.根据权利要求1所述的构建综合农业环境信息数据库的方法,其特征在于,对构建综合农业环境信息数据库中的空间数据、多媒体数据、模型数据及属性数据表结构中设置标识号关键字。全文摘要本发明公开了一种构建综合农业环境信息数据库的方法,该综合农业环境信息数据库包括4个子库一般属性数据子库、空间数据子库、视频音像数据字库以及模型子库;一般属性数据子库是通过在关系型数据库管理系统SQLserver中设置二维数据表存储与管理农业环境信息属性数据,空间数据子库的构建方法则是通过空间数据库引擎实现空间数据在关系数据库中的有效存储,然后通过SDE分类分层建立管理逻辑来构建。该构建综合农业环境信息数据库的方法实用性强、针对性强、普适性好,为农业信息的综合集成应用提供强大的信息支持。文档编号G06F17/30GK101853305SQ20101019800公开日2010年10月6日申请日期2010年6月11日优先权日2010年6月11日发明者任平,曾光明,李忠武,罗霄,黄金权申请人:湖南大学