Geomatics Science and Technology
Vol. 08  No. 01 ( 2020 ), Article ID: 33753 , 9 pages
10.12677/GST.2020.81004

Design and Implementation of Seismic Safety Evaluation Results Application System Based on C#

Bo Wang, Zhaohui Xu, Ziwen Zhao

Nanjing Water Planning and Designing Institute Corp. Ltd., Nanjing Jiangsu

Received: Dec. 13th, 2019; accepted: Dec. 26th, 2019; published: Jan. 2nd, 2020

ABSTRACT

According to the difficulties of applying seismic safety evaluation results in Gaoyou, we design seismic evaluation result application system by C# language, in Visual Studio development platform. The system adopts the stand-alone architecture, using access, Tianditu API, Open GIS class library to achieve elements display, parameter query and other functions. This paper describes the design of the system in detail, and then describes the key technologies involved in the system and the implementation process. The system provides functions such as map query, time history curve display, site parameter query and export, etc. Practice has proved that the system can be well used in the management, inquiry and comprehensive application of seismic safety evaluation data, and can provide convenient inquiry service and decision support for the seismic management department.

Keywords:Seismic Safety Evaluation Results, Results Application, C#, GIS

基于C#的地震安评成果应用系统的 设计与实现

王波,徐朝辉,赵子文

南京市水利规划设计院股份有限公司,江苏 南京

收稿日期:2019年12月13日;录用日期:2019年12月26日;发布日期:2020年1月2日

摘 要

针对高邮市城区区域性地震安全评价成果分散及信息化应用困难等问题,设计了基于Visual Studio集成开发环境和C#语言的地震安评成果应用系统。系统采用单机版架构,数据存储采用Access,利用天地图API、开源的GIS类库实现要素展示、参数查询等功能。本文对系统的设计方案进行详细的阐述,然后对系统涉及的关键技术及实现过程进行了描述。该系统提供了图件查询、时程曲线展示、设定场地参数查询与导出等功能,实践证明,该系统可很好地对地震安评成果数据管理、查询与综合应用,可为地震管理部门提供便捷的查询服务与决策支持。

关键词 :地震安评成果,成果应用,C#语言,GIS

Copyright © 2020 by author(s) and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

1. 引言

地震是危及人民生命财产及破坏建筑设施的突发式自然灾害,地震造成的人员伤亡及建筑严重损坏等大规模次生灾害,给国家、人民造成了巨大的损失,防震减灾工作已成为各级政府部门十分关注的工作 [1]。从震害调查的资料分析,造成地震灾害和人员伤亡的主要原因是由建筑物的倒塌引起的。在防震减灾的众多环节中,预防工作尤为重要,科学的选址并进行场地地震安全性评价是工程建设防震减灾的首要环节。国内学者田勤虎等 [2] 开展基于GIS在地震安评工作数据管理的研究,但对数据综合应用功能较弱。聂树明等 [3] 提出对地震安评成果集中管理,在空间数据管理与应用方面仍存在不足。随着GIS技术应用的深入,贺瑞喜等 [4] 研发了基于GIS的地震场地危险性分析系统,系统将GIS算法应用到危险性评价与分析中取得良好的效果。万娜等 [5] 利用ASP.NET技术实现了地震安全性评价钻孔信息系统的开发,实现了钻孔数据库的存储与表达。王金艳等 [6] 研究了利用GDB模型对地震安评成果进行标准建库,可有效进行数据管理。

地震安全性评价是根据对工程场地及周围地震活动、地质环境分析,计算出工程设防不同概率水准要求相应的地震动参数及预测结果。本文以江苏高邮市城区区域性地震安全性评价项目为基础,采用C#开发了一套地震安评成果应用系统,实现成果管理、查询与应用功能。

2. 系统设计

2.1. 总体建设方案

采用地理信息系统(GIS)技术、空间数据库等技术,收集、整合基础地理数据、地震地质信息数据、地震活动性、工程场地的地震工程地质条件数据、基岩地震动与地表地震动数据等各相关数据资源并入库,实现数据资源空间数据、属性数据一体化管理。在此基础上基于相关软件开发规范,开发数据查询与展示平台,实现成果的共享应用服务。系统总体架构如下图1所示。

1) 利用ArcGIS、Excel、Access等管理软件平台,按照成果数据建设标准与要求,对地震安全性评价成果、图件成果、参数成果、场地数据地震安全性评价成果进行收集、整理、数字化编辑后形成空间图形数据并入库。

2) 以微软Access数据库管理系统(DBMS)为管理平台,对于属性数据采用二维表形式存储,对于涉及到的空间数据(线、面)采用GeoJSON空间数据模型建立数据资源空间数据库,通过空间数据引擎实现地震相关数据资源入库管理与快速调用。对于图形图件成果,则采用原始的图片格式存储组织。

3) 在已建立的数据库基础上,采用统一的应用集成框架、系统架构与开发环境,实现城区区域地震安全性评价成果的查询、输出与辅助应用。

4) 为保障系统可扩展性,应用支撑平台内部服务组件之间严格按照系统定义的服务接口设计,便于相互之间的调用。提供统一的应用集成框架,其中包含共用的服务组件、工具和系统字典以及基于数据库访问控制等功能。平台遵循两层结构显示逻辑和业务逻辑区分的体系,合理运用消息机制关联系统事件,增加部署的灵活性,模型和方法类程序允许开发者使用继承性的语言开发,提供良好的可扩展性。

Figure 1. System structure

图1. 系统框架

2.2. 数据库设计

1) 数据库内容

高邮市城区地震安全性评价成果库主体由地震专题数据库与基础地理数据库组成,地震专题数据库包括区域地震构造图、震中分布图、地质构造图、钻孔资料、地震动参数等数据构成,基础地理数据库包括行政区划、水系图、道路等图形数据与卫星影像、地形地貌等栅格数据构成,数据库逻辑结构图如下图2

2) 数据库建库流程

整个数据库的建库流程主要依据《中国地震活动断层探测技术系统技术规程》(中国地震局,2005)、《活动断层探测》(中华人民共和国住房和城乡建设部等,2010)等标准和指南进行数据库建设。建库流程依次为:资料收集、数据整理、数字化、图形编绘、拓扑构建、属性数据采集、空间数据与属性数据的关联、数据集成建库,建库流程见图3

Figure 2. Database structure diagram

图2. 数据库结构图

Figure 3. Data building process

图3. 数据建库流程

3) 数据组织与存储设计

数据组织采用“属性表 + 空间文件”的存储模式对本项目涉及的地理底图成果、安评成果、各指标数据成果等进行统一建库,对数据进行集中管理。

a) 文件组织方式

涉及的图件、文本成果如地震构造图、震中分布图、液化分区图、工程地质分区图等图件成果,其格式为JPG、BMP等栅格形式,加速度时程为一系列的二进制文本文件,因这两类数据具有非结构性、数据量大等特点,存储数据库中势必会造成数据库庞大、读取效率降低。基于以上考虑,针对此类数据存储采用“文件 + 属性索引”方式进行,即将文件属性索引存储到数据库表中。

b) 二维属性表存储

涉及的钻孔资料、计算模型、地震动参数表、分区地表设计地震动参数表等成果,该类数据为二维表格数据,具有数据量小、结构统一、查询频繁等特点,利用Access数据库平台对此类数据进行集中存储与管理。

c) 空间数据文件组织

涉及的基础地理数据,如行政区划图、河流水系、道路等数据,为空间矢量图形数据,利用通用的GeoJSON模型进行存储管理。

2.3. 系统功能模块设计

高邮城区地震安全性评价技术服务系统包含成果查询、地震动参数与图件查询、设定场地参数计算以及报告导出等,系统主要包括三大模块:地图浏览、安评成果查询、参数查询三大模块,如下图4所示。

Figure 4. Parameter query

图4. 功能结构图

3. 关键技术

1) 单机架构下集成天地图资源

单机版GIS系统中间件需采用开源非商业平台,地理底图采用互联网天地图资源。天地图系统为网络Web系统,系统将内嵌Web页面的方式进行地理地理底图的调用与展示。系统采用嵌入.NET Framework自带的WebBrowser控件来实现地图展示与调用。

网页与应用程序的交互是系统实现的关键步骤,WebBrowser支持“由Windows Form响应Web页面的事件”。整个HTML文档以及其包含的各个HTML元素都和一个HtmlDocument、HtmlElement之类的.Net对象对应。因此只要找到对对应的HtmlElement对象,为其添加Event Handler即可,具体实现技术方案如下:

HTML页面中有一按钮,点击调用应用程序方法

在C#应用程序中需检索获取该按钮,并为之绑定操作事件。

HtmlDocumenthtmlDoc = webBrowser.Document;

HtmlElementbtnElement = htmlDoc.All[btnClose];

if (btnElement != null)

{

btnElement.click += new HtmlElementEventHandler(HtmlBtnClose_Click);

}

C#应用程序调用HTML脚本,在某种程度上看作是Web页面调用WinForm;系统除了WinForm直接访问Web页面的HTML元素之外,还涉及到应用程序直接调用Web页面里的各种Script方法,WebBrowser类提供了Document.InvokeScript接口,通过该接口可实现应用程序与Web脚本的交互操作。

private void button3_Click(object sender, EventArgs e)

{//绘制圆

doublelon = 119.46538;

doublelat = 32.77195;

Object[] objArray = new Object[2];

objArray[0] = (Object)lon;

objArray[1] = (Object)lat;

webBrowser1.Document.InvokeScript(Draw200MCircle, objArray);

}

其中“Draw200MCircle”为Html页面中的JavaScript函数方法,objArray为方式传入参数。

2) 2000国家大地坐标框架下投影距离计算

系统中

因2000国家大地坐标系属于地系坐标系,大地坐标系转为平面坐标系属于严密投影转换,按照高斯投影方式直接投影即可,系统将采用开源的坐标转换工具Proj.NET,Proj.NET是一个开源的空间参照与投影引擎,遵循OGC相关标准。Proj.NET支持基准面转换,地理坐标系,投影坐标系,地心坐标系,可在多种.NET框架下使用。它可进行点对点之间的坐标变换,同时也可以把坐标系转换为Well-Known Text (WKT)和XML。目前支持投影类型有:Mercator、横轴墨卡托投影(Transverse Mercator)、Albers、正轴等角割圆锥投影(Lambert Conformal Conic、兰勃特投影)等。

项目涉及到的坐标系统定义采用WTK格式,CGCS2000大地坐标系WTK格式定义如下:

GEOGCS[\CGCS2000\,DATUM[\WGS_1984\,SPHEROID[\WGS 84\,6378137,298.257223563,AUTHORITY[\EPSG\,\7030\]],AUTHORITY[\EPSG\,\6326\]],PRIMEM[\Greenwich\,0,AUTHORITY[\EPSG\,\8901\]],UNIT[\degree\,0.0174532925199433,AUTHORITY[\EPSG\,\9122\]],AUTHORITY[\EPSG\,\4326\]]

利用Proj.NET进行投影转换代码如下所示:

private static ICoordinateTransformationGetCoordinateTransformation()

{

varctf = new CoordinateTransformationFactory();

varcf = new CoordinateSystemFactory();

var cgcs2000Wkt = cf.CreateFromWkt(strCGCS2000Wkt);

var UTMZone50N = cf.CreateFromWkt(str UTMZone50NWkt);

varct = ctf.CreateFromCoordinateSystems(cgcs2000Wkt, UTMZone50N);

returnct;

}

4. 系统实现

系统采用单机版开发,数据库管理信息采用Access平台,空间数据采用GeoJSON空间数据模型进行存储与管理。系统软件以.Net为运行平台,C#作为开发语言开发,采用插件式框架。利用插件开发技术将各组件按照指定的通信契约组合最终形成整个系统,其基本思想是把各大功能模块划分为几个控件,每个控件完成不同的功能。各控件之间,可以方便地通过可视化的软件开发工具集成起来,形成最终的完整的系统应用。具有小巧灵、应用高效,可直接嵌入开发工具等特点,系统主界面见图5

Figure 5. Site setting and parameter calculation

图5. 场地设定及参数计算

Figure 6. Parameter query

图6. 参数查询

1) 地震安评图件成果查询:地震构造、震中分布、钻孔柱状图、地质纵剖面图、地震动参数分区图、地震地质灾害分布图等主要图件。

2) 地震动参数查询与输出:对目标区或钻孔的不同概率水准地震动参数数据表展示,以及相关图件展示,包括钻孔地层结构、地震动参数等。

3) 设定场点设计地震动参数的确定

对设定场点设计地震动参数的确定,输入该点位置(场点经纬度或通过地理底图定点)、工程类型和场地类别后,具备能够给出基于区域性地震安全性评价结果、符合场地条件和工程结构抗震设计所需要概率水准的地震动参数的功能,包括峰值加速度、加速度反应谱和地震动加速度时程,参数查询结果见图6

4) 地震动参数查询简本

根据不同概率水准地震动参数计算结果及相关规范要求,对设定的场地的地震灾害情况进行初步评价,并可导出参数查询报告。

5. 结论

本文中利用C#语言开发了单机版成果应用技术服务系统,将地震安评成果数据进行查询展示与综合应用,该系统具有以下意义:1) 为系统使用者提供了一套集成果查看、参数查询与导出的应用系统,提高成果利用效率。2) 可快捷、方便地对设定场地的地震动参数进行计算并输出,为城市建设过程中科学抗震设防提供技术支持,也为城市规划、重大工程选址、抗震救灾决策等工作提供参考。

文章引用

王 波,徐朝辉,赵子文. 基于C#的地震安评成果应用系统的设计与实现
Design and Implementation of Seismic Safety Evaluation Results Application System Based on C#[J]. 测绘科学技术, 2020, 08(01): 29-37. https://doi.org/10.12677/GST.2020.81004

参考文献

  1. 1. 王斐斐, 孙杰, 赵显刚, 等. 基于GIS的地震安全性评价成果管理系统建设[J]. 内陆地震, 2019, 33(1): 35-42.

  2. 2. 田勤虎, 李晓聪, 魏电信. 基于GIS的地震安全性评价数据管理的研究[J]. 陕西地质, 2010, 28(2): 111-115.

  3. 3. 聂树明, 李宏志, 杜鹏. 地震安全性评价数据的集中管理[J]. 国际地震动态, 2006(2): 26-28.

  4. 4. 贺瑞喜. 基于GIS的工程场地地震危险性分析系统的研究与开发[D]: [硕士学位论文]. 昆明: 昆明理工大学, 2010.

  5. 5. 万娜, 胡金虎, 韩艳杰, 等. 基于B/S架构的工程场地地震安全性评价钻孔信息系统开发[J]. 内陆地震, 2015(2): 129-133.

  6. 6. 王金艳, 孙硕, 张金川, 等. 基于ArcGIS建立地震安全性评价信息数据库[J]. 防灾减灾工程学报, 2011(31): 115-118.

期刊菜单