前言:本站为你精心整理了数据采集论文:林业资源数据采集体系范文,希望能为你的创作提供参考价值,我们的客服老师可以帮助你提供个性化的参考范文,欢迎咨询。
本文作者:陈刚刘鹏举李志清唐小明作者单位:中国林业科学研究院资源信息研究所
系统框架设计
林业资源监管通用数据采集系统采用C#语言、ArcEngine和开普互联智能表单平台进行设计开发。系统分为B/S架构的Web配置系统和C/S架构的桌面系统两部分,如图1所示。这种设计方式基于:1)B/S架构已成为林业业务系统的主流架构,借助配置系统以便将通用数据采集系统与业务系统进行集成;2)使桌面系统可以专注于数据采集,实现与业务流程、功能的松散耦合。Web配置系统包括数据交换以及桌面系统的配置管理功能模块,支持本地和远程配置方式。数据交换通过将事先制作完成的支撑数据提供给桌面系统,作为各业务数据采集系统运行的基础,并将采集完成的数据返回数据库,提供给其他业务系统使用。配置管理支持对采集数据、支撑数据以及桌面系统功能界面的配置,并将配置结果保存在XML配置文件中,作为桌面业务系统运行的基础。通过配置系统为桌面系统提供支撑数据并进行相关配置,就可以为不同业务定制数据采集系统。桌面系统包括通用功能元件、业务系统配置、动态数据的管理以及界面的生成4个功能模块。通用功能元件包含数据采集的一般功能。业务系统配置提供配置内容的读写功能。动态数据管理根据配置实现对不同业务支撑数据的访问、更新以及采集数据的导出。界面生成根据配置信息生成特定于业务的系统界面。桌面系统框架采用变种MVC模式(模型--视图--控制器),该模式采用数据驱动设计[9],使得视图、控制器和模型可以随业务而变。在数据层,空间数据与属性数据分表存储,空间数据表只存储与业务无关的图形信息,从而能以统一的形式访问、处理及显示空间数据,不受业务变化的影响。而与业务紧密相关的属性数据单独存储在属性表中,并将与属性数据相关的视图、控制器及模型的变化存储在用开普互联智能表单平台制作的表单文件、数据映射文件中,系统在运行时就可以基于表单文件、数据映射文件及配置文件动态地构建视图、控制器及模型,从而将业务数据的变化隔离在源代码之外,使源代码高度内聚,不会变异。由于两类数据的处理方式不同,数据间的完整性通过逻辑校验来保证。
关键技术及实现
林业资源监管通用数据采集系统采用的关键技术包括智能配置、界面自动生成和动态数据管理技术。
1智能配置技术
智能配置技术是指将与业务相关的变化信息存储在配置文件中,系统在运行时读取配置文件,根据其中的信息实现对不同业务数据采集功能的定制。当业务数据采集需求发生变化时,仅需通过改变配置信息就能满足需求,这样既增加了系统的灵活性,又能保持系统的稳定。数据采集系统通过配置系统实现智能配置,主要包括系统配置、采集数据配置两方面。(1)系统配置。系统配置包括支撑数据、用户功能界面配置两部分。支撑数据的配置内容包括数据版本号,采集人员的账户信息及该账户关联的业务名列表,支撑数据中各数据名称、类型、对数据操作的命令和命令状态列表。版本号为自然数值,作为数据是否需要更新的依据;业务名列表的形式为“Reforestation/造林,Harvesting/采伐”,前面是业务系统的英文名,后面是对应的中文名,之间用反斜杠隔开,指明账号可以使用的数据采集系统;数据名称为数据文件的名称,类型包括数据库、表和普通文件。命令指明了如何处理数据,包括覆盖、更新、添加、删除4种。命令状态包括已执行或未执行,决定系统是否执行命令。用户功能界面配置内容包括功能元件、逻辑验证规则和表单配置。功能元件和逻辑验证规则的配置目标可以是单个图层或整个系统。功能元件的状态包括可见、隐藏、可用与禁用,当不需要使用某项功能时,根据功能元件的名称将其状态设置为隐藏或禁用即可。逻辑验证规则的配置内容包括SQL语句及其描述,通过执行SQL语句进行验证;SQL语句的执行方式不随业务变化,规则的描述为界面上呈现给用户的信息,如地类检查。表单的配置目标是图层,包括图层名、表单文件名及其描述,通过将图层名和表单文件名配对存储,就能根据图层找到对应的表单进行属性数据的录入,描述为用户界面上呈现给用户的信息,如造林模式表。(2)数据配置。采集数据的配置包括需要导出的数据版本号、表名称、数据记录主键序列以及其他数据文件的名称。数据版本是自然数值,作为外界是否需要下载该数据的依据。系统根据数据名称和主键序列导出数据。
2功能界面自动生成
功能界面自动生成以功能元件为基础,通过建立配置文件完成用户界面的按需定制。(1)系统功能元件。系统是功能元件的集合,功能元件可能是单个功能或一类功能,如图形创建是单个功能,图形编辑是一类功能,在界面上表现为单个控件。本文使用功能元件名称、控件名称、功能状态及功能描述来表达功能元件。对于用户而言,只需配置功能名称及状态来控制功能界面。系统功能元件信息存储在XML文档中,该文档需要按照模板文件制作,配置系统解析该XML文档,并在界面上列举出功能元件列表供用户配置。(2)界面生成算法。数据采集系统中涉及界面变化的模块主要包括:1)空间编辑和拓扑校验界面。该界面因功能是否需要使用而变化。2)属性编辑界面。该界面随数据内容和结构而变化。3)逻辑校验界面。该界面随校验规则内容而变化。界面自动生成以功能元件及系统配置文件为基础,通过解析配置文件动态生成用户界面,生成流程如图2所示。3个界面的生成算法各有不同。空间编辑和拓扑校验界面的生成是根据配置对WindowsForm控件的可见性和可用性进行控制来实现的;属性编辑界面的生成是通过加载开普互联智能表单文件到WindowsForm窗体中来实现的,开普互联智能表单界面如图3所示;逻辑校验界面的生成是通过加载验证规则到WindowsForm窗体中的列表控件中来实现的。
3动态数据库管理
动态数据库是结构和数据都可以随需要而变化的数据库[10--11],在本文中是指整个数据库的改变。数据采集系统以单一业务配置为基础,每个采集人员配备独立的设备和采集系统,但在人力和设备资源有限的情况下,数据采集系统需要支持多个业务的数据采集或多个采集人员共用一套设备和系统。系统需要根据业务、人员职责调用不同的支撑数据。解决方案为:建立以采集人员账号名和业务名组合命名的文件夹,通过配置系统将不同的支撑数据放到对应的文件夹内。当用户登录系统时,系统依据账号列出可操作业务,采集人员从中选择业务名称,系统就可以将正确的支撑数据供给用户使用。
4数据交换
数据交换包括支撑数据的上传及采集数据的下载,使用配置系统完成,交换的数据放在该系统目录下。支撑数据的上传有2种情况:1)采集系统的定制。将所有支撑数据以添加命令上传,桌面系统运行时会判断是否存在数据,如果不存在数据,就会从配置系统目录拷贝数据到本系统目录,结合这些数据形成特定于业务的采集系统。2)部分支撑数据的变更。将部分支撑数据以添加、删除、更新3种命令之一上传,桌面系统运行时检查配置系统目录下的数据版本号,如果版本号小于配置系统目录下数据版本号,就按照配置的命令进行更改。数据采集完成并通过校验后,由桌面系统将数据导出并压缩,然后拷贝到配置系统目录。每导出一次数据都会累加版本号,系统用户根据版本号下载最新的采集数据。
应用实例
云南省临沧市数据采集系统包括区县级造林作业设计子系统、林权宗地变更子系统以及采伐作业设计子系统,全部在林业资源监管通用数据采集系统基础上配置而成。配置分为2个步骤:1)准备支撑数据。包括创建Geodatabase数据库、制作MXD文件、表单文件以及表单和数据库的映射文件。2)上传支撑数据,使用配置系统对支撑数据、功能界面以及采集数据进行配置并生成配置文件,与支撑数据一起作为桌面系统运行的基础。3种业务的配置文件及支撑数据生成的系统界面如图4~6所示。在界面上方,3个业务系统都具备相同的数据编辑、校验、查询、地图制作以及数据交换工具;界面主体为地图展示区域,不同业务系统加载相应的MXD文件即显示不同的地图数据;界面右方为属性录入界面,整个界面通过加载开普互联表单文件生成,不需要改变系统源代码就可以为不同业务显示不同的属性录入界面。