基于ArcGIS Engine 的宁夏震中参考地名查询软件的实现*

2021-01-28 14:21余思汗高雷雷单帅帅王建勇
地震科学进展 2021年1期
关键词:速报行政区划矢量

余思汗 高雷雷 单帅帅 杨 顺 刘 超 王建勇

1) 宁夏回族自治区地震局,银川 750001

2) 北方信息控制研究院集团有限公司,南京 211153

引言

震中参考地名是根据地震发生的位置给出的震中附近地表标志的名称,是一项重要的地震参数[1],也是第一时间开展破坏性地震现场救援、烈度调查等工作的目标地。目前地震正式速报的震中参考地名为三级地名,即精确到县(区),为了能够清楚震中发生在该县的具体方位,就需要引入四级参考地名。

宁夏位于中国的西北,人口密度相对比较稀疏,且主要集中在北部地区,南部多数地区由于自然条件等原因,人口密度更小,但是其县域并不小,例如盐池县,南北距离超过了110 km。当地震发生后,测震台网会在第一时间给出震中坐标和参考地名,该参考地名为县一级行政区划的地名。如想要知道更为详尽的四级参考地名,则需要在Google 或者天地图中输入坐标查询地名,这样的方式使得工作繁琐且困难,不利于地震速报工作的开展[2]。因此,考虑到宁夏的实际情况和需求,且得益于密集完善的测震台站精确定位,使得提供更加详尽的震中参考四级地名将成为现实。

本文以开发震中参考四级地名为目标,基于ArcGIS Engine 组件的二次开发,采用C#编程语言,来实现低成本、高效率的实用型GIS 软件[3],为震中参考四级地名提供准确、便捷的地名查询软件。

1 基础地理数据预处理

1.1 矢量数据的来源

基础地理数据包括地名、水系、道路、行政区划等数据,而根据需求,只需用到地名和行政区划数据。为了能够直观的显示在地图上,地名和行政区划数据为矢量的点和面,且数据格式为shape 文件,其坐标系为CGCS_2000 地理坐标系。所使用的数据来源于宁夏自然资源厅所提供的《宁夏地理信息公共服务平台》[4]。该数据优势在于包含了完整的省、市、县、乡行政区划矢量面数据,并且为宁夏最新的行政区划数字地图,为本文提供了精确的矢量数据。

1.2 矢量数据预处理

矢量数据是地名查询的基础数据,数据的质量直接影响到查询的精度,尤其是在有“脏数据”的情况下,很有可能使得查询结果为空或者错误,所以数据预处理阶段主要是消除“脏数据”和字段属性赋值的过程。首先是在ArcGIS10.6 软件中进行数据拓扑处理,检查每级行政区划矢量面数据是否有拓扑上的错误,可能存在的拓扑错误有面重叠和面缝隙,将检查的结果进行统计,并逐条排查修改,直至修改完毕所有的拓扑错误。在完成单图层的拓扑检查后,再进行各级图层间拓扑检查,以省一级的行政区划矢量面数据为基础,对其他数据进行检查,主要目的是检查其他三级与省一级的边界套合问题,并对其修改,确保其没有超出省界的错误。完成拓扑上的错误之后,对乡(镇)级的行政区划进行字段属性赋值,增加属地字段。属地字段的属性为长度20 个字符的文本格式,该属地字段内容为乡(镇)级归属的县(区)一级的行政区划地名,与乡(镇)级地名合并为完整四级地名。最后将数据进行入库(图1 为矢量数据预处理流程图),属地字段作为乡(镇)级矢量数据归属的标识属性,进行区分乡(镇)所属的县(区),图2 为预处理后的宁夏乡(镇)级行政区划图。

图 1 矢量数据预处理流程图Fig. 1 Flow chart of vector data preprocessing

2 地名查询软件的设计与实现

2.1 软件开发的基本思路

ArcGIS Engine 包含功能完善的地图制图、数据处理与空间分析功能,方便实现简单或复杂的各类GIS应用软件开发[5],基于ArcGIS Engine 平台开发的宁夏震中参考地名查询软件的目标是实现乡(镇)级地名自动查询,为地震速报人员提供便利的地名查询工具。同时,精确的震中参考地名也为应急初期处置、救援决策、现场烈度考察等工作提供了参考依据。

本文软件开发从实际应用的角度出发,开发一套震中参考地名查询软件,因考虑到地震速报人员操作便捷性、软件长时间运行的稳定性、软件在不同软硬件环境下的适应性、软件后期迭代升级的可扩展性因素,所以对软件的易用性、稳定性、适用性、可扩展性提出开发要求。软件具有简洁的操作界面,查询过程中操作简单,结果反馈及时;软件能够长时间无错误运行,且容错能力较好,正常情况下无异常;软件可部署在不同的计算机上,能够适应软硬件环境,且能够适用于主流配置;软件在使用过程中,根据功能的需求或者对已有工具的完善,可随时对软件进行升级和增加新的功能。

图 2 预处理后的宁夏乡(镇)级行政区划图Fig. 2 Township-level administrative map of Ningxia after preprocessing

2.2 软件的功能设计

宁夏震中参考地名查询软件在VS 2017(Visual Studio 2017)开发环境下采用C#编程语言实现,软件界面包括菜单栏、工具栏、目录控件、地图显示窗口等。本软件主要由4 个功能模块组成(图3),分别是震中参考地名查询与显示、地图工具栏、震中与附近城市距离测量、查询结果复制。地名查询功能的核心内容,实现对宁夏震中参考四级地名信息进行查询和地图定位[6]。

震中参考地名查询与显示模块:在地震发生之后,测震台网会给出震中的经纬度坐标,该坐标的精度一般都会在小数点后4 位,将坐标的经纬度分别输入到软件的坐标框内,为防止坐标输入错误,还需输入EQIM(Earthquake Instant Messenger)软件所给出的三级参考地名,点击确定后,将会给出查询结果,并在地图中以绿色圆点的形式显示震中位置,当参考三级地名与查询结果不一致时,便会给出结果不一致提示(图4),如果所输入的坐标超出了宁夏境内,就会给出警告提示:不在宁夏境内。

地图工具栏模块:在地图显示窗口,通过工具栏中的放大、缩小、漫游、全图、选择、等比例缩小、等比例放大、识别工具,对地图进行浏览、查看属性等操作。

图 3 软件结构图Fig. 3 Diagram of software structure

图 4 查询结果不一致提示图Fig. 4 Prompt chart for inconsistent query results

震中与附近城市距离测量模块:在输入坐标得到震中位置后,根据需求可以使用测量工具进行测量震中与附近城市距离,该测量结果直接显示在地图显示窗口内,并通过菜单栏中的“导出”功能将结果以表格的形式导出。

查询结果复制模块:在查询结果确认没有错误时,为了能够对地震进行速报,设计了与速报地名格式相同的查询结果栏,增加了结果复制键,点击之后直接对查询结果进行复制,地震速报人员可以通过手动方式进行地震速报短信的发送,这样设计既方便了速报短信的发送,同时也节约了时间,为地震应急工作的快速反应提供了时间上的优势。

2.3 软件的部署运行与实际应用

宁夏震中参考地名查询软件需在ArcGIS Engine 10.6 环境下才能正常运行,部署后经过多次测试,能够稳定正常运行,其查询结果也得到了认可。以2020 年6 月12 日7 时55 分发生在宁夏吴忠市青铜峡市的MS3.3 地震为例,地震发生后,EQIM 所给出的地震参考地名为青铜峡市。使用宁夏震中参考地名查询软件,输入经纬度坐标及参考地名后,其输出的结果为“宁夏吴忠市青铜峡市莲湖农场” ,宁夏地震局现场工作队立即组织了队员前往现场进行调查,根据震中参考四级地名直奔莲湖农场。根据现场工作队对当地居民的调查,分析了全部的调查资料,给出了宏观震中,其震中坐标紧挨着莲湖农场,和EQIM 所给出的震中位置仅仅相差1 000 多米,图5 为EQIM 震中和调查宏观震中位置图。根据现场工作队反馈,该四级参考地名对现场调查工作的高效率开展很有意义,对其调查的目的地具有明确的指向,直奔目的地,不浪费任何时间快速展开了调查工作,与三级参考地名相比,具有更加明确的目标性。

图 5 微观震中和调查宏观震中位置图Fig. 5 Location map of micro-epicenter and macro-epicenter

3 结束语

本文基于ArcGIS Engine 平台,在VS 2017 环境下进行二次开发实现了宁夏震中参考地名查询软件,该软件界面友好、操作方便,即使没有任何GIS 背景的人员也能够轻松使用,软件的部署使得宁夏震中参考地名可以详尽到四级地名,实现了从无到有的跨越。当然,为了能够适应新形式下速报和应急工作的要求,该软件在开发过程中就预留了接口,可根据实际需求对软件功能进行调整或者对接其他软件,从而提供更加全面的功能服务。

从真实震例调查情况来看,震中参考四级地名对震后快速赶往震中目的地具有明确的指向意义,实现了现场调查工作的高效开展。但是对于详尽的四级参考地名也有一定的局限性,对中小地震有明显的精确位置参考价值,但是对于波及范围广的强震这方面并不显著。因此,宁夏震中参考地名查询软件更适用于中小地震。

猜你喜欢
速报行政区划矢量
矢量三角形法的应用
每月速报
中国行政区划的前世今生
每月速报
基于矢量最优估计的稳健测向方法
每月速报
三角形法则在动态平衡问题中的应用
河北省行政区划
浅论唐代地方行政区划
河北省行政区划