西藏部分地区滑坡数据综合分析平台研究
——以ArcGIS Pro 为例

2024-01-10 10:09彭礼鑫苏唤东
科学技术创新 2024年2期
关键词:二次开发插件按钮

彭礼鑫*,张 鑫,苏唤东,达 瓦

(1.西藏大学,西藏拉萨;2.高原重大基础设施与环境研究中心(CPMIE),西藏拉萨)

西藏自治区地处西藏高原,青藏高原地震带西南部,平均海拔4 000 米,是我国地震多发地区之一。自然环境恶劣、地质灾害众多,其中包括地震、泥石流、滑坡、雪灾、大风等灾害,仅川藏公路年均发生地质灾害300 多次;西藏全域道路冻融循环损伤最高多达200 余次。十四五规划:“开展灾害事故风险隐患,排查治理”“建立高质量的城市安全系统”习总书记:“要大力加强防灾备灾体系和能力建设,舍得花钱,舍得下功夫,宁肯十防九空,有些领域要做好应对百年一遇灾害的准备[1,2,3]。”本课题组于2017 年就着手建设西藏地区部分典型灾害监测点,对于滑坡灾害预测预警、泥石流灾害运动过程、滚石灾害滚石轨迹理论研究相对深入,采用GNSS、土壤含水量传感器、雨量传感器等一系列传感器进行野外灾害监测[4]。由于一些影响导致采集地表位移数据样本容量较小,根据样本容量规格申请国家冰川冻土沙漠科学数据中心数据进行基于时间序列的RBF 模型训练。本文其余地质数据根据以往前人研究者调研、实验以及建设的工程获取,将基于时间序列的RBF 神经网络[5,6]模型集成在ArcGIS Pro 软件中,对滑坡灾害预测分析进行进一步整理研究[7,8],实现一键式获取、自定义一键式分析位移变化预测曲线等功能。

1 ArcGIS Pro 二次开发

ArcGIS Pro,作为新一代的桌面地图绘制和分析软件,被广大用户所青睐。它的主要功能包括收集、组织、管理、分析、交流和发布地理信息,这些功能都可以通过ArcGIS Pro 的多个应用程序来实现。ArcCatalog 是ArcGIS Pro 的一个重要组件,它可以让用户方便地浏览和管理地理数据。无论是存储在本地的文件,还是网络上的资源,都可以通过ArcCatalog 进行查看和搜索。ArcToolbox 是另一个重要的应用程序,它包含了许多用于处理地理数据的工具。这些工具可以帮助用户进行数据的转换、编辑、分析和处理等操作。ArcMap 是ArcGIS Pro 的核心应用程序,它是一个完整的地图制作环境。用户可以使用ArcMap 来创建和编辑地图,添加各种图层,以及进行地图的布局和设计。通过使用这些应用程序,ArcGIS Pro 提供了多种空间分析工具来生成空间分析。这些工具可以帮助用户理解和解释地理数据,从而得出有价值的结论。此外,ArcGIS Pro 还支持70 多种数据格式,这意味着用户可以将各种类型的地理数据集成在一起进行分析和可视化。这种灵活性和强大的兼容性使得ArcGIS Pro 成为了地理信息系统(GIS)中的重要工具,也为ArcGIS Pro 二次开发提供便利。

2 应用层设计

2.1 软件工具

微软在2021 年夏季发布的Visual Studio 2022版本,带来了更快、更易于使用和更轻量级的特点,专为学习者和构建工业规模解决方案的人设计。这一版本的发布标志着微软在软件开发领域的持续创新和进步。由作者Esri 开发的ArcGIS Pro SDK for .NET插件中的一系列安装包,如Proapp-SDK-Migration.vsix 和Proapp-SDK-Templates.vsix 等,将地理信息系统软件ArcGIS Pro 3.0 与程序设计软件Visual Studio紧密结合到一起。这种紧密的结合为开发者提供了更加便捷的开发环境,使得他们在使用Visual Studio 进行程序设计时能够充分利用ArcGIS Pro 的强大功能。其中,C#编程语言.NET 插件已经实现了在ArcGIS Pro 3.0 上的模块化二次开发。这意味着开发者可以通过这个插件对ArcGIS Pro 进行更为简洁、更加个性化的开发,满足不同项目的需求。这种模块化的二次开发方式将ArcGIS Pro 二次开发推向了更为简洁、更加个性化的行列队伍,为开发者提供了更多的创作空间和灵活性。

随着地理信息系统软件的迭代升级,ArcGIS Pro 3.1 已经十分兼容地加入到.NET 模块化开发行列中。这意味着开发者可以在Visual Studio 中使用.NET 插件对ArcGIS Pro 进行更加深入的二次开发,充分发挥ArcGIS Pro 在地理信息系统领域的优势。总体而言,微软发布的Visual Studio 2022 版本以及与之配套的ArcGIS Pro SDK for .NET 插件,为开发者提供了更加便捷、高效和灵活的工具链,使他们能够在地理信息系统领域进行更加深入的研究和应用开发。这将有助于推动地理信息系统软件的创新和发展,为各行各业提供更加智能化的解决方案。

2.2 神经网络模型

1988 年,Broomhead、Lowe 以及Moody 和Darken将径向基函数用于神经网络设计。径向基函数神经网终(Radial Basis Function Neural Network,RBF 神经网络)是一类常用的三层前馈网络,既可用于函数逼近,也可用于模式分类。与其他类型的人工神经网络相比,RBF 网络有生理学基础,结构简单,学习速度快,优良的逼近性能和泛化能力等特点。前人研究表明,RBF 神经网络可以实现在一个紧凑集和任意精度下逼近任意非线性函数。径向基函数网络是包含输入层、隐含层、输出层的三层前向网络,隐含层采用径向基函数θ(x)作为激励函数,一般选用高斯函数。隐层神经元与输入层相连的权值向量Wi和第i 个输入向量Xi之间加权乘积WiXi与偏置b 的和作为本身的输入,见图1。

图1 某一个输入、隐藏层运行实例图

3 功能实现

3.1 环境配置

本文是通过按钮的形式进行迫龙沟滑坡灾害预测分析,本文一共构建了一个Tab 五个Group 十二个Button 进行滑坡灾害预测分析,第一个Button 主要功能是定位至监测点,其余Button 都是按点位统一RBF模型各自分析。具体配置步骤如下:

(1) 安装Visual Studio 2022 并在管理拓展处安装SDK 插件,见图2。

图2 某一个插件实例图

安装完毕之后就相当于已经构建出了Visual Studio 2022 与ArcGIS Pro 的互联,对于ArcGIS Pro的功能实现就可以直接通过Visual Studio 2022 内部的C#程序直接自定义,自定义结束后可以通过生成解决方案的方式生成.esriAddinX 文件,进行功能添加至ArcGIS Pro 内部永久保存甚至程序移植。

(2) 在Visual Studio 2022 中创建项目,添加按钮,至此基本环境已经配置成功,见图3。

图3 某一个按钮实例图

(3) 在添加的按钮OnClick 函数中自定义功能,实现滑坡灾害预测分析。例如提示信息。

3.2 预测模型实现

我们使用RBF 神经网络框架。然后定义输入和输出数据结构,创建训练和测试数据集,并使用管道进行训练和评估。在不同应用中,需要根据具体问题实现神经网络的前向传播、计算损失等操作。

本文选用的是调用Matlab 程序模型,数据选用以国家冰川冻土沙漠科学数据中心(National Cryosphere Desert Data Center,NCDC) 提供的长江三峡库区秭归县白水河滑坡监测数据为例,2007 年-2012 年历时5年,共监测60 期,训练集与测试集比例为8:2,其中比较关键的代码如下:

评估模型:

3.3 提示信息

鼠标悬浮至按钮上方就会显示该按钮提示信息,见图4。代码如下:

图4 部分插件运行实例图

3.4 预测模型实验,见图5 和表1。

表1 效果对比表

图5 效果对比图

4 结论

通过ArcGIS Pro 与Visual Studio 的结合解决了传统地理信息系统处理数据的单一性,拓展了神经网络的运行环境。将ArcGIS Pro 变成不再是一个处理高程、坡度、平面曲率、剖面曲率、坡向、NDVI、NDBI 的传统地理信息系统软件,结合一定量的自定义程序进行数据处理拓展。对于小样本数据该模型存在过拟合现象,应当优化相应模型,随着数据集不断地扩充模型精度将获得明显提高。通过程序调取实现了一平台多用,大大提高了工作效率。

猜你喜欢
二次开发插件按钮
当你面前有个按钮
浅谈基于Revit平台的二次开发
自编插件完善App Inventor与乐高机器人通信
浅谈Mastercam后处理器的二次开发
西门子Easy Screen对倒棱机床界面二次开发
死循环
基于jQUerY的自定义插件开发
MapWindowGIS插件机制及应用
基于Revit MEP的插件制作探讨
内心不能碰的按钮