独上高楼网站
  •    你所在位置:首页 3SGIS理论〉国土资源通用GIS业务构件的设计与实现
  • 国土资源通用GIS业务构件的设计与实现
  • 作者:范延平、吴洪涛  文章来源:国土资源部信息中心  发布日期:2008-11-20  浏览次数:42
  • 打印这篇文章
  • 国土资源通用GIS业务构件的设计与实现

     

    范延平、吴洪涛

    (国土资源部信息中心,北京市阜内大街64号,100812

     

    摘要:针对国土资源业务空间数据应用现状和存在重复建设严重、开发效率低、异构空间数据难以共享等问题,提出了建设满足业务GIS需求共性和GIS平台无关性,并可配置、可扩展、可复用的国土资源通用GIS业务构件,按照统一的接口规范进行了GIS业务构件配置工具和后台解析引擎的设计与实现,并在国土资源部电子政务系统和土地批后监管系统中得到了初步应用。

    关键词: GIS业务构件,工具,引擎,可扩展,可配置,可复用

     

    1、国土资源业务空间数据应用现状及存在的问题

    空间数据是国土资源业务管理数据的重要组成部分,目前的国土资源业务系统中存在ArcgisMapgisSurperMap等多种GIS软件应用,在一个单位存在两种以上的GIS格式数据时,不同GIS格式数据之间共享困难,同时不同的国土资源管理业务对于空间数据的利用方式存在业务多样性,但其中基本的空间数据管理、浏览、编辑等需求又具有一定的相似性,在GIS业务功能开发方面存在重复建设、效率低下、可复用性差等问题。

    针对这些问题,在分析目前GIS业务构件建设现状的基础上,本文提出建立通用国土资源通用GIS业务构件,在避免重复建设、提高软件开发效率、实现异构空间数据共享等方面进行一定的研究、探索和实践。

    2、通用GIS业务构件设计思路

    国土资源通用GIS业务构件的总体设计思路是针对目前国土资源行业中存在不同的GIS数据格式,为实现其共享,将按照统一的规范进行其空间数据配置,即对于各种格式的GIS数据(包括ArcInfoMAPGISSuperMap等),使用配置搭建工具通过统一的接口规范来调用相应的组件式GIS控件(如ArcObjects/MapObjectsMAPGISSuperMap等)进行空间数据配置,通过通用GIS解析引擎调用相应的GIS服务(如ArcIMS/ArcServerMAPGISIMSSuperMapIMS等)来浏览和操作其空间数据,以实现异构空间数据共享和互操作。基于这一思路,即使今后需要扩展支持其他GIS数据格式时,只需在配置工作和引擎服务中按照统一的操作方式增加相应的配置和引擎,即可进行其空间数据的浏览、编辑、查询、分析等功能,实现GIS平台无关的空间数据管理和共享。

    同时将国土资源不同业务之间通用的空间数据管理和应用需求进行分析、归纳,内置在通用的GIS构件中,通过接口按照业务类型和功能点的不同提供构件复用,通过配置工具来定制GIS数据管理和功能管理,以提高业务系统GIS功能的开发效率,减少重复建设。

    3、通用GIS业务构件设计与实现

    3.1通用GIS业务构件总体框架设计

    按照构件的设计思想和通用业务系统开发生命周期(配置Configration Time和运行Run Time两个阶段),将通用GIS构件分成基于C/S的配置搭建工具、基于B/S的构件引擎服务两个部分,在国土资源不同业务系统中通过接口调用通用GIS构件引擎提供相应的GIS展现和分析功能,通用GIS业务构件总体架设计如图3-1所示。

     

    3-1通用GIS业务构件总体架图

    基于统一的配置规范和接口,利用不同GIS平台提供组件(mapObject/MapgisObject等)封装形成通用GIS业务构件配置工具,将配置信息存于Gis配置库中,Gis业务构件引擎通过读取配置库中的配置信息,通过接口按照图层权限和业务功能,为国土资源业务系统提供基于ArcImsMapgisImsWebGis服务的地图浏览、空间查询、统计分析、数据编辑和地图打印等功能和特定业务规则的空间分析功能。下面从配置库、配置工具和引擎服务三个部分进行阐述。

    3.2通用GIS业务构件配置库设计

    在国土资源业务对于空间数据的应用需求的分析和总结的基础上,通用GIS业务构件配置规范可划分为系统服务配置、符号管理、图层管理专题管理、地图编辑功能配置、图层权限配置、要素管理、查询统计配置、打印模板配置、地图操作日志配置等10个部分。其中,空间数据配置的核心是图层定义,分为物理图层、逻辑图层、专题图三大类。物理图层与存储在空间数据库中的物理表相对应,包含空间数据源位置、物理表名称、字段、空间参考等信息,通过配置物理图层对应的图层类型、要素定义字典、图层属性字段定义字典以及图层名称等实现对空间数据的使用和管理;逻辑图层是在物理图层上,按照业务分类所配置的图集,包含物理图层和下级逻辑图层等,是对物理图层归类,如土地利用规划图集、土地利用现状图集、业务工作图集等;专题图是在逻辑图层基础上,按照业务类型(建设用地审批中的单独选址审批专题、城市分批次专题、城市用地专题,建设用地预审专题、探矿权专题、采矿权专题等)的不同,定义具体业务的空间数据内容以及具体图层的操作方式,具体包括图层的显示顺序,显示符号,颜色以及图形操作界面风格、位置等属性,同时结合业务和岗位设置对指定具体图层的操作方式和权限,满足业务系统中对空间数据的浏览、编辑、查询和分析等操作需求。

    通用GIS业务构件配置库设计遵循以下规范:

    1)支持异构多尺度分布式的存储要求

    按照“地图服务—物理图层—图层明细”三层体系来存放空间信息,如图3-2所示。

     

    3-2 图层存储的三层体系

    系统服务表(tcSysServer)用于配置数据所在服务器,在物理图层表结构中有一个“系统服务器标识”字段,用于指明该物理图层所在数据库服务器。这样,各空间数据库就好似一个整体,但并不实际存储在一个物理位置,采用分布式数据库存储方案的优点在于各部门可自行维护所负责的空间数据,信息中心进行统一管理。在系统服务表中,通过IMS工作区字段确定该服务需要调用的IMS服务,具体类型为ArcSDE服务(Oracle)、ArcSDE服务(SQL Server)、ArcGIS文件共享、MapGIS网络数据(Oracle)、MapGIS网络数据(SQL Server)、MapGIS文件共享、Wms等。物理图层表和SDE中存储的图层一一对应,图层属性表和物理图层表的结构类似,差别在于图层属性表中没有空间列。图层明细表用于具体定义一个图层所包含的物理图层的系统服务器标识、比例尺标识、范围左边界、范围右边界、范围上边界、范围下边界、显示坐标系标识、图层颜色、状态属性、捕捉方式标识、视野控制、最小视野、最大视野、自动标注字段、自动标注视野、自动标注字体大小、自动标注字体名称、自动标注字体属性、自动标注字体颜色、自动标注偏移X、自动标注偏移Y等。通过比例尺标识来控制图层是否显示。

    2)支持多级图层管理

    按照“专题分组—专题—图层明细”的体系来管理图层,如图3-3所示,定义专题分组,其下定义专题,每个专题中又可分别定义包含有哪些图层。专题的完整信息由专题表、专题图层表、专题图层明细表、专题主物理图层表、专题图层顺序表、专题物理图层顺序表共同描述。每个专题都包含一个地图数据类型属性,用于指明所包含数据的格式,如ArcInfo格式、MapGis格式等,为支持多GIS平台的空间数据操作奠定了基础。

    3-3 多级图层管理

    3)可配置的地图打印模板

    打印模板由图框、图签、图例、符号、比例尺等控件构成,如图3-4所示。地图打印设置信息由图签表(tcMapStamp)、图例表(tcLegend)、打印模板表(tcLayout)、打印模板专题表(tcLayoutMap)、图签参照表(tcMapStampRef)、图例参照表(tcLegendRef)、比例尺参照表(tcScaleBarRef)等共同描述。

    3-4 地图打印模板结构

    4)支持要素编码标准的符号化方式

    通过要素编码模板可将国土资源管理图形要素编码标准导入,要素编码本身不反映点、线、面类型,通过要素编码可以确定图层符号化方案,而无需人工定义,提高图层渲染效率和展示方式的规范性和统一性。配置信息由要素表(tcFeature)、编码标准表(tcCodeStandard)、 编码定义表(tcCodeDef)、 编码转换表(tcCodeTrans)组成。要素表定义了要素的名称、编码、标准要素编码、上级要素标识、要素描述、符号标识、标准层代码、字体名称、字体属性、符号颜色、符号大小、轮廓、轮廓颜色、旋转角度、显示次序等内容。

    5)可配置的查询统计

    基于数据库表,通过模糊查询表(tcBlurQuery)、模糊查询明细表(tcBlurQueryDetail)、固定统计表(tcFixedStat)、固定统计明细表(tcFixedStatDetail)、匹配类型字典表(tcDicMatchType)、统计类型字典表(tcDicStatType)基于数据库表方式,实现图层数据的查询、定位和简单报表生成。

    6)支持地图编辑功能配置

    由于不同GIS软件的浏览和编辑等功能模块接口各不相同,同时为实现通用GIS构件中的功能模块可配置性和平台无关性,通过GIS功能按钮表(tcGisFunsButton)、GIS功能按钮类型字典表 tcDicGisFunsButtonType)实现基于地图编辑功能模块的配置。按钮类型标识字段标识不同业务类型编码,如建设用地审批、建设用地预审、探矿权、采矿权、土地监管等分别用编码表示。

    1 GIS功能按钮表(tcGisFunsButton

    字段描述

    字段名

    数据类型

    字段长度

    是否可空

    P

    按钮标识

    ButtonID

    int

     

    NOTNULL

     

    按钮类型标识

    ButtonTypeID

    int

     

    NULL

     

    编辑图层标识

    LayerID

    int

     

    NULL

     

    缺省专题标识

    MapID

    int

     

    NULL

     

    GIS类型

    GisTypeID

    int

     

    NOTNULL

     

    反馈URL

    ReponseURL

    varchar2

    255

    NULL

    【注】GIS功能按钮:用于配置GIS功能参数。按钮类型标识:参见GIS功能按钮类型字典表。

    2 GIS功能按钮类型字典表 tcDicGisFunsButtonType

    字段描述

    字段名

    数据类型

    字段长度

    是否可空

    P

    按钮类型标识

    ButtonTypeID

    int

     

    NOTNULL

     

    按钮类型名称

    ButtonTypeName

    varchar

    40

    NOTNULL

    说明:表格内容如下

    标识

    名称

    1

    图形预览

    2

    坐标画图

    3

    重叠检查

    4

    获取坐标

    5

    坐标转换

    6

    双窗口……

     

    3.3通用GIS业务构件配置工具设计与实现

    1 配置工具接口规范设计

    通用的GIS构件接口规范如图3-5所示,分成GIS平台无关和GIS平台相关两部分。GIS平台无关部分包括基础类(地图窗口类TdlMapWindow、地图目录类TdlMapContent、地图控件类TdlMap、逻辑图层类TdlLayer、物理图层类TdlPhyLayer、地图选择集类TdlMapSelection等等)和操作类(地图浏览类TdlMapView、地图编辑类TdlMapEdit等等)两大部分。

    3-5 配置工具接口规范

    其中,