||ArcGIS 环境下的系列无人机影像灾害样本库建设
优采云 发布时间: 2022-04-30 09:00||ArcGIS 环境下的系列无人机影像灾害样本库建设
摘要:以“5·12”汶川地震、“4·20”芦山地震和“6·18”宁南特大山洪泥石流等地质灾害为例,在 ArcGIS环境下采用 ArcMap 软件与 Python 脚本开发相结合的方式,利用多时期无人机影像进行灾害样本的采集,批量处理多种灾害样本,从而建立对应的无人机影像灾害样本库。关键词ArcGIS;无人机;地质灾害;样本库1 引言20 世纪 90 年代以来,受人类活动和全球化的影响,地质灾害越发严重,地质灾害发生的规模、数量和分布范围呈上升趋势。2008 年“5·12”汶川特大地震后,由于地质结构被破坏,加之恶劣天气的影响,滑坡和泥石流等次生灾害在很长一段时间内影响着震区,这些地质灾害不仅直接或者间接地危害人民群众生命、财产安全,还会给社会和经济建设造成巨大的损失。利用遥感技术获取灾区影像已成为灾后获取灾害信息的重要手段,无人机遥感技术时效性强、使用成本低、起降方式灵活多样、影像分辨率高等优势,使其在地质灾害应急救援工作中具有广阔的应用前景和发展前途。近几年,相关应急救灾部门已经具备在灾后第一时间获取地质灾害现场的无人机影像的能力。是一门解释型语言,因其不需要编译和链接的时间,所以能够节省开发时间,解释器可以交互式使用,同时能够很方便地测试语言中的各种功能,便于编写发布用的程序,具有开源、模块丰富、面向对象、面向过程等特性,能够与 ArcGIS 软件很好地结合使用[3]。从 ArcGIS9.0 开始,我们就可以使用 Python, 并把它作为首选脚本语言[4],实现空间数据的自动化批量处理,从而起到简化流程,提高工作的自动化程度的作用[2]。本文介绍一种在 ArcGIS环境下,结合 Python 脚本开发的方式,利用历史系列无人机影像快速批量建立地质灾害样本库的方法,该样本库可为后续灾害识别提供基础的训练数据支持,一定程度上改善了样本数据采集仅停留在人工解译层面的现状。
2 研究区与实验数据
根据现有数据情况确定的研究区包括:2008 年汶川地震受灾的汶川县、北川县、安县、绵竹县及都江堰市;2010 年宁南泥石流受灾的凉山州宁南县;2013年芦山地震受灾的芦山县、宝兴县、天全县以及雨城区。研究区内涉及滑坡、泥石流、房屋倒塌、断路断桥、洪涝等灾害,且灾害大多分布于山区,影像数据为灾后高分辨率无人机遥感影像,影像覆盖面积总计644.59 平方千米。研究区范围和数据覆盖情况见图 1。
3 灾害影像样本采集
3.1 基于 Python 的灾害样本采集方法的建立
Python 为脚本开发语言,因为 Python 简单易操作,功能齐全,通过 Python 调用 ArcGIS 的一些功能的开发方式在复杂的数据处理等方面有很大的优势[1]。本文利用 ArcGIS 提供的 Python 站点包 ArcPy,实现了系列无人机影像灾害点样本数据的自动批量裁剪。具体实现方法是:基于 Python 编写好的脚本文本在ArcGIS 中创建自定义 Arctoolbox 工具,首先配置工作空间,如图 2 所示:工作空间下有 images 文件夹,用于存放灾害的原始影像,支持系列无人机影像;points 文件夹用于存放灾害点矢量数据,该矢量数据为灾害点的位置数据,字段信息需包含灾害类型、样本大小等相关用于脚本语言读取的字段;samples 文件夹用于存放生成的灾害样本数据;tool 文件夹存放ArcGIStoolbox 工具箱,并将此目录关联到 ArcGIS中。
工具的关联和参数设置如图 3 所示。在 ArcGIS toolbox 工具箱下添加一个新的 Toolbox ( New Toolbox),在 Toolbox 中可添加脚本工具,Add 一个新的 Script,这个新增加的 Script 工具可以和 Python文件关联,在 Script File 中选择影像样本裁剪所需的 py 文件,创建用于样本裁剪的 clip raster 工具。
3.2 采集灾害样本
基于收集到的无人机影像,进一步通过目视解译的方法,完善专题资料上没有的灾害点信息。用与ArcGIS 建立灾害点数据,并将具有灾害点的影像图存放在工作空间的 images 文件夹下,点击 clip raster工具,在出现的界面下路径文件选择建立好的工作空间 Clip 即可对影像进行自动裁剪如图 4 所示,批量处理得到各类灾害样本,并制作地质灾害范围图层。
基于 Python 的灾害样本采集方法的建立,与其他的样本采集方法相比更为方便。根据实地和受灾范围的大小来对每种灾害类型的样本大小统一进行设置,自动采集好灾害样本后,在 samples 里查看每种类型的灾害样本大小采集的是否合适、样本的可辨度是否高,如果不合理,可以重新设置样本大小来重新采集,直到每种灾害类型的样本都清晰可见,并且可辨度高。样本具体制作流程如图 5 所示。
4 样本数据库
4.1 样本数据库的建设
数据库的建设是管理信息资源最有效地手段,对于某一目的的应用环境,构建最优的数据库模式。建立数据库一方面不仅能有效地存储数据,另一方面还能满足用户信息要求和处理要求,使用户更显而易见地了解到样本的各方面的数据信息。本次样本数据库的建设,按照成果要求和相关规范,制定了灾害点属性信息采集标准及相应的规范格式,并确定灾害相关信息的编码规范;最后按照成果要求进行入库,入库成果包括灾害样本影像数据、地面照片、灾害点矢量数据、灾害范围矢量数据和属性信息数据表,形成灾害样本数据库,如图 6 所示。
4.2 样本数据库表格的设计
遥感解译样本数据主要包括灾害样本影像数据、实地照片、灾害点矢量数据、灾害范围矢量数据和灾害属性信息数据表。样本数据要求影像纹理清晰、地物特征明显;影像纹理和光谱信息丰富、色调均匀、反差适中。建立灾害样本数据的工作量是非常庞大的,它需要合理组织样本数据库。为了能快速方便地查询获取样本数据及其基本信息,系统应当按照不同地质灾害类型建库,把同种地灾类多时相、多来源、不同分辨率等的样本数据存放在一张表中,而把其他地类样本放在另一张表中。将所采集的样本数据输入到数据库中,建立每种类别的多时相、多分辨率、多来源的样本影像数据库。建立遥感解译样本数据库必须考虑行政区位、日期、影像来源、纹理、形状与地形等特征,这不仅仅是简单地将所有样本影像堆积,而是必须按照样本影像的类别进行分类存放,同时存储这些影像的元数据及其描述信息。灾害属性信息数据表中包含灾害名称、影像源、日期、行政区位、经度、纬度、诱发因素、险情级别、图幅号、样本大小、光谱特征、形状特征、纹理特征、地形类型。遥感解译样本数据库基本结构示例如图 7所示。
4.3 样本数据库示例
灾害样本数据整理,是以实地照片及其属性信息为基础,获取灾害样本影像及相关属性信息,从而建立灾害样本数据库。样本数据库示例如图 8 所示。
4.4 样本数据库的检查与更新
遥感解译影像样本数据库也需要进行后期检查,结合影像库进行各项专业信息提取,并对其获取的专业信息成果进行检查,同时还能够利用 GPS 辅助外业检查,运用之前提取的成果检查样本库,及时更新以保持数据的正确性与有效性。遥感解译影像样本数据库是某个时期该地区的遥感样本影像,对于不同年份应依照收集的资料情况建立不同年度的样本影像库,以保证样本影像库的时效性。
5 结束语
在具体工作实践中常常需要根据特定的专业业务需要定制适合解决问题的地理处理工具,Python与 ArcGIS 的结合,使得问题变得简单,操作也变得简单,处理问题也变得比较方便容易一些,所以Python 在 ArcGIS 地理处理框架中占据非常重要的位置。ArcGIS 环境下的系列无人机影像灾害样本库建设,在裁剪样本的过程中提高了速度,并且可以批量处理多种灾害样本,节约了时间的同时也大大减少了人力;数据库的成功建设,不仅有助于我们清晰地了解灾害信息,而且可为后一步的灾害识别工作提供基础的训练数据支持。
参考文献:
[1] 丘恩. Python 核心编程(第 2 版)[M]. 北京:人民邮电出版社,2008.
[2] 焦洋,邓鑫,李胜才. 基于 Python 的 ArcGIS 空间数据格式批处理转换工具开发[J]. 现代测绘,2012,35(3):54-55.
[3] 马卫春,杨友长. 基于 Python 的 ArcGIS Server 地图瓦片定时自动更新方法[J]. 地理空间信息,2013, 11(2):147-149.
[4] 田学志. 基于 Python 的 ArcGIS 地理处理应用研究[J].计算机光盘软件与应用,2013,(7).
最后,小编提醒,由于微信修改了推送规则,没有经常留言或点“在看”的,会慢慢的收不到推送!如果你还想每天看到我们的推送,请将ArcGis爱学习加为星标或每次看完后点击一下页面下端的“赞”“在看”,拜托了!▼往期精彩回顾 ▼
2、
3、
4、