龚其琛,李 磊,邹 威
(1.中南勘察设计院集团有限公司,湖北 武汉 430000;2.湖北省测绘工程院,湖北 武汉 430000;3.广东省国土资源测绘院,广东 广州 510500)
年度基础性地理国情监测从2016年开始,是第一次地理国情普查的延续,根据与监测时点匹配度最高的遥感影像对第一次地理国情普查数据库进行年度更新,保证地理国情普查数据的时效性,提升数据在学术研究、工程应用、政府决策方面的使用价值。为提高数据监测更新准确度,与第一次地理国情普查生产流程相同,需要对年度监测成果中存疑处进行实地外业核查,外业过程中所记录的轨迹还需入库。由于外业量较大,导致外业轨迹存在大量重复路段、节点冗余问题,根据生产规定,在入库前要对轨迹进行概化处理,仅需能够反映外业调查整体情况即可[1-7]。人工处理工作量较大,可以利用ArcGIS ArcScan模块对轨迹群进行栅格化,然后提取栅格中心线的思路,自动生产全省概化轨迹,更新属性后直接入库。
ArcGIS是美国Esri公司研发的构建于工业标准之上的无缝扩展的GIS产品家族。它整合了数据库、软件工程、人工智能、网络技术、云计算等主流的IT技术,宗旨在为用户提供一套完整的、开放的企业级GIS解决方案。ArcGIS以其强大的数据整合分析功能和灵活的可扩展性在测绘行业得到了广泛的应用,在数据库建设上的出色发挥也为它吸引了广大的用户群。
ArcScan 在 ArcMap 环境下运行,并且依赖于自身的用户界面,该界面支持在矢量化过程中使用的工具和命令。与其他 ArcGIS 扩展模块一样,必须先在ArcMap 中启用 ArcScan 扩展模块,之后才能使用该模块。此外,必须将“扫描矢量化”工具条添加到地图,才能访问支持矢量化工作流的工具和命令[1]。
扫描矢量化可以对 ArcGIS 所支持的任何以二值图像表示的栅格数据格式进行矢量化。这就要求使用两种颜色来对栅格图层进行符号化。可以使用 ArcMap 的“唯一值”或“分类”渲染选项来将栅格分离成两种颜色。大部分扫描文档通常由两种用来描绘前景和背景的颜色组成。通常,前景用深色(如黑色)表示,而背景用浅色(如白色)表示。但是,这些颜色可以颠倒或用不同的值表示。只要两种颜色具有唯一的值,扫描矢量化就支持对当前前景栅格像元进行矢量化。
以2018年基础性地理国情监测入库外业调查轨迹入库流程为例,原始外业轨迹坐标系为CGCS 2000地理坐标系,其空间分布情况如图1所示。
图1 地理国情监测原始外业轨迹示例
图中,原始轨迹中存在大量的轨迹重复,轨迹重复缘于外业调查中的路段重复勘踏,或仅仅是由于仪器未关闭路线采集功能,如果按照技术要求,人工整理轨迹的话,逐条路线编辑工作量较大。
使用ArcGIS ArcScan模块进行轨迹概化,整体思路如图2所示。
图2 轨迹概化思路
2.2.1 数据准备
在正式开始处理数据前,需统一整理数据。外业原始轨迹坐标系统由作业员在外业平板上设定,要先核查坐标系是否正确,坐标系设置无误的前提下,外业原始轨迹成果坐标系应该为CGCS 2000地理坐标系。但由于后续需要进行缓冲操作,需要以米为缓冲距离单位,因此需要将地理坐标系数据统一转换为投影坐标系,此处统一选择CGCS2000_3_Degree_GK_CM_114E,坐标转换界面如图3所示。
图3 坐标转换设置界面
2.2.2 道路线缓冲
获取投影坐标系轨迹成果之后,就可以对线要素进行缓冲(buffer)操作,缓冲操作可以实现两个目的:①将线状轨迹要素转换为面状轨迹要素,为下一步转栅格做准备;②在转换为面状要素的过程中,可以同时实现面融合。
这也意味着在缓冲设置时有两个关键点:
1)缓冲距离的选择。缓冲距离既不能太长也不能太短,太长会令面缓冲成果失去道路的空间形态,导致在后续面缓冲成果转换为线状要素时与真实道路相差甚远;太短则会导致相同道路的不同轨迹缓冲面宽度过窄无法重叠,影响后续面融合操作。
2)融合。每段原始轨迹会生成一个独立缓冲面,为方便后续转换,需要将各个轨迹生产的面进行融合。缓冲工具界面设置如图4所示。
图4 缓冲工具界面设置
3)要素转栅格。在缓冲后,就可以根据缓冲面提取道路面中心线,ArcGIS提取条状面要素中心线有两种方式,一种是直接使用ArcToolbox中“提取中心线”(CollapseDualLinesToCenterline)工具进行,这种方式可直接将双线矢量要素转换为单线是两要素;第二种是先将矢量面要素转换为二值化栅格,然后使用ArcScan套件提取其中心线。
很明显,由于采取轨迹缓冲构面的方式,使用第二种方式较好。“提取中心线”的方式需要先将轨迹缓冲面转换为双线,在道路复杂处很容易由于线条较多导致提取结果不符合现实情况,而将缓冲面转换为栅格在一定程度上是对道路节点复杂面构成的融合,提取结果会更加真实[2-4]。
4)栅格重分类。“要素转栅格”工具所生成的栅格成果栅格单元值域并不规范,而ArcScan模块从栅格提取线状要素的前提需要将栅格二值化,二值化之后的栅格特征为:轨迹缓冲面所覆盖的栅格单元值为1,其他栅格单元值均为0。
将栅格二值化需要用到ArcToolbox中“重分类”(ReClassify)工具,设置界面如图5所示。
图5 栅格二值化设置
如上图,“重分类”工具将原始栅格已存在的灰度值统一调整为1,将空值“Nodata”调整为0。生成的栅格成果与原始轨迹对比图如图6所示。
图6 栅格成果与原始轨迹对比图
5)ArcScan生成线要素。生成二值化栅格之后,即可使用ArcScan模块将提取中心线。点击ArcMap菜单栏自定义→扩展模块激活ArcScan工具,右键单击ArcMap工具栏空白处调出ArcScan工具栏,先点击“矢量化设置”进行栅格矢量化的参数设置,将栅格最大线宽度调为最大值100以尽可能扩大能转换为中心线的道路宽度限值,输出栅格像元大小设置为5m。新建一个空白的shape线文件用来存放转换后的线文件数据,点击矢量化→生成要素工具进行中心线提取,在生成要素工具上勾选“将各线要素的平均宽度保存到现有字段”。
通过以上操作,原始轨迹空间概化工作即已完成,由于概化轨迹成果未继承原始轨迹属性,因此需要人工以县为单位添加轨迹属性即可[5-6]。
2.2.3 成果比对
轨迹概化成果与原始轨迹对比情况如图7所示,下图中蓝色线条为轨迹概化成果,红色线条为原始轨迹。
图7 轨迹概化前后情况对比
图中显示,原本需要人工打断、删除、调整的轨迹线段,自动生成了概化的轨迹分布趋势线,且线条走向自然,结构合理,满足了基础性地理国情监测对轨迹入库的技术要求。
本文探索了一种复杂路线轨迹自动化概化的方法,其实质是将拥有不同偏移量的相同空间线状要素提取为最能反映其空间分布情况的线状要素,本思路可进一步延伸到诸如道路面提取中心线、河流面提取中心线、交通轨迹群处理等领域。ArcScan作为ArcGIS一个比较冷门的模块,在栅格数据矢量化方面有很多尚待发掘的功能,除此之外,ArcScan结合ArcGIS Engine二次开发,也是一个很有价值的思考方向。