CN101853305A - 一种构建综合农业环境信息数据库的方法 - Google Patents
一种构建综合农业环境信息数据库的方法 Download PDFInfo
- Publication number
- CN101853305A CN101853305A CN201010198003A CN201010198003A CN101853305A CN 101853305 A CN101853305 A CN 101853305A CN 201010198003 A CN201010198003 A CN 201010198003A CN 201010198003 A CN201010198003 A CN 201010198003A CN 101853305 A CN101853305 A CN 101853305A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- environmental information
- spatial
- attribute
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种构建综合农业环境信息数据库的方法,该综合农业环境信息数据库包括4个子库:一般属性数据子库、空间数据子库、视频音像数据字库以及模型子库;一般属性数据子库是通过在关系型数据库管理***SQL server中设置二维数据表存储与管理农业环境信息属性数据,空间数据子库的构建方法则是通过空间数据库引擎实现空间数据在关系数据库中的有效存储,然后通过SDE分类分层建立管理逻辑来构建。该构建综合农业环境信息数据库的方法实用性强、针对性强、普适性好,为农业信息的综合集成应用提供强大的信息支持。
Description
技术领域
本发明属于计算机与农业信息集成化技术领域,涉及一种构建综合农业环境信息数据库的方法。
技术背景
环境信息***是环境科学、计算机技术科学及信息技术科学等学科相结合的产物,数据库技术作为环境信息***底层数据管理平台技术,为环境信息***的发展奠定了坚实基础。目前国内外综合农业环境信息数据库的开发存在一些实质性的不足,表现在:入库数据格式不一,数据编码缺乏完整、统一规范;数据丰度不足,且数据集成程度低;数据库建库方案无确定标准,技术路线缺乏普适性;数据库分布式管理问题未能优化解决,农业环境信息数据共享水平不高,数据挖掘与利用程度相对较差。
环境信息***实施的重点工程在于基础数据库平台的构建,当前环境信息数据库构建机制的研究热点和难点依然在于数据标准化、空间数据组织与管理、数据一体化与无缝连接技术以及数据分布式管理等问题上。综合农业环境信息数据库构建标准方案设计是环境信息***在农业环境信息管理领域的技术实现,在优化解决当前环境信息***数据库相关难点的基础上,为农业环境信息标准化管理提供优化技术实现规范。
发明内容
本发明的目的在于提供一种构建综合农业环境信息数据库的方法,该构建综合农业环境信息数据库的方法实用性强、针对性强、普适性好,为农业信息的综合集成应用提供强大的信息支持。
本发明的技术解决方案如下:
一种构建综合农业环境信息数据库的方法,其特征在于,该综合农业环境信息数据库包括4个子库:一股属性数据子库、空间数据子库、视频音像数据字库以及模型子库;
一股属性数据子库的构建方法为:先设置属性数据表的实体-联系图以表明各个属性数据之间的层次和关联关系;再定义属性数据表的结构,属性数据表的结构包括字段名、字段数据类型、字段长度、字段是否为主键以及字段描述;最后再设置元数据表,元数据表用于说明所有属性数据表、视图及触发器基本信息。视图及触发器是一股数据库中的常用技术。
空间数据子库的构建方法为:对农业环境信息空间数据进行数字化处理,即获得矢量式农业环境信息地图数据,所述的矢量式农业环境信息地图数据包括对研究区域区位边界图、农业环境信息专题地图数据,将这些需要以空间数据形式存储和应用的数据矢量化,统一格式以及数据内部协调存储机制,然后将这些矢量化数据借助开发软件空间数据库引擎SDE按照逻辑关系分类分层存储,从而建立统一的空间数据图层体系,形成空间数据子库;
视频音像数据子库的构建方法为基于关系数据库管理***的计算机辅助编程设计存储法,即通过先在关系数据库管理***中建立相应表,设置视频音像数据的相关信息字段,然后通过语言编程实现数据的存储、读取以及调用,该方法为现有常用技术。
模型子库的构建过程:以地理信息***GIS组件及开发工具空间数据库引擎SDE中的现有模型为基础,构造模型子库。具体为,以地理信息***GIS及开发工具空间数据库引擎SDE中的现有模型为基础,根据应用需要选取相关农业问题处理模型,结合辅助编程给予模型计算机理实现,模型在代码中以类的形式存在并被程序有机引用,从而形成具有综合计算和分析能力的模型子库。
所述的综合农业环境信息数据库基于关系数据库管理***SQL Server软件环境以及和空间数据库引擎SDE工具构建。
对构建综合农业环境信息数据库中的空间数据、多媒体数据、模型数据及属性数据表结构中设置标识号关键字,进一步增强数据的互操作灵活性。
一股属性数据子库的构建方法为通过在关系型数据库管理***SQL server中设置二维数据表存储与管理农业环境信息属性数据:空间数据子库的构建方法则是通过空间数据库引擎(SDE)实现空间数据在关系数据库中的有效存储,然后通过SDE分类分层建立管理逻辑来构建;视频音像数据子库则是通过在关系数据库管理***中设置对应的属性数据表,存储数据相关信息,然后辅助语言编程实现该类型数据的完全存储、读取与调用;模型数据子库则是以开发工具SDE中现有的数据模型与分析模型为基础,选取农业问题中相关的科学计算模型,通过语言编程基于每个模型以类为单位进行计算机语言表达,以实现整个***程序中对模型的有机调用。
有益效果:
本发明相对有效地组织了目前农业信息***应用的主要数据类型,实现了农业数据库体系的灵活架构及综合农业数据信息存储和融合。
与现有技术相比,本发明具有以下创新性:
第一个方面是农业环境信息数据库的体系结构,本发明针对当前高层次农业环境信息***对底层数据质量的要求,利用组合创新思想,在现代计算机技术与信息技术的现有成果基础上,提出一种SQL Server+SDE的综合农业环境数据库建库机制,该机制巧妙运用SDE的空间数据管理能力及SQL Server的海量数据存储与管理能力,创新性的将两种工具有机融合,更加优化的实现了农业环境信息中空间数据与属性数据的高效入库存储和互操作。
第二个方面是海量、复杂综合农业环境信息数据的组织的有效存储与组织。一直以来,农业环境信息中的非结构化数据信息量大且在农业信息***决策中的作用巨大,但该类型数据存储、调用及其互操作问题成为农业数据库开发中的技术难点问题。本发明在技术实现中结合语言编程,通过在SQL Server数据库管理***中设置相应属性表及合适字段,对多媒体数据,模型数据等非结构化数据进行存储和管理,较好的解决了农业数据库中难点问题,使得农业数据库中数据类型更加全面,更加丰富。
第三个方面是数据库互操作机制的强化。数据互操作机制在属性数据之间已经得到比较好的解决,但在空间数据、多媒体数据、模型数据与属性数据相互之间却没有一个标准化,高效化的解决方案,本发明采取在空间数据、多媒体数据、模型数据及属性数据表结构中设置关键字-BS(标识号),由此来实现了空间对象与属性信息间的一一对应关系,加强异构数据间的联系,为互操作提供技术纽带。
此外,本发明在技术实现原理上还具有以下优点:
1、技术实现标准化、规范化。本发明从数据库编码规范出发,参照国家及业界公认的数据编码标准对综合农业环境信息进行严格的数据整理与编码,保证数据在入库前得到有效而明确的分类,从而为数据库子库的设计奠定基础。目前环境信息***研究领域普遍存在的问题之一是数据标准化程度差,而标准化又是影响数据库在数据挖掘与共享等方面性能的重要因素。本发明在路线与方法设计时,充分考虑数据标准化与共享问题,在数据分类与编码、入库数据格式规范、开发工具的选择与配置等方面引进规范化与标准化思想,灵活采用和协调行业标准,使之能够有机融合并互补,最大程度上优化数据库共享性能。
2、开发工具高效化、先进化。提出一种好的机制与方法,必须基于先进、高效的开发工具,本发明拟采用的开发工具为SQL Server、C#,引进的技术为基于Ice的混合层次空间数据库引擎技术以及空间数据模型优化技术。工具成熟且公众影响范围大,技术先进,能够较好解决综合环境信息数据库中空间数据组织与管理这一关键性问题。综合考察,所选取的一系列工具与技术的组合,具有较好的协调工作性能,运行的环境开放,综合数据存储与管理能力和当前其它环境信息数据库构建机制与方法比较显示出明显的优越性。
3、数据库结构设计程序化、条理化。综合农业环境信息数据库的一个突出特点是数据海量,数据类型丰富。本发明在数据库设计时根据数据特性和数据间的互操作关系,将综合数据库分为一股属性数据子库、空间数据子库、视频音像数据子库、专家决策分析信息子库以及模型数据子库。这样设计的好处在于数据库结构条理分明,数据组织有条不紊,为数据入库和数据挖掘效率的提高提供机制上的保证。
附图说明
图1是综合农业环境信息数据库构建技术路线图;
图2是综合农业环境信息数据库结构模式图;
图3是引进的空间数据库引擎工作原理与机制示意图;
图4是综合农业环境信息数据源分类与数据库子库设计示意图;
图5是降雨强度E-R图。
具体实施方式
下面结合附图以具体实施例对本发明的技术方案及工作过程作进一步的说明,但本发明的保护范围不限于此:
实施例1
本发明公开了一种构建综合农业环境新数据库的机制与方法,其实施步骤、技术及开发工具工作机理、数据库结构模式等如图1、图2、图3、图4及图5所示。下面结合附图和实施例,对本发明的具体实施方式进行详述,以下实施例用于说明本发明,但不用来限制本发明的范围。
1、前期准备阶段设施细则:
1)根据农业环境信息数据源格式及属性特点将其分类,整理分为一股属性数据、空间数据、多媒体数据、模型数据及其它类型数据等大类,属性数据包括地物基本信息、气候、光照、温度、水分等可以整理成关系数据库中的二维数据表(此处二维数据表为数据库领域常用术语,因此在此我认为可以不再做深入诠释,请指导),用来描述地理实体质量或数量特征的数据;空间数据包括行政区划图、道路图、水系图、地形图、土壤类型图、土壤养分图、土地利用现状图、土壤侵蚀强度分级图以及遥感图像等;多媒体数据包括土地利用现场照片、作物生长照片、病虫害照片、农作物生长flash动画以及专家科普视频等;模型数据主要包括气候生产潜力计算模型、灌溉生产潜力计算模型以及土地生产潜力计算模型等。
2)做需求分析,根据农业工作者的知识水平现状以及农业决策对农业信息管理的要求,农业数据库管理***必须具备人机界面良好、数据Excel导入及导出、多条件查询、图形显示、多条件设置情况下的农业模拟预测等功能。另外数据库管理***应提供给高层次***良好的接口,便于数据的调用和提取。
3)实际应用测试。根据数据库结构及需求分析的结果,首先根据数据类型,见步骤1),相同数据类型数据应集中存储在一个硬盘分区上,不同数据类型应分盘存储,便于检索和保证数据安全;然后在准确分盘的基础上进行数据量的估算,不同的数据量对应数据库不同的配置,更对应存盘的分区大小设置,尤其注意海量数据在数据库服务器硬件存储设备上要求较一股数据库更高;最后必须关注高分辨率遥感影像数据的识别与提取,需要客户机具备高性能显卡,服务器也必须具备同等配置。
4)配置数据库硬、软件环境。硬件配置主要解决应用测试结果显示的主要硬件影响因素的配置,主要是处理器、服务器内存、I/O子***以及网络连接设备的配置。首先处理器在满足3)应用测试要求前提下考虑数据库扩展升级空间,然后服务器内存采取对SQL Server内存选项进行设置及扩充供虚拟内存等手段进行配置,再次I/O子***配置基于硬盘阵列存储设计来实现优化;网络连接设备配置主要解决网卡选择及其同交换机的连接方式问题,网卡选择基于其传输速率考虑,连接方式采取双网卡、全双工连接。软件配置主要是对SQL Server及空间数据库引擎的配置,SQL Server的配置采取分开存储文件、内存调优、使用纤程模式、使用分布式分区视图集中策略实现,空间数据库引擎配置包括调整DBTUNE存储参数、空间索引以及统计信息更新,对DBTUNE表进行编辑,分离表和索引。
2、数据库设计阶段设施细则:
1)数据库结构设计。采用C/S(Client/Server,客户机和服务器结构)和B/S(Browser/Server,结构即浏览器和服务器结构)相结合的方式,底层为综合多种农业数据子库的农业环境信息数据库,其上为SDE(Spatial database engine,空间数据库引擎)服务器层,其二者共同构成***后台,前台为基于C#等多种语言的用户逻辑和应用程序,农业环境信息数据库结构模式如图二所示。最底层的农业环境信息数据库分为多个数据子库,子库的个数和种类根据第1部分中1)的数据分类而定,一股来讲,分为一股属性数据子库、空间数据子库、多媒体数据库(即视频音像数据字库)(根据格式又可细分为图片库和视频库)以及模型子库等四大类子库,如图四所示。
2)数据库存储设计。农业环境信息数据库存储设计采取分类集存,专盘专存的方式。空间数据在SDE中以SDE为所有者进行分层存储,而一股属性数据则在SQL Server2000中以DBO(数据库所有者,是具有在数据库中执行所有活动的暗示性权限的用户)为所有者的数据表的形式进行存储,两者通过数据库SDE统一进行管理。多媒体数据和模型数据(包括图片和视频)则利用C#语言编程实现其在SQL Server2000中的存储,数据自身属性信息通过设置数据表的形式在SQL Server2000中得以标识。SDE管理下的空间数据拥有其附加的数据表,而遥感影像数据由SDE自动建立各个对象之间的关系,各类型数据之间的关联则通过各自对应属性表中设置的BS关键字段来实现,BS关键字段为NAME(区域名称),JWZB(经纬度坐标)这些具有唯一性的字段。具体设计如下:
①一股属性数据子库设计:设计属性数据表,首先设计属性数据表E-R图(EntityRelationship Diagram,即实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型),即各个属性数据之间的层次和关联关系(如图5所示),然后设计并定义数据表结构(如表1),设计过程中使用存储过程及触发器。数据表完整结构包括字段名、字段数据类型、字段长度、字段是否为主键以及字段描述等。表名为表对象标准中文对应英文的首字母为前缀,如综合农业环境信息数据库中,所有大气数据表名前缀为A(Atmosphere),生物数据表名前缀为B(Biological),土壤数据表名前缀为S(Soil),水分数据表名前缀为W(Water),以此类推。若出现两个表项目首字母相同,则其中一个取其英文单词的首两位字母,以此类推;字段代码则用字段标准中文名称逐个汉字汉语拼音的首字母组合代替,如土壤最小全氮,则其代码为TRZXQD,以此类推;触发器前缀均为Tri,后加修改字段及表名,如[TriBS_DBWD]为对表A_DBWD的BS字段进行修改的触发器,以此类推;视图前缀均为View,如ViewA_DBWD,以此类推。设置表TableDictionary,该表为元数据表,是对所有表(包括表名及字段名称)、视图及触发器基本信息等的说明。汉语拼音首字母组合字段代码设计是基于目前农业数据库的应用对象和数据更新考虑。属性数据库设计的最后环节是做好《数据库设计说明书》的编制,作为数据库成果附件提供给使用者和管理维护人员,说明书中必须对数据库结构进行详细的说明解释,包括数据表的命名约定,字段代码的对照诠释,视图以及触发器的命名约定等。
表1:是降雨强度按天统计属性结构描述表
号 | 段名称 | 字段代码 | 字段类型 | 段长度 | 主键否 | 备注 |
序号 | ID | int | 4 | 否 | 自动排列 |
号 | 段名称 | 字段代码 | 字段类型 | 段长度 | 主键否 | 备注 |
标识号 | BS | nvarchar | 50 | 是 | [BS]=STZDM-str(GCYEAR)-str(GCMONTH) | |
日 | RQ | smallint | 2 | 否 | ||
当天合计 | DTHJ | float | 8 | 否 | ||
当天平均 | DTPZ | float | 8 | 否 | ||
当天最高 | DTZG | float | 8 | 否 | ||
当天最低 | DTZD | float | 8 | 否 |
②空间数据子库设计:根据点、线、面及空间数据的各自特点,通过建立不同的图层进行存储,由SDE统一进行管理。农业环境信息空间数据包括研究区域边界图、土壤pH值空间分布、土壤微量元素空间分布、土地利用类型、土壤养分空间分布等数据类型,该部分数据为矢量数据;另有研究区遥感影像数据,这部分数据属于栅格数据,事先要对其作校准等预处理。地图数字化,将以上空间数据进行数字化处理,在ArcGIS中按照相同的投影和统一的坐标系对非矢量数据进行矢量化,具体操作为第一步利用Arccatalog新建shapefile数据层,并将其加载入Arcmap中,由“tool/Arccatalog”进入Arccatalog模块,在Arccatalog中选择要建立的数据层目录后,点击右键,选择“new/shapefile”,在主菜单中选择“file/add data”,将新建的图层加载入ArcMap中的layers中;第二步将栅格数据作为背景,进行屏幕矢量化。在主菜单“view”、“toolbars”中选取“editor”,打开编辑工具栏,选取shapefile数据层,按editor的下拉键,点取“start editing”,利用各种编辑工具,进行数字化;第三步编辑属性数据。首先添加要素的属性项,选择要添加要素的数据层,点右键,“open attribute table”,出现属性表,选择“option/add filed”,增加所需的属性项,然后增加属性值,设置数据层处于编辑状况,按editor的下拉键,点取“start editing”,选取某要素,点右键,出现下拉菜单,选择“Attribute…”,即可输入或修改属性值。至此矢量化完毕。进而建立统一的空间数据图层体系,以便地图分割处理和部分属性信息对应存储。空间数据属性信息的完善,每一个矢量图层对应其相应的属性信息,根据实际需要,通过增加或删除矢量数据图层中每一个多边形的对应的属性字段来完善属性信息,比如要给区域对象(多边形)增加BS信息,那么就在ArcGIS中向其对应的Attributes Table(属性表)添加BS字段,完善属性信息。
③视频音像数据库设计:视频、音像数据在统一格式后主要通过将其作为特殊属性数据入库,这部分数据存储其主要通过编程实现。程序编写设计前,应根据需要在SQL Server中进行对应的表结构设计,打开SQL Server2000,在数据库的pubs数据库中设计一个videostore属性表,根据数据库整体设计在属性表中设置BS、videoID、videoData、videoType、videoDescription、videoSize六个字段,用户可以根据需要自行添加必要字段。属性表设置完成,进入编程阶段,入库代码程序编写为常用技术,具体步骤分为数据库中属性表设置、C#后台存储程序编写、C#读取与接口程序编写等3个主要步骤,请参考相关资料关于图片入库程序的编写(见代码I),本代码用C#编程实现,用户在数据库设计时可直接复制到MicrosoftVisual Studio中运行实现,具体情况时根据需要做必要调整和修改,此处只针对基于C#的***及数据库编程设计,其它语言开发依此类推。
④模型数据库设计:GIS本身可以提供一些常用的模型功能,如空间拓扑叠加、统计分析、领域分析等功能。模型库的设计主要是实现对高层次***所用一系列模型的存储和记录,数据库中必须有模型名称、编号、模型参数、模型运算结果误差分析项的描述,其设计完成后主要是个***编程结合,在***功能模块调用某个模型时,***首先从数据库中调用各种有关该模型的信息,然后数据库会将这些信息反馈给***程序,***程序进一步对信息进行处理,调用模型程序进行相关运算与操作。具体操作是:在SQL Server数据库Pubs中设置Model table属性表,属性表中设置BS、Model ID、Model Type、Model Description、Model Class等五个字段,存储编程设计原理同③中视频音像数据存储编程原理,模型代码编程为基于一股算法的常用技术编程,模型代码程序实例见代码II,基于C#语言进行***开发时直接复制程序代码有机加入***程序即可,其它开发语言以此类推。
3、数据入库阶段实施细则:
1)按照数据规范检查待入库数据质量,将分类及编码后的农业环境信息数据按照设计好的数据表和数据库库内结构框架导入数据库。这里数据导入有多种手段,属性数据可通过Excel手动导入,也可以使用数据库批量导入功能批量导入,手动导入便于边导入数据边进行数据审查,批量导入速度快、效率高,但缺乏过程检查与控制,两种方式在数据导入时可根据需要选择,如果数据质量高,能保证规范与标准,可以选择批量导入。
2)导入数据完成,对字段数据类型、字段长度、字段小数位数等项目的修正与优化。此项工作可以在手动导入数据同时完成,在批量导入后通过逐一重新检查来完成。字段长度要合适,小数点位数设置要合理,满足字段本身需要即可,否则就会在细微处影像数据库的运行效率。
4、数据库调试阶段实施细则:
1)调试硬、软件运行协调性能。数据库建库完成后操作数据库,检查硬件配置是否合理,是否能保证数据库运行效率对硬件的要求,是否有利于数据库扩展与数据的充实。软件的配置调试主要是检测软件间的协调工作性能,可以通过更改和设置各软件工具中相关配置选项来实现。
2)调试各子库数据关联。数据关联主要是指数据间互操作的灵活性,例如空间数据和一股属性数据的相互调用,空间数据控制点(图层)对视频音像数据的调用与显示等。
3)调试数据库逻辑运行模式。逻辑运行模式的调试是指对数据库整体结构的测试和改良,在操作数据库的实际实践中,在数据库各类型数据的互访操作中,在模型调用与计算效率及结果的评测中,对数据库结构进行一定程度上的调整。
4)调试数据库分布式管理性能。一股情况下,一个新型数据库开发完成后,不可能立即在不同部门间投入应用,必须先内部测试及调试完成后方可进入实际运用。数据库分布式管理性能可以通过设置SQL Server的服务管理器来进一步测试,即将服务客户的名称用客户机IP地址来代替,因为分布式管理的最终连接方式是通过网络(局域网或广域网),而IP地址是通信中对服务器及客户机的标识,所以此种测试手段能够在很大程度上测试数据库的分布式管理性能。
5)调试数据库高端***接口性能及访问能力。此种调试应基于高层次***来完成,只有用户通过对数据库所服务的高层次***的操作,才能在某种程度上检验数据库接口性能的优越。
本综合农业环境数据库是在现有的数据库技术基础上,结合一定的组合创新思想,有机的融合各种数据组织手段并加以程序辅助设计,进而运用于农业基础数据平台的建设。作为一个基础数据平台,它的功能在于有效、合理的组织好各种类型的数据信息,并在此基础上保证数据库所拥有的数据更加丰富与饱满,以满足高层次***对各种数据信息的需求,其创新性在于对各种农业数据的有效存储、组织与管理,并在一定程度上深层次的解决各种数据之间的互操作与关联机制问题,从而保证高效。该数据库的访问、修改如同常规技术中对SQLserver数据库的访问与修改,对数据的调用也同常规数据库中对数据调用,在高层次***程序中,访问与修改则根据需求而辅助编程实现,这已经不属于本综合农业数据库所要解决的技术问题,至于数据库的其它功能,即是在更加高效的基础上提供给高层次***等数据需求者相对完备、丰富与完整的农业数据信息,很好的发挥其作为基础农业数据管理仓库的本质功能。
与现有的数据库***相比,该数据库更多的考虑了对尽可能丰富的农业信息的高效存储、组织与管理,包括各种结构化与非结构化的数据,这在农业基础数据平台的建设上具有一定的功能优势,解决了部分农业数据的组织管理问题;另外,该数据库建设技术还考虑了对数据全局的把握,即如何实现数据之间的关联与互操作,这也是该综合农业环境信息数据库在建设思想上重点考虑的关键技术问题。
代码I:
1.图片文件的存储,代码如下:
<%@Page language=″c#″Codebehind=″imageProcess.aspx.cs″AutoEventWireup=″false″
Inherits=″imageProcess.imageProcess″%>
<!DOCTYPE HTML PUBLIC″-//W3C//DTD HTML4.0Transitional//EN″>
<HTML>
<HEAD>
<title>imageProcess</title>
<meta name=″GENERATOR″Content=″Microsoft Visual Studio.NET 7.1″>
<meta name=″CODE_LANGUAGE″Content=″C#″>
<meta name=″vs_defaultClientScript″content=″JavaScript″>
<meta name=″vs_targetSchema″
content=″http://schemas.microsoft.com/intellisense/ie5″>
</HEAD>
<body MS_POSITIONING=″GridLayout″>
<form id=″Form1″method=″post″runat=″server″>
<FONT face=″宋体″><INPUT style=″Z-INDEX:101;LEFT:48px;POSITION:
absolute;TOP:32px″type=″file″name=″File1″
id=″File1″runat=″server″>
<asp:TextBox id=″txtDescript″style=″Z-INDEX:102;LEFT:48px;
POSITION:absolute;TOP:72px″
runat=″server″TextMode=″MultiLine″Width=″224px″
Height=″64px″></asp:TextBox>
<asp:Button id=″btnUpload″style=″Z-INDEX:103;LEFT:216px;
POSITION:absolute;TOP:152px″
runat=″server″Text=″上传″Width=″56px″></asp:Button></FONT>
<asp:DataGrid ID=″DG Persons″AutoGenerateColumns=″False″
Width=″632px″HeaderStyle-BackColor=″#ff0000″
HeaderStyle-Font-Bold=″True″HeaderStyle-ForeColor=″#ffffff″
ItemStyle-BackColor=″Beige″BorderColor=″Black″
Runat=″server″HeaderStyle-HorizontalAlign=″Center″
style=″Z-INDEX:105;LEFT:48px;POSITION:absolute;TOP:208px″>
<ItemStyle BackColor=″Beige″></ItemStyle>
<HeaderStyle Font-Bold=″True″HorizontalAlign=″Center″
ForeColor=″White″BackColor=″Red″></HeaderStyle>
<Columns>
<asp:TemplateColumn HeaderText=″图片编号″>
<ItemTemplate>
<asp:Label id=Label1 Text=’<%#DataBinder.Eval(Container.DataItem,″ImgID″)%>’
Runat=″server″>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText=″图片类型″>
<ItemTemplate>
<asp:Label Runat=″server″Text=’<%#
DataBinder.Eval(Container.DataItem,″ImageContentType″)%>’ID=″Label2″/>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText=″图片大小″>
<ItemTemplate>
<asp:Label Runat=″server″Text=’<%#
DataBinder.Eval(Container.DataItem,″ImageSize″)%>’ID=″Label3″/>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText=″照片″>
<ItemTemplate>
<asp:Image Runat=server ID=″Image2″ImageUrl=’<%#
FormatURL(DataBinder.Eval(Container.DataItem,″ImgID″))%>’/>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</form>
</body>
</HTML>
2.相应的后台代码如下:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.IO;
namespace imageProcess
{
/**////<summary>
///imageProcess的摘要说明。
///</summary>
public class imageProcess:System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox txtDescript;
protected System.Web.UI.HtmlControls.HtmlInputFile File1;
protected System.Web.UI.WebControls.DataGrid DG_Persons;
protected System.Web.UI.WebControls.Button btnUpload;
private void Page_Load(object sender,System.EventArgs e)
{
//在此处放置用户代码以初始化页面
dataGridBind();
}
private void dataGridBind()
{
SqlConnection con=new SqlConnection(″server=.;database=pubs;uid=sa;pwd=;″);
con.Open();
SqlCommand cmd=new SqlCommand(″select
ImgID,ImageContentType,ImageSize,ImageData from ImageStore″,con);
this.DG_Persons.DataSource=cmd.ExecuteReader();
this.DG Persons.DataBind();
con.Close();
}
Web窗体设计器生成的代码#region Web窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
//CODEGEN:该调用是ASP.NET Web窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/**////<summary>
///设计器支持所需的方法-不要使用代码编辑器修改
///此方法的内容。
///</summary>
private void InitializeComponent()
{
this.btnUpload.Click+=new System.EventHandler(this.btnUpload_Click);
this.Load+=new System.EventHandler(this.Page_Load);
}
#endregion
private void btnUpload_Click(object sender,System.EventArgs e)
{
SqlConnection con=new SqlConnection(″server=.;database=pubs;uid=sa;pwd=;″);
con.Open();
FileStream
fs=File.Open(this.Filel.PostedFile.FileName,FileMode.Open);
byte[]by=new byte[fs.Length];
fs.Read(by,0,(int)fs.Length);
String SqlCmd=″insert into
ImageStore(ImageData,ImageContentType,ImageDescription,ImageSize)
values(@Image,@fileType,@fileDec,@fileSize)″;
SqlCommand CmdObj=new SqlCommand(SqlCmd,con);
CmdObj.Parameters.Add(″@Image″,SqlDbType.Image,
(int)fs.Length).Value=by;
CmdObj.Parameters.Add(″@fileType″,SqlDbType.VarChar,20).Value=this.File1.PostedF
ile.ContentType;
CmdObj.Parameters.Add(″@fileDec″,SqlDbType.VarChar,200).Value=this.txtDescript.T
ext;
CmdObj.Parameters.Add(″@fileSize″,SqlDbType.BigInt).Value=this.File1.PostedFile.
ContentLength;
fs.Close();
CmdObj.ExecuteNonQuery();
dataGridBind();
}
protected string FormatURL(object strArgument)
{
return″ReadImage.aspx?id=″+strArgument.ToString();
}
}
}
3.从数据库中读取图片程序代码
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.IO;
namespace imageProcess
{
/**////<summary>
///ReadImage的摘要说明。
///</summary>
public class ReadImage:System.Web.UI.Page
{
private void Page_Load(object sender,System.EventArgs e)
{
string strImageID=Request.QueryString[″id″];
SqlConnection myConnection=new
SqlConnection(″server=.;database=pubs;uid=sa;pwd=;″);
SqlCommand myCommand=new SqlCommand(″Select ImageContentType,
ImageData from ImageStore Where ImgID=″
+strImageID,myConnection);
try
{
myConnection.Open();
SqlDataReader myDataReader;
myDataReader=
myCommand.ExecuteReader(CommandBehavior.CloseConnection);
if(myDataReader.Read())
{
Response.Clear();
Response.ContentType=
myDataReader[″ImageContentType″].ToString();
Response.BinaryWrite((byte[])myDataReader[″ImageData″]);
}
myConnection.Close();
}
catch(SqlException SQLexc)
{
Response.Write(″提取数据时出现错误:″+SQLexc.ToString());
}
Response.End();
}
代码II:
namespace Formulas
{
/*模型公式:类名为Formulas
*调用方法为Formulas.方法名
*例如:要调用光合潜力方法1
*调用方法为:Formulas.phoPoten_YQ(参数1,参数2,参数3)
**/
class Formulas
{
public const float FLOAT_MIN=1.0e-6F;//最小浮点数精度
public const float FLOAT_ERROR=-999999.9F;//错误返回值
/*光合潜力(Photosynthetic potential)计算
*函数的命名方法为:Photosynthetic potential缩写为phoPoten
*具体的函数名为下划线加方法名,例如:光合潜力中方法1为_YQ
***/
/*函数phoPoten_YQ
*返回单位土地面积上生长期间的光合潜力(kg/hm2);
*参数:C-作物能量转换系数,即1g干物质所结合的化学能。例如:水稻为1674
×104J/kg;
*参数:F-作物的最高光能利用率,即作物光合作用结合的能量占太阳总辐射的比
率;
*参数:E-经济系数,例如:水稻为0.45;
*参数:Q-生长期间投入该面积上的太阳辐射能(J/cm2)。
**/
public static double phoPoten_YQ(double C,double F,double E,double Q)
{
if(Math.Abs(C)<FLOAT_MIN)
{
Console.Write(″您输入的参数C(除数)不能为零!″);
return FLOAT_ERROR;
}
double value=1.0e8F*F*E*Q/(C*500);
return value;
}
}
}。
Claims (3)
1.一种构建综合农业环境信息数据库的方法,其特征在于,该综合农业环境信息数据库包括4个子库:一股属性数据子库、空间数据子库、视频音像数据字库以及模型子库;
一股属性数据子库的构建方法为:先设置属性数据表的实体-联系图以表明各个属性数据之间的层次和关联关系;再定义属性数据表的结构,属性数据表的结构包括字段名、字段数据类型、字段长度、字段是否为主键以及字段描述;最后再设置元数据表,元数据表用于说明所有属性数据表、视图及触发器基本信息。
空间数据子库的构建方法为:对农业环境信息空间数据进行数字化处理,即获得矢量式农业环境信息地图数据,所述的矢量式农业环境信息地图数据包括对研究区域区位边界图、农业环境信息专题地图数据,将这些需要以空间数据形式存储和应用的数据矢量化,统一格式以及数据内部协调存储机制,然后将这些矢量化数据借助开发软件空间数据库引擎SDE按照逻辑关系分类分层存储,从而建立统一的空间数据图层体系,形成空间数据子库;
视频音像数据子库的构建方法为基于关系数据库管理***的计算机辅助编程设计存储法,即通过先在关系数据库管理***中建立相应表,设置视频音像数据的相关信息字段,然后通过语言编程实现数据的存储、读取以及调用。
模型子库的构建过程:以地理信息***GIS及开发工具空间数据库引擎SDE中的现有模型为基础,构造模型子库。
2.根据权利要求1所述的构建综合农业环境信息数据库的方法,其特征在于,所述的综合农业环境信息数据库基于关系数据库管理***SQL Server软件环境以及和空间数据库引擎SDE工具构建。
3.根据权利要求1所述的构建综合农业环境信息数据库的方法,其特征在于,对构建综合农业环境信息数据库中的空间数据、多媒体数据、模型数据及属性数据表结构中设置标识号关键字。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010198003A CN101853305A (zh) | 2010-06-11 | 2010-06-11 | 一种构建综合农业环境信息数据库的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010198003A CN101853305A (zh) | 2010-06-11 | 2010-06-11 | 一种构建综合农业环境信息数据库的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101853305A true CN101853305A (zh) | 2010-10-06 |
Family
ID=42804796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010198003A Pending CN101853305A (zh) | 2010-06-11 | 2010-06-11 | 一种构建综合农业环境信息数据库的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101853305A (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591960A (zh) * | 2011-12-30 | 2012-07-18 | 中国农业科学院农业信息研究所 | 农业经济电子地图数据服务接口方法 |
CN102915329A (zh) * | 2012-09-04 | 2013-02-06 | 北京地拓科技发展有限公司 | 栅格数据写入与读取的方法及装置 |
CN104317972A (zh) * | 2014-11-19 | 2015-01-28 | 国家电网公司 | 一种动态图层感应方法及*** |
CN104851047A (zh) * | 2015-05-08 | 2015-08-19 | 西安理工大学 | 一种农业气象要素在线空间可视化的分析方法 |
CN105117493A (zh) * | 2015-09-23 | 2015-12-02 | 环境保护部环境工程评估中心 | 基于高分辨率土地利用数据的aersurface集成*** |
CN105843914A (zh) * | 2016-03-24 | 2016-08-10 | 苏州科技学院 | 一种基于法人数据库的空间决策分析*** |
CN107403274A (zh) * | 2017-07-24 | 2017-11-28 | 高华 | 检测与监督信息管理***数据库表结构及业务逻辑流程 |
CN107577731A (zh) * | 2017-08-24 | 2018-01-12 | 南京多伦科技股份有限公司 | 一种接入不同空间数据库的方法及*** |
CN107958085A (zh) * | 2017-12-18 | 2018-04-24 | 中国农业科学院农业资源与农业区划研究所 | 一种农业资源多源空间数据共享平台及其查询方法 |
CN108460105A (zh) * | 2018-02-06 | 2018-08-28 | 中国农业大学 | 一种基于亲缘网络的植物数据监管方法与*** |
CN109241210A (zh) * | 2018-07-09 | 2019-01-18 | 广东省农业科学院农业经济与农村发展研究所 | 一种区域农业规划空间数据的通用建库方法 |
CN111949706A (zh) * | 2020-08-03 | 2020-11-17 | 北京吉威空间信息股份有限公司 | 面向土地大数据分布式挖掘分析的存储方法 |
CN112163724A (zh) * | 2020-08-05 | 2021-01-01 | 宁夏无线互通信息技术有限公司 | 环境信息数据资源整合集成*** |
CN112231430A (zh) * | 2020-12-10 | 2021-01-15 | 中智行科技有限公司 | 一种地图数据管理方法及装置 |
CN112558867A (zh) * | 2020-12-10 | 2021-03-26 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种对记录器存储空间高效使用的方法 |
CN113627704A (zh) * | 2020-05-09 | 2021-11-09 | 西安电子科技大学青岛计算技术研究院 | 一种农作物信息模型构建方法 |
CN117971802A (zh) * | 2024-01-29 | 2024-05-03 | 广东开放大学(广东理工职业学院) | 一种农业类数据库的构建方法及*** |
-
2010
- 2010-06-11 CN CN201010198003A patent/CN101853305A/zh active Pending
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591960A (zh) * | 2011-12-30 | 2012-07-18 | 中国农业科学院农业信息研究所 | 农业经济电子地图数据服务接口方法 |
CN102915329A (zh) * | 2012-09-04 | 2013-02-06 | 北京地拓科技发展有限公司 | 栅格数据写入与读取的方法及装置 |
CN102915329B (zh) * | 2012-09-04 | 2015-06-03 | 北京地拓科技发展有限公司 | 栅格数据写入与读取的方法及装置 |
CN104317972A (zh) * | 2014-11-19 | 2015-01-28 | 国家电网公司 | 一种动态图层感应方法及*** |
CN104317972B (zh) * | 2014-11-19 | 2018-06-26 | 国家电网公司 | 一种动态图层感应方法及*** |
CN104851047A (zh) * | 2015-05-08 | 2015-08-19 | 西安理工大学 | 一种农业气象要素在线空间可视化的分析方法 |
CN105117493B (zh) * | 2015-09-23 | 2018-06-05 | 环境保护部环境工程评估中心 | 基于高分辨率土地利用数据的aersurface集成*** |
CN105117493A (zh) * | 2015-09-23 | 2015-12-02 | 环境保护部环境工程评估中心 | 基于高分辨率土地利用数据的aersurface集成*** |
CN105843914A (zh) * | 2016-03-24 | 2016-08-10 | 苏州科技学院 | 一种基于法人数据库的空间决策分析*** |
CN107403274A (zh) * | 2017-07-24 | 2017-11-28 | 高华 | 检测与监督信息管理***数据库表结构及业务逻辑流程 |
CN107577731A (zh) * | 2017-08-24 | 2018-01-12 | 南京多伦科技股份有限公司 | 一种接入不同空间数据库的方法及*** |
CN107577731B (zh) * | 2017-08-24 | 2020-06-16 | 多伦科技股份有限公司 | 一种接入不同空间数据库的方法及*** |
CN107958085A (zh) * | 2017-12-18 | 2018-04-24 | 中国农业科学院农业资源与农业区划研究所 | 一种农业资源多源空间数据共享平台及其查询方法 |
CN108460105A (zh) * | 2018-02-06 | 2018-08-28 | 中国农业大学 | 一种基于亲缘网络的植物数据监管方法与*** |
CN108460105B (zh) * | 2018-02-06 | 2021-05-04 | 中国农业大学 | 一种基于亲缘网络的植物数据监管方法与*** |
CN109241210A (zh) * | 2018-07-09 | 2019-01-18 | 广东省农业科学院农业经济与农村发展研究所 | 一种区域农业规划空间数据的通用建库方法 |
CN113627704A (zh) * | 2020-05-09 | 2021-11-09 | 西安电子科技大学青岛计算技术研究院 | 一种农作物信息模型构建方法 |
CN113627704B (zh) * | 2020-05-09 | 2024-03-22 | 西安电子科技大学青岛计算技术研究院 | 一种农作物信息模型构建方法 |
CN111949706A (zh) * | 2020-08-03 | 2020-11-17 | 北京吉威空间信息股份有限公司 | 面向土地大数据分布式挖掘分析的存储方法 |
CN111949706B (zh) * | 2020-08-03 | 2023-11-14 | 北京吉威空间信息股份有限公司 | 面向土地大数据分布式挖掘分析的存储方法 |
CN112163724A (zh) * | 2020-08-05 | 2021-01-01 | 宁夏无线互通信息技术有限公司 | 环境信息数据资源整合集成*** |
CN112231430A (zh) * | 2020-12-10 | 2021-01-15 | 中智行科技有限公司 | 一种地图数据管理方法及装置 |
CN112558867A (zh) * | 2020-12-10 | 2021-03-26 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种对记录器存储空间高效使用的方法 |
CN112558867B (zh) * | 2020-12-10 | 2024-04-09 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种对记录器存储空间高效使用的方法 |
CN117971802A (zh) * | 2024-01-29 | 2024-05-03 | 广东开放大学(广东理工职业学院) | 一种农业类数据库的构建方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101853305A (zh) | 一种构建综合农业环境信息数据库的方法 | |
Yao et al. | 3DCityDB-a 3D geodatabase solution for the management, analysis, and visualization of semantic 3D city models based on CityGML | |
CN105849726B (zh) | 用于高效地支持通过分层标记数据的即席查询的通用索引 | |
CN105989150B (zh) | 一种基于大数据环境的数据查询方法及装置 | |
CN101493825B (zh) | 一种gis中间件配置管理方法 | |
CN101477549B (zh) | 知识库支持下的空间数据库设计***和方法 | |
Zalipynis | Chronosdb: distributed, file based, geospatial array dbms | |
CN108804602A (zh) | 一种基于spark的分布式空间数据存储计算方法 | |
CN103177103A (zh) | 一种三维地理信息***管理平台 | |
MacDonald | Building a geodatabase | |
Eldawy et al. | Sphinx: empowering impala for efficient execution of SQL queries on big spatial data | |
Frozza et al. | JS4Geo: a canonical JSON Schema for geographic data suitable to NoSQL databases | |
Schek et al. | From extensible databases to interoperability between multiple databases and GIS applications | |
Nativi et al. | Unidata’s common data model mapping to the ISO 19123 data model | |
Yue et al. | 1.06 GIS Databases and NoSQL Databases | |
Smith et al. | Database and modeling systems for the earth sciences | |
Oosterom et al. | Generic query tool for spatio-temporal data | |
CN108304495A (zh) | 一种wfs的服务接口的实现方法及实现装置 | |
Kalogianni et al. | A 3D LADM prototype implementation in INTERLIS | |
Zarytskyi et al. | Automation of geospatial objects converting into the classifiers according to the European data standards | |
Gong et al. | Object-oriented and integrated spatial data model for managing image, DEM, and vector data | |
Smith et al. | MDBS: A modeling and database system to support research in the earth sciences | |
Slave | USING ARCMAP TO CREATE A CADASTRAL DATABASE. CASE STUDY. | |
Wang et al. | Spatial aided decision-making system for E-Government | |
Turker et al. | The design and implementation of a cadastral database with a spatiotemporal modeling approach in Turkey |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20101006 |