APP下载

基于ArcSDE与SQL Server的建筑物变形监测空间数据库构建

2018-09-26李亚赵俊三

软件导刊 2018年7期

李亚 赵俊三

摘要:针对建筑物变形监测数据库的数据管理问题,利用ArcSDEforSQLserver搭建建筑物变形监测空间数据库,并采用Visual2010+C#编程语言+Arcengine开发环境对ArcSDE数据库连接及空间数据加载进行了实例分析。研究结果表明,ArcSDE空间数据引擎技术能够较好地进行建筑物变形监测空间数据库构建,且能够实现空间数据和属性数据的统一管理。

关键词:GIS;ArcSDE;Geodatabase;ArcEngine;建筑物变形监测

DOI:10.11907/rjdk.181121

中图分类号:TP392

文献标识码:A文章编号:1672-7800(2018)007-0204-05

Abstract:Inviewofthetraditionalbuildingdeformationmonitoringdatabasethatcannotbeabletounifymanagementofspatialdataandattributedata,weuseArcSDEForSQLservetobuildthebuildingdeformationmonitoringspatialdatabase,andemploystheprogramminglanguageofVisual2010+C#andarcenginedevelopmentenvironmenttoconductacasestudyofArcSDEdatabaseconnectionandspatialdataloading.TheresearchshowsthattheArcSDEspacedataenginetechnologycanestablishtheconstructionofbuildingdeformationmonitoringspacedatabasebetter,andcanrealizetheunifiedmanagementofspatialdataandattributedata.

KeyWords:GIS;ArcSDE;Geodatabase;ArcEngine;buildingdeformationmonitoring

0引言

建筑物在建设和使用过程中,由于基础地质构造不均匀、地下水位变化、土体物理性质不同、建筑物荷载作用等原因会产生不同程度的变形[1]。所以在建筑工程建设和使用过程中需要利用专门的仪器对建筑物的变形现象进行周期性监测。由于在建筑物变形监测工作中涉及大量空间数据,所以如何高效地对建筑物变形监测空间数据和属性数据进行结合与统一管理成为研究人员亟待解决的问题。

通过查阅相关文献资料,从20世纪90年代开始,我国学者开始了对变形监测系统的研究。如李志伟等[2]开发了集数据输入、计算、查询、报表打印、曲线绘制、变形分析等功能于一体的边坡变形监测信息系统,并将其应用于边坡监测中;石杏喜[3]等研制了具有变形监测数据管理、数据分析、报表输出、图形管理等功能的变形监测信息系统,并将其应用于地铁施工监测中;赵显富[4]等对变形监测数据库管理系统进行了研发,并分析了数据库的设计和实现。随着GIS技术的发展,研究者们开始进行空间数据库研究,基于商业关系数据库平台,结合SDE中间件技术进行空间数据库研究成为其中的主流方法[5]。基于ArcSDE的空间数据库构建技术被运用于各类测绘数据分析系统中[6-9],利用ArcSDE空间数据引擎技术进行建筑物变形监测空间数据库构建却并不多见,且基于ArcSDE空间数据引擎技术的空间数据库构建研究都是基于ArcSDE与Oracle连接的应用研究。因此,本文提出在ArcSDE空间数据引擎技术与SQLServer2008R2平台支持下,研究与构建建筑物变形监测空间数据库。

1关键技术介绍

1.1SqlServer关系数据库

SqlServer是由微软推广和开发的关系型数据库,其最大优势在于集成了微软的各类产品和资源,且提供了强大的可视化界面与高度集成的管理开发工具。作为一个社会普遍通用的数据库管理系统,SqlServer关系型数据库拥有完整的数据管理功能。

1.2ArcSDE空间数据引擎

ArcSDE是ArcGIS软件平台的一员,主要作为一个空间数据库中间件技术。ArcSDE以关系型数据库为存储中心,为前端的GIS应用程序提供快速的空间数据访问[10]。ArcSDE体系结构如图1所示,它是在关系数据库管理系统(RDBMS)中储存和管理多用户空间数据库的通道[11]。ArcSDE可利用原關系型数据库强大的管理功能,对空间数据和属性数据进行统一管理。目前企业级GIS系统基本都是利用ArcSDE作为空间数据库引擎,进行数据库到客户端的数据交互。ArcSDE支持Oracle、SqlServer、PostgreSQL、IBMDB2和IBMInformix5种关系型数据库,本文主要利用ArcSDEforSQLserver进行建筑物变形监测空间数据库的构建。

1.3Geodatabase数据模型

Geodatabase是由ESRI推出的一种面向对象的空间数据模型,其基本对象组织思想是使用对象类、关系类,以及各种网络与相关规则定义空间实体,将其有机地统一起来,综合表达现实实体及其之间的复杂关系[12]。Geodatabase数据模型具有优秀的关系数据集、要素类和对象类,是目前使用较为普遍的面向对象数据模型,且其是建立在关系型数据库管理系统(DBMS)之上的统一、智能化的空间数据库。Geodatabase支持的地理空间数据如图2所示。

1.4ArcGISEngine开发工具

ArcGISEngine是由ESRI在2004年推出的用于开发C/S(客户端-服务器)架构地理信息系统(GIS)应用软件的工具包[13]。它提供了完善的地图制图、数据处理与空间分析等功能,能够使开发者实现从简单到复杂不同规模的GIS应用软件开发。

2数据库构建

2.1需求分析

针对传统建筑物变形监测数据空间数据与属性数据的分介质存储问题,希望将建筑物变形监测空间数据与属性数据相结合,从而便于管理,并实现对变形监测数据进行空间分析。数据库主要包括:①空间数据。主要包括基础地理数据、建筑空间信息数据和监测点布设信息数据等。这些数据主要由矢量数据、栅格数据和数字高程模型数据构成;②属性数据。建筑物变形监测数据库除具有空间数据外,还包含了相应的属性数据。这些数据是对空间数据相关属性的描述,主要包括各类监测点的监测数据和一些工程基本信息数据。

2.2概念结构设计

一般采用E-R实体关系模型进行数据库的概念模型表示,E-R实体关系模型主要由实体、联系和属性3部分构成,具体设计如图3所示。实体包括工程、建筑物、水平位移监测点、竖向位移监测点与监测人员,其中水平位移监测数据和竖向位移监测数据为工作人员对监测点进行观测产生的关系表。各实体都有各自的属性,且之间具有相互联系。

2.3逻辑结构设计

数据库逻辑结构主要指从数据库使用者角度考察数据组织方式[14]。空间数据采用矢量和栅格两种数据存储结构进行存储,属性数据则存储在属性表中,二者通过建立关键字标识进行关联,实现数据互通。矢量数据采用点、线、面表示,栅格数据采用栅格结构表示,与空间无关的数据利用对象表存储。空间实体在Geodatabase中的表达方式如表1所示。对于空间数据与属性数据的存储,工程信息表、员工信息表、竖向位移监测数据表、水平位移监测数据表结构分别如表2-表5所示。

2.4空间数据库模式

采用“ArcSDE空间数据库引擎+关系型数据库”技术体系进行空间数据管理和存储。当前社会使用较为广泛的两种关系型数据库管理系统为微软的SQLServer和美国甲骨文公司的Oracle。相对而言,微软的SQLServer比甲骨文公司的Oracle操作更加便捷,且性价比更高。所以选用SQLServer关系数据库作为本次研究的数据库平台,且选择功能较为全面的SQLServer2008R2版本。

3数据入库

数据入库工作主要包括矢量数据、栅格数据与属性数据的入库处理,数据入库流程如图4所示。

3.1矢量数据

在建筑变形监测工作中,矢量数据大多是利用CAD软件绘制的CAD图件数据,因此将CAD图件数据转换为ArcGIS所支持的图件数据格式才能满足建库需要。CAD数据与ArcGIS数据格式文件中的地图图层概念差异较大[15]。在AutoCAD中,图层为该软件最关键的设置,不同地理要素放在不同图层,每个图层的参数都不同。ArcGIS中每个图层包含两种信息:描述地理要素空间位置和形状的空间信息、描述地理要素的属性信息。具体转换过程如下:

(1)由于绘制的CAD数据中包含信息复杂,且CAD数据中的多线段数据在转换为Shapefile数据时能够较好地识别面数据,所以在总平面图CAD数据中建立新图层,依据建设方提供的建筑物轴线,并利用CAD软件中的多线段工具绘制建筑物轮廓。

(2)依据新图层(建筑物轮廓)创建新的CAD图纸,对新的CAD数据利用ArcMap自带工具箱中的CAD转换工具进行转换,得到在ArcGIS中可以利用的建筑面数据。

(3)利用ArcMap中自带的空间矫正工具对转换的面数据进行空间矫正,矫正到原建设单位提供的数据坐标系下,然后对图层定义坐标系。

3.2栅格数据

栅格数据的处理对象主要是建筑区域的遥感影像和DEM模型数据,对于此类数据应利用专业遥感影像数据处理软件进行处理,主要包括数据配准、数据压缩以及栅格数据金字塔建立等工作。

3.3属性数据

属性数据应根据相应的数据记录表格进行录入,且在录入过程中应确保不要错误与遗漏。

4ArcSDE数据库连接

ArcSDE提供了应用服务器连接和直接连接两种连接方式[16]。当服务器性能较好时,可采用服务器连接方式,否则采用直接连接方式。但为了减轻服务器压力,一般采用直接连接方式进行连接,以下对直接连接方式进行研究。

4.1直接连接方式参数设置

服务器(Server):不需填写。

数据库实例(Instance):SDE数据库类型。

数据库(Database):根据不同的DBMS决定是否填写。

用户名(Username):用于连接数据库用户名。

密码(Password):用于连接数据库密码。

4.2基于ArcEngine的ArcSDE数据库连接及空间数据加载

4.2.1C#编程代码示例

///

///点击按钮button1实现ArcSDE空间数据库连接及空间数据加载到axMapControl控件

///

privatevoidbutton1_Click(objectsender,EventArgse)

{

IWorkspacepWorkspace;

pWorkspace=arcSDEWorkspaceOpen("","sde:sqlserver:.","sde","123","sde","SDE.DEFAULT");

//如果工作空間不为空,则进行加载

if(pWorkspace!=null)

{

AddAllDataset(pWorkspace,axMapControl1);

}

}

///

///ArcSDE控件數据库连接

///

///服务器

}

}

pDataset1=pEnumDataset1.Next();

}

}

elseif(pDatasetisIFeatureClass)//要素类

{

IFeatureWorkspacepFeatureWorkspace=(IFeatureWorkspace)pWorkspace;

IFeatureLayerpFeatureLayer=newFeatureLayerClass();

pFeatureLayer.FeatureClass=pFeatureWorkspace.OpenFeatureClass(pDataset.Name);

pFeatureLayer.Name=pFeatureLayer.FeatureClass.AliasName;

mapControl.Map.AddLayer(pFeatureLayer);

}

elseif(pDatasetisIRasterDataset)//栅格数据集

{

IRasterWorkspaceExpRasterWorkspace=(IRasterWorkspaceEx)pWorkspace;

IRasterDatasetpRasterDataset=pRasterWorkspace.OpenRasterDataset(pDataset.Name);

//影像金字塔判断与创建

IRasterPyramid3pRasPyrmid;

pRasPyrmid=pRasterDatasetasIRasterPyramid3;

if(pRasPyrmid!=null)

{

if(!(pRasPyrmid.Present))

{

pRasPyrmid.Create();//金字塔创建

}

}

IRasterLayerpRasterLayer=newRasterLayerClass();

pRasterLayer.CreateFromDataset(pRasterDataset);

ILayerpLayer=pRasterLayerasILayer;

mapControl.AddLayer(pLayer,0);

}

pDataset=pEnumDataset.Next();

}

mapControl.ActiveView.Refresh();

}

4.2.2结果展示

本研究采用ArcEngine提供的ToolbarControl、axToccontral和axMapcontrol控件进行空间数据加载界面搭建,通过点击数据加载按钮进行数据加载,如图5所示。

5结语

空间数据库构建是GIS系统建立的基础,本文根据建筑物变形监测数据的特点,建立建筑物变形监测空间数据库,为下一步建筑物变形监测数据分析系统实现打下基础,并为GIS技术与建筑物变形监测的结合提供参考借鉴。

参考文献:

[1]钱思众,樊育豪.高层建筑物地基沉降监测与分析[J].西安科技大学学报,2014,34(3):284-289.

[2]李志伟,朱建军,邹峥嵘.基于VB的边坡变形监测信息系统的研制[J].现代测绘,1999(3):14-17.

[3]石杏喜,岳建平.GPS变形监测信息管理系统的研制及其应用[J].黑龙江工程学院学报,2002,16(3):42-44.

[4]赵显富.变形监测成果数据库管理系统的研制[J].测绘通报,2001(4):28-29.

[5]周艳芳.空间数据库的概念及发展趋势探究[J].产业与科技论坛,2018,17(2):53-54.

[6]秦琳.基于ArcSDE和Geodatabase的森林空间数据库构建研究[J].林业调查规划,2010,35(2):85-88.

[7]樊江,蔡中祥,荆晨.基于ArcSDE和Geodatabase的港口空间数据库构建[J].地理空间信息,2015,13(3):64-67,10.

[8]张一帆,王青山,郗笃刚,等.基于ArcSDE的机场地理空间数据库构建[J].地理空间信息,2016,14(5):51-54.

[9]高月,梁兼备,黄旻,等.基于ArcSDE的高层建筑信息数据库设计与实现[J].软件导刊,2017,16(10):170-172,175.

[10]李少华.企业级GIS设计管理优化策略[M].北京:电子工业出版社,2014.

[11]张黎娜,邹海.基于ArcSDE的地理数据入库和实例开发[J].计算机技术与发展,2013,23(12):183-185.

[12]杨晨毅,刘吉平.基于SDE的GIS空间和属性数据在RDBMS中的集成[J].计算机仿真,2003(11):110-112.

[13]牟乃夏,王海银,李丹.ArcGISEngine地理信息系统开发教程[M].北京:测绘出版社,2015.

[14]熊丽华,杨峰.基于ArcSDE的空间数据库技术的应用研究[J].計算机应用,2004(3):90-91,96.

[15]谢江平,邹自力.CAD矢量数据向ArcGIS转换的方法[J].地理空间信息,2010,8(4):130-132.

[16]杜红悦,刘先林,宫辉力.基于ArcSDE的空间数据综合管理系统设计与实现[J].测绘科学,2009,34(5):171-173.

(责任编辑:黄健)