基于ArcPy与图面优化的国家级自然保护地遥感监测成果自动制图方法
A method for automatic mapping of the remote sensing monitoring results of national nature reserves based on ArcPy and map optimization
通讯作者: 杨金中(1970-),男,博士,研究员,主要从事矿山遥感监测和矿产资源遥感调查等工作。Email:67786808@qq.com。
责任编辑: 陈昊旻
收稿日期: 2023-08-14 修回日期: 2023-11-22
基金资助: |
|
Received: 2023-08-14 Revised: 2023-11-22
作者简介 About authors
王体鑫(1999-),男,硕士研究生,研究方向为矿山遥感监测。Email:
国家级自然保护地遥感监测工作覆盖陆域面积约170万km2,圈定变化图斑的数量多,专业性较强,投入大量人力物力也不易保障制图的正确性和规范性,影响监测成果应用服务的质量和成效。据此情况,该文基于ArcPy站点包,采用Sutherland-Hodgman裁剪等图形学方法,结合定制的ArcToolbox封装自动制图脚本,实现读取地理数据库中图斑信息和影像,自动制作图面优化后的国家级自然保护地变化监测图斑分布图,累计制图量达5万余张,正确率为100%。经实践表明: 单张自动制图的平均用时为29.06 s,远远快于人工制图。所提方法满足实际生产需要,自动制图脚本较稳定可靠,且具有较强的普适性,大大提高了国家级自然保护地变化监测成果的服务应用效率,具有较强的实际意义。
关键词:
Remote sensing monitoring in national-level nature reserves covers a land area of approximately 1.7 million km2. This process involves the delineation of numerous features that indicate variations in the nature reserves, requiring specialized expertise. As a result, ensuring the accuracy and normalization of mapping is challenging even using substantial human and material resources. This affects the quality and effectiveness of monitoring result applications and relevant services. To address this issue, employing geometric techniques like the Sutherland-Hodgman clipping algorithm based on the ArcPy package, along with the customized ArcToolbox tools for encapsulating automated mapping scripts, this study automatically extracted the information and images of features from a geographic database. Subsequently, this study automatically generated the distribution maps of features that reflected variations in national-level nature reserves. Over 50000 maps were plotted using the proposed method, with an accuracy of 100%. Practical application demonstrates that the automatic mapping for a single map can be completed within 29.06 s on average, significantly less than manual mapping. The proposed method can meet practical production needs, with the automated mapping scripts proving stable, reliable, and widely applicable. The proposed method can significantly enhance the efficiency of the applications of the monitoring results reflecting variations in the national-level nature reserves, holding great practical significance.
Keywords:
本文引用格式
王体鑫, 杨金中, 邢宇, 王开建.
WANG Tixin, YANG Jinzhong, XING Yu, WANG Kaijian.
0 引言
自然保护地是由各级政府依法划定或确认,对重要的自然生态系统、自然遗迹、自然景观及其所承载的自然资源、生态功能和文化价值实施长期保护的陆域或海域[1],涉及国土陆域面积约170万km2,占陆域面积的18%[2]。对国家级自然保护地开展调查和监测是建立自然保护地统一规范高效管理体制的重要内容之一[1]。与传统手段相比,遥感技术具有较高的时效性和经济性,且具有可进行大面积同步观测和同一目标周期观测等特点[3-4],因此,利用遥感技术开展国家级自然保护地人类活动监测是一种科学且高效的方法。近2 a来,项目组利用国产高分辨率遥感影像共监测到自然保护地范围内人类活动变化图斑约5万余处,需生产图件5万余张,如果采用传统人工制图需4 500 h,严重影响了遥感监测成果服务时效性,现亟需符合管理与应用需求的自动化制图方法。
目前制作图斑分布图存在以下问题: ①没有统一的适合自然保护地监测性质和图斑类型特征的自动批量制图软件,基于QGIS,MapGIS,SuperMap和ArcGIS等软件基础功能及其二次开发的专题单张制图方法和自动制图方法[5⇓⇓⇓⇓⇓⇓⇓⇓-14]、自主开发的制图方法[15]等制图方法均无法使专业人员通过简单的操作完成制图; ②人工制图工作流程繁琐且重复性强,技术人员在整理图面过程中会重复修改图斑空间信息和属性信息表达,长时间制图会增加制图出错概率; ③人工制图的格式和图面要素分布不统一,人工制图可能会出现改变图面要素相对位置关系或填写属性信息时编辑错误等不利于成果数据规范管理的问题。针对以上问题,需要自主开发一个能够使专业技术人员快速上手的、可靠且易于维护的自动制作图斑分布图软件。ArcPy是一个以arcgisscripting模块[16]为基础并继承其功能的站点包[17],它通过Python编程语言实现ArcGIS的地理数据分析、数据转换、数据管理和地图自动化等功能[5,18⇓⇓⇓⇓⇓-24]。使用ArcPy开发出可以自动化制作国家级自然保护地变化监测图斑分布图的脚本是可行的。
本文根据实际工作中图斑制图要求和管理需求,通过定制ArcToolbox工具箱脚本封装基于ArcPy开发的自动制图代码,实现检查每一个图斑属性信息的合法性并整饰属性值呈现于图面,应用裁剪算法等计算机图形学算法优化图斑在图面的分布位置,选取和本图斑相关的影像图层设置为可见等功能,完成自动制图。
1 框架设计和实现流程
框架设计包含3层结构及基本数据,详见图1; 实现流程介绍代码执行逻辑。
图1
1.1 自动制图方法框架设计
为了符合专业技术人员在实际工作中的思维和流程,本文在考虑脚本封装、扩展、应用、维护等方面的基础上,设计了3层体系结构: 数据层、功能层和表现层。
1)数据层主要实现对解译图斑信息的存储和读取。按照制图要求通过文件地理数据库存储专业技术人员解译后的变化图斑矢量文件、自然保护地边界矢量文件和使用的2期遥感影像文件; 通过加载数据至布局模板工程文件对应的图层实现数据的读取应用。
2)功能层主要实现将检查和修饰后的图斑信息自动表达至布局视图的图面中,是实现自动制图的核心层。功能包括: 通过定制的ArcToolbox工具箱传入脚本所需参数创建任务队列并监控队列进度; 使用ArcPy游标函数获取当前图斑的属性信息进行检查、整饰并表达; 使用ArcPy选择要素和放缩等函数将当前图斑空间信息表达至图面; 读取影像图层范围信息判断是否和当前图斑相交,实现影像底图筛选与可见表达。
3)表现层主要实现制图成果的输出和任务队列进度信息表达。按照制图要求输出当前图斑的JPG图片与其信息完整表达至图面后的工程文件,通过将带有已完成制图的图斑ID字段值字符串输出到脚本运行界面,实现任务队列进度信息的表达。
其中数据层中的国家级自然保护地变化监测解译涉及的数据包括前后时相2期遥感影像、矢量图层及其属性信息2部分。2期遥感影像主要是经过辐射校正、几何纠正、图像融合、图像镶嵌和图像增强的国产高分辨率卫星影像,主要数据源是GF-2,GF-7,BJ-2,GF-1和ZY-1等。矢量图层包括变化图斑矢量图层和自然保护地边界矢量图层,变化图斑矢量须包含制图所需属性信息,详见表1。
表1 自动制图使用的字段属性信息和使用描述
Tab.1
字段名称 | 字段编码 | 字段类型 | 字段长度/字符 | 使用描述 |
---|---|---|---|---|
图斑编号 | TBBH | 文本 | 20 | 图斑唯一标识号,用于图面右侧图斑编号信息显示 |
市 | SHI | 文本 | 254 | 图斑中心点位置所属的市级行政区划,用于图面右侧行政区划信息显示 |
县 | XIAN | 文本 | 254 | 图斑中心点位置所属的县级行政区划,用于图面右侧行政区划信息显示 |
保护地名称 | QMC | 文本 | 254 | 国家相关部门公布的自然保护地的名字,用于图面右侧保护地名称信息显示 |
中心点X | BHX | 双精度 | 9.6 | 图斑的坐标信息,用于图面右侧中心点坐标信息显示 |
中心点Y | BHY | 双精度 | 8.6 | 图斑的坐标信息,用于图面右侧中心点坐标信息显示 |
前类型 | QLX | 文本 | 18 | 图斑上期时相的土地利用类型,用于图面右侧具体变化情况信息显示 |
后类型 | HLX | 文本 | 18 | 图斑本期时相的土地利用类型,用于图面右侧具体变化情况信息显示 |
变化面积 | BHMJ | 双精度 | 16.2 | 用于图面右侧变化面积信息显示,单位是m2 |
本期时间 | BQSJ | 文本 | 8 | 本期时相使用的影像的获取时间,用于图面右下角本期数据源获取时间信息显示 |
上期时间 | SQSJ | 文本 | 8 | 上期时相使用的影像的获取时间,用于小图框左下角上期数据源获取时间信息显示 |
卫星 | WX | 文本 | 9 | 本期时相使用的影像的数据源,用于图面右下角本期数据源信息显示 |
是否持续变化 | CXBH | 文本 | 3 | 图斑是否在之前的图斑上发生变化,用于图面右侧持续变化信息显示,填“是”或“否” |
上期图斑编号 | SQBH | 文本 | 50 | 若是持续变化,填写上次监测中持续变化的图斑编号,用于图面右侧上期编号信息显示 |
1.2 自动制图流程
本文所述自动制图方法是对人工制图流程的模拟和抽象,本方法主要有2个关键点: 呈现图斑的属性信息和呈现图斑的空间信息。图斑分布图自动制图流程如图2所示。步骤是: ①根据项目要求将数据录入文件地理数据库和制作布局模板工程文件,创建定制ArcToolbox工具箱脚本,完成准备工作; ②将图斑矢量文件、属性字段名字、输出位置、起止图斑ID字段值、前后时相数据框最大制图比例尺、制图比例尺调整间隔和制图的分辨率等参数传入脚本; ③根据ID字段值创建任务队列; ④呈现属性信息,读取当前图斑的属性信息,经过整饰后转为字符串赋值给对应的文本框; ⑤呈现空间信息,将2个数据框缩放至待制图的图斑,分别修改数据框的比例尺,再通过平移后时相数据框的视图范围来修改图斑在图面的位置,完成图面空间信息优化; ⑥获取和前后时相数据框的视图范围相交的影像图层并设置为可见,完成影像图层可见性优化; ⑦取消选中后导出图片并另存工程,完成当前图斑制图流程。循环执行完队列中所有制图任务,完成本次自动制图任务。
图2
2 图面信息呈现
按照制图要求在ArcMap布局视图中设计数据框、文本框和基本制图要素在图面的大小与分布位置,再将当前图斑的属性信息和空间信息经过检查和修饰优化后表达至图面,完成当前图斑的图面信息呈现。
2.1 自动制图布局模板设计
为了保证制图成果的统一和规范,需要在布局视图中设计一个制图模板。模板包含的信息为属性信息和空间信息。为布局模板中各元素设置名称,通过ArcPy匹配元素名称对各个元素进行编辑,模板应用后样式如图3所示。
图3
图3
国家级自然保护地变化监测图斑分布图示例
Fig.3
Distribution map of mapped features for monitoring changes in national natural reserves
属性信息包含图斑的编号、国家级自然保护地名字、所属行政区划(市和县)、位置坐标、面积、是否持续变化、上期图斑编号、数据时相以及数据源等。属性信息通过布局视图中的文本框呈现,属性值的来源是变化图斑矢量中解译人员填写的字段值。
空间信息主要包含该变化图斑本期时相的影像、上期时相的影像、国家级自然保护地边界矢量和人机交互解译后的变化图斑等。后时相数据框中显示的是本期时相的影像、变化图斑矢量图层、自然保护区边界矢量图层和当前图斑的顺序号,左下位置的前时相数据框中显示的是上期时相的影像和变化图斑矢量图层; 空间信息主要描述国家级自然保护地变化的区域、变化前后地类和周围地物分布等信息。
图面还包含指北针和图例等基本制图要素,图例只标注变化图斑矢量图层。
2.2 图斑属性和空间信息呈现
根据脚本输入的起止图斑ID字段值生成本次制图的任务队列,并使用搜索游标检索该图斑的属性信息,ID字段值可以是Shapefiles文件的FID或ArcGIS文件地理数据库中要素类文件的OBJECTID。对获取到的部分属性值进行整饰并转为字符串,根据布局视图中文本框的名称进行赋值,呈现至图面。整饰内容有: ①截取坐标值长度为小数点后6位; ②日期修饰后输出为“XXXX年XX月XX日”格式; ③图斑面积值设置为小数点后2位并添加中文单位; ④具体变化情况由前类型、后类型2个属性值和1个右箭头组成; ⑤国家级自然保护地名字超过14个字符实现换行且对于其中的连接符(减号)换为一字线连接号; ⑥本期数据源添加“卫星数据”组成新字符串。
空间信息呈现是通过当前图斑ID字段值选择到该图斑,在2个数据框中缩放至所选图斑并修改数据框的视图范围,再执行后时相数据框的图面空间信息表达优化; 获取图斑编号的末尾3位字符作为图斑的顺序号优先标注到后时相数据框中的图斑右上角,完成空间信息呈现。最后输出图片和工程文件。
3 图面空间信息和影像图层可见性优化
图面空间信息可见性优化是指优化图斑在图面的位置和分布,避免图斑被压盖。影像图层可见性优化是只选择和当前图面范围相交影像图层为可见,提高脚本的制图效率,增加其可靠性。
3.1 图面空间信息优化
图4
图4
图面空间信息优化前后对比
Fig.4
Comparison of spatial information optimization before and after mapping
解决压盖问题关键是要通过裁剪算法得到在布局视图中后时相数据框内的图斑和前时相数据框的相交多边形。目前应用广泛的裁剪算法有: Sutherland-Hodgman(S-H)裁剪算法[25]、Weiler-Atherton(W-A)剪裁算法[26]和Vatti裁剪算法[27]。Vatti算法是将W-A算法的属性数据结构替换为双向链表的数据结构的变种算法[28],相比于S-H算法更加复杂,性能变化大。S-H算法是经典算法,虽然S-H算法无法得到凹多边形图斑和有孔洞图斑正确的裁剪结果,但裁剪结果的外接矩形结果无误,仍满足本方法的需求,且易于用Python基本语法实现,使本方法具有普适性和稳定性,故本文应用S-H裁剪算法。
针对自动制图流程中后时相数据框的范围优化算法流程见图5,具体实现如下:
图5
图5
图面空间信息优化的详细流程图
Fig.5
Detailed flowchart of spatial information optimization
1)调整比例尺。在执行图面优化前,判断选中当前图斑缩放后数据框的比例尺是否大于最大制图比例尺参数。若大于则修改比例尺为最大制图比例尺参数; 若小于等于则将比例尺取整到制图比例尺调整间隔参数的整数倍。
2)通过ArcPy函数获取后时相数据框表达的四至范围坐标点集DDF1、布局视图中后时相数据框的坐标点集PDFL1、布局视图中前时相数据框的坐标点集PDFL2和后时相数据框数据视图中图斑轮廓点坐标点集PF。
3)计算DDF1的坐标系转换到
4)计算布局视图中图斑的轮廓点坐标点集PL。PF和M1做矩阵乘法得PL。
5)使用S-H算法判断PL和PDFL2范围是否相交。若不相交,不用做图面空间信息优化; 相交,则计算布局视图中相交范围的外接矩形的坐标点集RE。
6)计算当前比例尺下DDF1可移动余量R。使用DDF1和PF在水平向右方向和竖直向上方向的极值求差值,获得后时相数据框范围中可以向上和向右移动的最大值,即R。
7)计算
8)计算RE在后时相数据框的坐标系下表达的空间范围REDF1。RE和M2做矩阵乘法得REDF1。
9)计算当前比例尺下要完成图面优化DDF1的移动量D。计算REDF1在水平向右方向和竖直向上方向的坐标差值得到D。
10)计算R和D在水平向右方向和竖直向上方向上的差值Diff。
11)判断Diff在2个方向上均是否均不小于0。若满足,将D加到DDF1获得一个新的后时相数据框的的范围D'DF1,即可以在当前比例尺下通过移动后时相数据框的显示范围避免图斑被压盖,完成图面空间信息优化; 否则,按照制图比例尺调整间隔参数的整数倍缩小后时相数据框比例尺,重新执行步骤1)—11)。
直到在某一比例尺下Diff不小于0,通过移动后时相数据框的显示范围,完成图面空间信息优化。
3.2 影像图层可见性优化
由于我国西部部分省份面积较大,使用的影像多,制图过程中加载影像会出现明显的等待时间,为了提高制图效率并增强脚本的可靠性,在选中图斑后会将2个数据框中的所有影像图层设置为不可见,完成属性信息和空间信息呈现之后,使用射线法[29]判断数据框范围边界点是否在影像图层的范围内,若边界点在影像的范围内则将设置影像图层为可见,反之不操作,实现完成影像图层可见性优化。
4 应用效果
为评价本方法的制图效率,采用新疆维吾尔自治区2023年第一批次的国家级自然保护地解译数据进行实验,该数据包含85个图斑,记录脚本运行用时; 实验使用电脑配置为: Intel Xeon Silver 4210R 处理器,96 G内存,NVIDIA RTX A4000 显卡; 导出图片的分辨率为300 dpi; 由于新疆维吾尔自治区影像数据量大,在导出图片时影像读取不稳定,故进行3次实验取均值,实验结果见表2。
表2 自动制图用时
Tab.2
次数 | 所有图斑制图用时/s | 单个图斑制图用时/s |
---|---|---|
第1次 | 2 419 | 28.46 |
第2次 | 2 249 | 26.46 |
第3次 | 2 743 | 32.27 |
平均 | 2 470 | 29.06 |
使用本方法制图的图件经复检未发现图斑被压盖和属性信息填写错误的情况,图斑属性信息和空间信息表达正确。结果表明: 本文提出的方法可以实现自动批量制图,满足项目需求; 本实验区共计制图85张,脚本运行3次后得所有图斑制图平均用时为2 470 s,单个图斑制图平均用时为29.06 s。
本方法在实际生产中,制图量达到5万张以上,正确率为100%,为自然保护地监管提供了高效和高质量的基础数据。
5 结论
1)本文实现了一个自然保护地监测自动批量制图脚本。通过定制的ArcToolbox封装基于ArcPy的自动制图脚本,实现传入参数、生成任务队列、执行任务和输出任务状态信息等功能。该方法操作简单,普适性强,运行可靠并易于维护。
2)自动制图方法简化了图斑分布图的制图流程,自动表达图斑的属性和空间信息,制图用时远远快于传统手工制图,减少了人工的重复劳动,提高了制图效率。
3)通过读取、整饰并呈现属性信息和缩放、优化并呈现空间信息保证了制图格式和要素分布的统一和规范,保证了制图的正确性。
本文提出的自动制图方法具有操作简易、可靠、易于维护和适配范围广的特点,是具有自然保护地特色的制图工具,为国家级自然保护地监管等工作提供制图服务起到关键作用,对于大量的图斑分布图制图工作具有显著提速增效的实际意义。
参考文献
中共中央办公厅国务院办公厅印发《关于建立以国家公园为主体的自然保护地体系的指导意见》
[J].
The general office of the central committee of the CPC and the general office of the state council print and issue the guiding opinions on establishing a system of natural reserves with National Parks as the main body
[J].
首届中国自然保护国际论坛召开
[EB/OL].(
The 1st China international forum on nature conservation was held
[EB/OL].(
基于ArcPy与定制ArcToolbox的矿山新增图斑自动编号及方法改进
[J].
Automatic numbering and method improvement of mine patches based on ArcPy and custom ArcToolbox
[J].
常用GIS制图软件地图符号设计现状分析
[J].
Analysis of the current situation of map symbol design in commonly used GIS cartographic software
[J].
基于QGIS的四川地震应急专题图精细化设计与实现
[J].
Refined design and implementation of the thematic map of earthquake emergency in Sichuan based on QGIS
[J].
利用Python自动化生成地质解释图件
[J].
Automatic drawing of geological interpretation map by Python
[J].
某省区县级应急图快速制图技术研究
[J].
Rapid mapping technology of district and county level emergency map in A Province
[J].
基于1∶10 000 DLG的图库一体化数据生产实践
[J].
Practice of graph-database integration data production based on 1∶10 000 DLG
[J].
利用ArcGIS数据驱动页面实现快速编制图集的方法研究
[J].
Research on the method of quickly compiling atlas using ArcGIS data-driven pages
[J].
基于ArcGIS软件的油气资源与盆地评价工业制图技术与应用
[J].
Industrial mapping technology and application of oil & gas resources and basin evaluation based on ArcGIS software
[J].
基于ArcGIS的矿山遥感监测成果编制系统
[J].
Production data compilation system of mine remote sensing monitoring based on ArcGIS
[J].
矿山遥感监测解译记录表自动生成方法研究与实现
[J].
Research and implement on automatic production method of mine remote sensing monitoring interpretation record table
[J].
土壤调查成果制图软件设计与实现
[J].
Design and implementation of soil survey results mapping software
[J].
What is ArcPy?—ArcMap | Documentation
[EB/OL] [
基于ArcPy的违法矿山自动出图方法
[J].
Automatic plotting of illegal mines based on ArcPy
[J].
ArcPy脚本工具在新型基础测绘质量控制中的应用
[J].
DOI:10.13474/j.cnki.11-2246.2022.0250
[本文引用: 1]
在新型基础测绘体系建设中,数据质量控制是关键环节。本文以浙江新型基础测绘建设为例,提出了基于ArcPy编写地理信息数据质检Python脚本工具,实现图形、属性、拓扑、逻辑一致性等方面自动化检查,提高数据检查的质量和效率。在浙江省新型基础测绘生产质量控制实践中,通过与FME、ArcGIS Engine质检程序综合比对,验证了ArcPy脚本工具的可靠性及实用性。
Application of ArcPy scripting tool in quality control of new fundamental surveying and mapping
[J].
基于GIS的作物生产力专题图系统设计与实现
[J].
DOI:10.11924/j.issn.1000-6850.casb2022-0261
[本文引用: 1]
专题图制作存在模型计算过程繁琐、数据处理量大、制图任务重等问题,为了提高制作效率和出图时效性,利用Python语言,结合ArcGIS、数据库,开发数据处理、专题图制作软件,搭建区域作物生产力自动化制图系统。系统通过实时采集气象数据,运行生产力模型,制成区域作物生产力专题图。对安徽省作物生产力制图的实例进行分析,系统模拟结果与实际情况相近,在调整地理底图和气象站点后,可直接应用于中国中东部作物产区,为区域粮食作物稳产提供信息技术支撑。
Design and implementation of crop productivity thematic map system based on GIS
[J].
DOI:10.11924/j.issn.1000-6850.casb2022-0261
[本文引用: 1]
There are some problems in making thematic maps, such as cumbersome model calculation process, large amount of data processing and heavy mapping tasks. To improve the production efficiency and timeliness of maps, Python language, ArcGIS and database are used to develop data processing and thematic map making software, and an automatic mapping system for regional crop productivity is built in this study. The system collects meteorological data in real time, runs productivity model, and designs thematic map of regional crop productivity. Based on the case analysis of crop productivity mapping in Anhui Province, the simulation results are similar to the actual situation. After adjusting the geographical base map and meteorological stations, the simulation results can be directly applied to the crop producing areas in the central and east of China, providing information technology support for the stable yield of regional food crops.
基于Arcpy的地块分布图批量化处理
[J].
Mass production of plot distribution map based on arcpy
[J].
基于Arcpy的长顺县国储林实施方案小班设计图自动出图方法优化
[J].
Optimization of automatic drawing method for sub-compartment design drawings of Changshun County national reserve forest implementation plan based on arcpy
[J].
基于ArcPy的ArcGIS数据驱动制图及批量出图——以耕地质量等别评定制图为例
[J].
ArcGIS data-driven mapping and batch mapping based on ArcPy:Taking the evaluation of cultivated land quality as an example
[J].
基于地质信息元数据标准的多源空间数据管理系统
[J].
The multi-source spatial data management system based on geological information metadata standard
[J].
矿山遥感监测成果数据报表自动生成方法
[J].
Automatic generation method of production data report of mine remote sensing monitoring
[J].
Reentrant polygon clipping
[J].
Hidden surface removal using polygon area sorting
[C]//
A generic solution to polygon clipping
[J].
一种新的矢量数据多边形的快速裁剪算法
[J].
A new fast polygon clipping algorithm for vector data
[J].
/
〈 |
|
〉 |
