基于ArcGIS Engine的建筑物沉降观测数据分析系统

2015-05-30 21:47:02朱湘东
科技创新与应用 2015年2期
关键词:沉降观测

朱湘东

摘 要:针对沉降观测数据处理,利用Visual Studio C#.Net 作为开发工具,结合 ArcGIS的二次开发平台 ArcGIS Engine 及Microsoft Office Access,设计开发了一个图文一体化的沉降观测数据分析系统,实现沉降数据的快速处理及变形预测。

关键词:沉降观测;ArcGIS Engine;Access;图文一体化

1 概述

为了确保建筑物的正常使用寿命和建筑物运营的安全性,有必要在建筑物施工和运营的始终对其进行变形观测[1]。而作为最能反映建筑物的稳定性、监视其安全情况、研究其变形规律的变形监测方法——沉降观测在工程测量中越来越为人们所重视。

目前国内的沉降观测研究主要注重于对通过各种观测手段获取的大量沉降观测数据进行数据管理系统方向的应用和尝试,包括显示、分析、预测,运用的中间软件工具有Excel、ArcGIS、AutoCAD、Matlab等[2]。其对观测数据进行分析的方式主要有如下两种:

第一种是将高程数据手动输入到 Excel 中进行简单的数据分析,但是仅仅依靠简单的 Excel 或是人工检查整理,势必会大大降低工作效率,并且只能完成简单的分析和绘图功能,不能进行精度评估和沉降趋势预测。

第二种是利用专业的沉降观测数据处理和分析软件进行沉降数据分析,如帷幄沉降观测数据处理和分析系统和ArcGIS等,但是这些软件或多或少有缺陷:所占运行内存较大、价格较贵、不方便用户的简单使用等等。

现实工作中,为了实现高效率的生产,对沉降数据的分析及预测就迫切需要摆脱传统的方式,用一个更加方便有效的系统来实现这些功能。本次设计以Visual Studio C#.Net 作为开发工具,结合 ArcGIS 的二次开发平台 ArcGIS Engine 及现下比较轻便流行的、由微软发布的关联式数据库管理系统 Microsoft Office Access,开发了一个方便灵活、简洁实用、可实时交互的、可实现图文一体化的沉降观测数据分析系统。

2 系统的设计

2.1 数据库设计

沉降观测原始高程数据比较多且复杂,分开管理会造成数据更新和分析的不便,我们本次利用关联数据库管理系统Access建立数据库,将原始观测数据全部录入。

2.2 功能设计

沉降观测数据分析系统主要功能模块如图1。

图1 系统功能模块

3 系统实现

本系统是在.Net 环境下,以C#程序开发语言作为系统开发程序语言,将ArcGIS Engine 作为第三方控件加载到 Visual Studio 2010 应用程序框架中构建ArcGIS Engine 二次开发程序。

3.1 数据加载

沉降观测的原始高程数据存放在 Access数据库,因此要完成沉降观测原始高程数据的加载,必须要连接数据库,才能把数据库中的高程数据导入到 dataGridView1中。数据加载的部分代码如下:

string ConStr = "Provider=Microsoft.ACE.OLEDB.12.0;";

ConStr += @"Data Source = E:\沉降程序\沉降觀测\bin\Debug\cjgcsjk.accdb;";

string sql = "select * from GCSJ";

OleDbConnection conn = new OleDbConnection(ConStr);

conn.Open();

OleDbDataAdapter da = new OleDbDataAdapter(sql, conn);

DataSet ds = new DataSet();

da.Fill(ds);

dataGridView1.DataSource=ds.Tables[0];

dataGridView1.Columns[0].HeaderText="点号";

dataGridView1.Columns[1].HeaderText="高程(m)";

dataGridView1.Columns[2].HeaderText="测期";

3.2 点击查询

要实现点击查询某一点的沉降信息,首先需要实现的是点击查询功能,即点击某一观测点即弹出属性窗口、并将所点点的点号传递到属性窗口以便实现查询的功能。该部分功能放在MapControl的MouseDown事件中实现。

3.3 沉降量计算

将沉降观测原始高程数据加载到属性窗口的dataGridView1中之后,就可以进行沉降量计算工作了,沉降量包括单次沉降量和累计沉降量两部分。将每个点的观测数据按照测期先后进行排列后,将后一个测期的高程减去前一测期的高程即得到该测期的单次沉降量,将该测期的单次沉降量和前一测期的单次沉降量相加即得该测期的累计沉降量,并将计算结果放到dataGridView2中。

3.4 沉降曲线绘制

仅仅将沉降量列出来表示在dataGridView2的表格中还不够直观,因此需要将结果表示成沉降曲线图,这样就能够更加直观地反映出沉降趋势。在绘制沉降量曲线是使用的是C#窗体应用程序中的Chart控件实现的。具体的实现代码如下:

using System.Windows.Forms.DataVisualization.Charting;//添加引用

chart1.Series.Clear();

chart1.Series.Add("Series1");

chart1.Series["Series1"].ChartType = SeriesChartType.Spline;

chart1.Series["Series1"].Points.DataBind(DT_subsidence.AsEnumerable(),"Date", "AccumuSubsidence", "");

3.5 沉降趋势预测

在进行沉降预测时采用的是灰色预测模型,利用C#语言完成了设计,预测方式分为时刻预测和时段预测两种方式。

文章只考虑时间效应对建筑物沉降的影响,因此文章将采用一阶一元预测模型GM(1,1)模型进行沉降预测。GM(1,1)模型[3]的实现步骤如下:

3.5.1 灰数的计算

某个系统的原始数据往往是无规律的,是随机量,可以看作是在一定区域内变化的灰色量。为了提高原始数据的规律性,对灰色量采用数据生成方式,获得规律性较强的生成数列。用于灰色预测模型的灰数生成方法主要是累加生成法 (AGO -Accumulated Generating Operation)。

3.5.2 模型参数的解算

“1-AGO”数列的GM(1,N)预测模型进行白化微分后可以建立反映主因子与影响因子之间关系的方程模型,对所建的白化微分方程模型进行离散分析后可得一个线性方程组。对该线性方程组进行求解可得 GM(1,1)的最小二乘解,将计算得到的最小二乘结果代入白化微分方程并求解微分方程得到 x 預测值。

通过与专业统计软件SAPP的预测结果比较,本系统预测的结果误差较小,在精度允许的范围内,预测成果可用。

4 结束语

文章采用ArcGIS Engine二次开发与.Net系统集成平台,设计开发了基于ArcGIS Engine的图文一体化的沉降观测数据分析系统,具有实用、易操作等特点,能满足一般用户的要求。

本设计开发的系统在功能和性能上还有很多的欠缺和不足,还需要结合用户需求细化功能模块,提高相关性能。比如在现在二维图形的基础上进行沉降观测对象的三维建模,将沉降量这个因变量在图上更好的与观测时间、工程进度、建筑物高度等等因变量结合起来,这样才能更好的进行沉降量分析和预测,由此才能更准确的指导和指挥生产建造。

参考文献

[1]韩正,杜海霞,龙飞,等.高层建筑沉降观测及其数据分析[J].城市勘测,2009(1):108-110.

[2]赵海卫,王芹,刘照永,等.基于ArcGIS的建筑物沉降观测数据分析及三维模拟[J].城市勘测,2010(5):47-50.

[3]张显富,郭淳.灰色预测模型及其在沉降预测中的应用[J].唐山学院学报,2002(3):657-658.

猜你喜欢
沉降观测
采动影响范围高速公路变形观测
高层建筑物沉降观测数据处理方法
浅谈沉降观测技术在高层建筑施工中的应用
科技视界(2016年6期)2016-07-12 14:53:17
高层建筑沉降观测技术及数据分析探讨
科技视界(2016年10期)2016-04-26 10:03:24
简述高层建筑施工中沉降观测技术的应用
精密三角高程测量在高铁沉降观测中的应用