基于GIS的产业集群空间数据库构建技术研究
在产业集群发展过程中,需要对产业集群的发展状况进行及时地分析和评价,并作出合理的决策。然而,目前在产业集群发展分析和评价方面,缺乏强有力的信息系统支持、对海量产业集群数据的有效管理以及以地域特点为核心的区域经济分析方法和机制。因此迫切需要研究和采用新的数据组织和管理机制,合理高效地构建面向产业集群分析与评价的数据库管理系统和决策支持系统。
基于GIS的空间数据库是目前信息领域中广泛应用的一项技术,它具有界面风格人性化、信息表达更加形象直观、操作简便等特点,实现了文本、图形图像信息相结合的定位、查询、检索模式。通过空间数据库可以将抽象的数据与空间位置建立联系,用户可以在地图上直接对数据库的内容及相关的图表进行形象化、直观化的查询,通过建立专题地图,用饼图、直方图等来表示统计数据,帮助人们加深对信息的理解,使企业管理者和政府部门能够更容易的做出正确决策。
本文从产业集群的实际需求出发,考虑到空间数据的复杂性,采用大型关系数据库Oracle与ArcGIS相结合,结合空间数据库搜索引擎等相关技术,解决产业集群技术信息空间数据库中海量数据的存储、索引、管理、查询、处理及分析挖掘等问题。
1.基于GIS的空间数据库研究现状与问题
1.1 基于GIS的空间数据库研究现状
1)GIS技术现状:GIS技术是近年来发展迅速的一门信息技术,许多计算机领域的新技术,如面向对象技术、三维技术、图象处理和人工智能技术都逐渐应用到GIS系统的开发中,并在水利、气象、林业等领域得到了广泛应用,在空间数据组织模型、分布式多级服务器工作协同工作机制、时态GIS、TB级空间数据仓库、空间元数据库、跨平台支持、三维空间建模及可视化等关键技术研究和基础软件开发等方面取得一定成果。
2)空间数据库技术:空间数据库系统是描述、存储和处理空间数据及其属性数据的数据库系统。空间数据库是随着地理信息系统的开发和应用而发展起来的数据库新技术,这种技术与应用紧密结合,大多数作为地理信息系统的基础和核心的形式出现。由于传统数据库在空间数据的表示、存储和检索上存在许多缺陷,从而形成了空间数据库这一新的数据库研究领域。它涉及计算机科学、地理学、地图制图学、摄影测量与遥感、图像处理等多个学科。
空间数据库管理系统的主要功能是提供对空间数据和空间关系的定义和描述;提供空间数据查询语言,实现对空间数据的高效查询和操作;提供对空间数据的存储和组织;提供对空间数据的直观显示等。空间数据库管理系统比传统的数据库管理系统在数据的查询、操作、存储和显示等方面要复杂许多。
Oracle Spatial是Oracle公司推出的一种不需要中间接口而直接使用数据库操作系统来存储和管理空间数据的空间数据库组件。在空间数据的管理中,Oracle Spatial处于业内领先的地位。目前在Oracle Spatial数据库系统中已经成功实现了对空间数据的管理。
1.2基于GIS的空间数据库的应用现状与关键问题
目前,空间数据库的成果大多数以地理信息系统的形式出现,虽然已经在环境和资源管理、土地利用、城市规划、森林保护、人口调查、交通、税收、商业网络等领域得到广泛应用。但在构建过程中,仍存在一些技术难点和问题,主要表现在:
1)多数据格式与空间数据集成:空间数据库所涉及数据信息既包括地理信息,也包括技术信息、经济信息等其他数据信息,来源多种多样,而且格式不统一。数据的管理和维护需要规范不同数据库数据格式。另外,空间数据具有多语义性、多时空性和多尺度,较为复杂。如何将属性数据和地理数据较好的集成是空间数据库构建的一个难点。
2)海量数据与多格式数据的存储管理:产业集群技术信息与地理信息包含的数据量非常庞大。在传统空间数据的存储与管理模式中,数据量越多,文件就会越大,数据的处理就会越复杂,其存储、检索、管理也就越困难。由此可见,采用以往传统的存储机制管理海量数据,显然已经不能满足要求。如何解决海量数据存储管理也是空间数据库构建的技术难点之一。
3)数据抽取与导入技术:空间数据库涉及庞大的数据量,如何将数据源导入到空间数据库,如何根据空间数据的特点建立空间字段,将空间属性导入相应的字段,进行元数据表的更新和空间索引的建立,同时保证空间数据库的安全性和一致性,也具有较高的技术难度。
2 基于GIS的产业集群空间数据库设计与实现
2.1 基于GIS的产业集群空间数据库设计
产业集群空间数据库的技术路线如图1所示。数据库按功能分为数据库管理系统和数据库维护系统。其中管理系统包括数据的编辑录入、转换更新和数据库接口设计;数据库维护系统包括用户与权限管理、系统备份与恢复等子系统。
图1 数据库技术路线
2.2 基于GIS的产业集群空间数据库实现方法
在基于GIS的产业集群空间数据库设计的基础上,采用oracle spatial进行空间数据库的开发,通过oracle spatial实现了海量空间数据集成管理,并且解决了多源空间数据无缝集成以及空间数据的多重表达等问题。Oracle Spatial通过对象-关系模式来进行空间数据的存储,把所有空间要素对象化,将空间几何数据和属性数据一同存储在数据库中,并且每一个空间对象对应数据库中的一行。主要通过元数据表、空间数据字段SDO_GEOMETRY和空间索引来共同管理空间数据,并在此基础上提供了一系列空间查询和空间分析的函数,让用户可以专注于进行更深层次的地理信息系统开发,降低了系统开发的成本。
2.2.1 基于OpenGIS的空间对象设计与实现
产业集群空间数据库的数据都存储在空间字段SDO_GEOMETRY中。SDO_GEOMETRY是按照OpenGIS规范定义的一个对象,其创建方式如下所示。
CREATE TYPE sdo_geometry AS OBJECT(
SDO_GTYPE NUMBER,
SDO_SRID NUMBER,
SDO_POINT SDO_POINT_TYPE,
SDO_ELEM_INFO MDSYS.SDO_ELEM_INFO_ARRAY,
SDO_ORDINATES MDSYS.SDO_ORDINATE_ARRAY);
其中SDO_GTYPE表示几何图形类型,如图2所示。
SDO_SRID用来存放系统ID,进行系统维护使用,Number型结构;
SDO_POINT定义为一组变长数组,存储点的X、Y和Z坐标;
SDO_ELEM_INFO定义为一组变长数组,解释如何存储坐标;
SDO_ORDINATES定义为一组变长数组,存储组成空间图形的坐标。
图2 基于OpenGIS的空间对象类型
2.2.2 基于GIS的产业集群空间数据库元数据管理
空间数据包含多个图层,且具有不同的比例尺,因此,为了高效地管理和查询空间数据,Oracle Spatial提供了一个全局表SDO_GEOM_METADATA_TABLE来管理系统中的所有空间数据表的元数据。Oracle Spatial对空间数据的管理和组织体系结构图如图3所示。
图3 Oracle Spatial对空间数据的管理和组织体系结构
元数据视图的基本定义为:
VIEW SDO_GEOM_METADATA(
TABLE_NAME VARCHAR2(32),
COLUMN_NAME VARCHAR2(32),
DIMINFO MDSYS.SDO_DIM_ARRAY,
SRID NUMBER
);
其中TABLE_NAME:为含有空间数据的数据表的表名。
COLUMN_NAME:包含用户创建的空间数据表中类型为SDO_GEOMETRY的列名。
DIMINFO:是一个按照空间维顺序排列的SDO_DIM_ELEMENT对象的动态数组。
SRID:用于标识与几何对象相关的空间坐标参考系。
安徽汽车产业集群Oracle Spatial空间数据库的元数据表存储了有关安徽汽车企业空间数据的数据表名称、空间字段名称、空间数据的坐标范围、坐标参考信息以及坐标维数说明等信息。用户通过元数据视图(SDO_GEOM_METADATA)访问元数据表[2]。
2.2.3 基于空间索引的数据查询
Oracle将空间索引功能引入数据库引擎,是Spatial的一个关键特征。空间索引是根据空间准则把搜索限制在指定数据空间内的一种机制,从而可以大大提高空间数据查询和分析的效率。Oracle Spatial 提供了 R-tree 索引和 Quad-Tree(四叉树)索引,安徽汽车产业集群Oracle Spatial空间数据库采用R-tree建立空间索引。
R-tree 索引是通过定义每一个对象的最小外接矩形(Minimum Bounding Rectangle,MBR)来匹配空间几何实体的,对于指定的图层,R-tree索引实际上就是该层上所有几何实体的分层MBR索引[3]。分层索引结构如图4所示。
图4 基于MBR的R树索引分层结构
创建R-tree 索引是用 CREATE INDEX 语句:
CREATE INDEX [schema.]<index_name> ON [schema.] <tableName> (column)
INDEXTYPE IS MDSYS.SPATIAL_INDEX;
2.2.4多源空间数据的导入
产业集群信息的基础数据源为集群属性数据和图形数据,以及地形图、政区图等地图信息,主要包括:
1)基础地理信息,包括地形、行政分区、交通(铁路、公路)、居民地、水系、公园景区、医院、银行等。
2)集群专题信息统计,包括集群中企业分布统计数据;
3)集群经济信息统计,包括集群全年工业总产值、新产品产值、出口交货值、从业人员等统计数据。
其中MapInfo格式矢量地图可以利用MapInfo公司提供的上载工具EasyLoader将数据上载到Oracle数据库中[4]。将来地图数据发生了变更,也只需要通过EasyLoader的刷新表功能,即可将发生变化的地图数据在Oracle数据中更新[5]。该工具提供了命令行上载与窗口上载两种方法。该工具在底层通过调用OCI(Oracle Call Interface)把数据写入数据库。EasyLoader上载示意图如图5所示。
图5 EasyLoader上载示意图
3. 基于GIS的空间数据库系统开发与应用
在研究基础上,本文以安徽省企业产业集群为应用对象,构建了安徽省汽车产业集群空间数据库管理系统,实现属性信息与地图信息的方便集成和修改,可以直接形成空间数据库,并开发了相应的平台和工具,供系统查询、统计和分析所用。
3.1基于GIS的空间数据库管理系统开发
空间数据库具有数据种类丰富、存储量大、结构复杂等特点,对数据进行高效存储与管理是数据库建设乃至将来整个系统能够高效运行的关键环节,为此开发了专用的空间数据库管理系统。
基于GIS的空间数据库管理系统是基于C/S体系结构的,系统开发工具为Microsoft Visual C#;空间数据库采用Oracle9i,运用ArcGIS Server进行地图发布,采用MapInfo Professionalo进行地图的编辑和属性数据的编辑,采用EasyLoader for Oracle将地图数据上载到Oracle中。
该系统以数据库为支撑,实现对空间数据和属性数据的存储、访问和管理,并为其他应用系统提供数据服务,其主要功能包括图形数据入库、图形数据编辑、可视化显示、属性数据入库、属性数据管理、空间数据和属性数据关联建立、数据的输出、查询统计和打印输出等。
3.2 安徽省汽车产业集群空间数据库应用
实现空间数据和属性数据的一体化存储和管理是数据库构建及GIS应用系统高效运行的关键,在利用空间数据库管理系统解决该关键技术问题的基础上,开发了安徽省汽车产业集群信息服务平台。
该系统采用Oracle Spatial作为空间数据库服务器,MapInfo作为地图信息和空间对象信息服务器,通过ArcSDE数据库引擎技术实现系统功能应用与空间数据库的分离。
系统通过将属性数据与空间数据结合,实现基于空间数据的信息查询、统计分析、对比监测、空间分析、专题应用等功能,同时提供开放式的对外服务接口,实现多格式数据的交换功能。系统通过各类信息的可视化显示以及多样化的图形显示,为决策者提供更全面、直观的依据,提高其通览全局的决策能力。
4.总结
本文对产业集群空间数据库构建中的关键技术进行了研究与开发,提出产业集群属性信息与地理信息的集成原则,开发产业集群空间数据库中属性信息与GIS的集成的配套软件工具,实现属性信息与地理信息的方便集成和修改。通过汽车产业集群信息服务平台,面向集群内部、集群间企业和社会提供区域内较为全面的支撑技术信息服务,以推动制造业产业集群快速和可持续发展,不断提高我国制造业的自主创新能力和信息化水平。













