利用二值图处理三调图斑,实现自动矢量化
前言:如何将三调地类图斑的河流、道路转变为线,使用 ArcScan工具可以自动矢量化处理... |
为什么要自动矢量化处理三调图斑
解放你一整天,利用二值图处理三调图斑,实现自动矢量化
ArcScan 应该是大部分 arcgis 用户都不曾使用过的功能,使用 ArcScan可以半自动甚至接近全自动化的对栅格数据进行矢量化。
那么三调地类现状数据与 ArcScan 能产生什么联系呢?回到实际生产环境中,我们知道,随着各地三调工作的收尾,各种规划、土地、建设、评价工作相关的数据要求已经升级成使用三调数据。
而三调数据与二调数据的一个不同点就是没有线状地物了,河流沟渠道路都变成更为真实、符合实际情况的面状地物。
但是呢,这种更为真实的地物形状往往比较丑陋,这里凹下去,那里凸出来,不太美观,在很多项目中,我们需要把面状的道路、河流转变成抽象的线条,用线条表示道路和河流。
可能最常见的方法就是 提取中心线,可能看上去很简单。
但是呢提取中心线只能用线提取线,就是说你得先让面转成线(两根线),然后提取两根线的中心线才行。但是呢(还有但是),两根线的末端要闭合才能生成中心线,但是面转线后,在线的末端都是未闭合的,就像这样,所以你得手动去闭合。
1条线可以手动闭合,10条线也可以手动闭合,要是几千条线呢?你得弄到什么时候?
所以自动矢量化就派上用场了,节约你99%的时间!
二值栅格化
这里的二值是什么意思?0和1,两个值,简称二值。
这里的栅格化是什么意思?把三调数据中的道路或者河流地块栅格化,导出为图片,推荐导出为 tif 格式。
不想看文字的可以在该小结的最后观看视频。
第一步 添加黑色数据
添加三调 DLTB 数据;
筛选出需要的图斑类型,比如“河流水面”;
符号颜色设置成纯黑色。
第二步 数据视图导出
在默认的数据视图导出(注意不是用于地图制作的布局视图,而是数据视图);
必须勾选保存位置信息,不然最后矢量化得到的矢量数据没有正确的坐标,格式推荐选 tif;
分辨率根据你的图斑范围选择,简单的逻辑就是,分辨率越大,图片越清晰
在数据视图的范围就是导出后图片的范围。
第三步 0-1二值化
将导出的 tif 图片添加进 Arcmap,建议新开启一个 Arcmap 添加;
不用建立栅格金字塔;
默认的符号显示是 0 到 1 之间的拉伸显示,我们需要在符号系统中,选择唯一值,然后确认。最终将其修改为仅用 0 和 1 表示的二值图。
二值栅格化-视频
从某地的三调地类图斑中提取河流图斑然后导出二值化栅格图的过程。
矢量化
将矢量数据(面状河流)变成了二值化的栅格数据后,就可以进行自动矢量化的工作了。需要使用到 ArcScan工具,ArcScan 提供了一些工具,可用来将扫描图像转换为矢量要素图层
第一步 添加 ArcScan
开启 ArcScan扩展模块:最上方工具栏找到并点击自定义->扩展模块,然后把扩展模块中的所有能勾选上的勾选上就行了。
只有开启了扩展模块才能使用 ArcScan功能。
开启后就可以在空白后右击鼠标,然后找到并添加 ArcScan工具条了。
第二步 开启编辑模式
新建一个线矢量图层,然后编辑器开启编辑。
只有在开启编辑模式后才能在 ArcScan进行矢量化的操作。
第三步 自动矢量化
点击矢量化后,有矢量化设置、显示预览和生成要素三个选项。
在矢量化设置中可以调整自动矢量化的各种参数设置,其效果可在显示预览中直观的展示,直到最后满意后即可生成要素,完成自动矢量化。
最后的结果就是这样变成这样:
自动矢量化-视频
对某地的河流图二值栅格图进行自动矢量化的操作。
最后
这种方法以前在网上听说过,然后没有试成功,后来不了了之了,最近工作需要,查了些资料,终于成功了。
实际上操作也是非常简单,但是把面数据二值栅格化,再自动矢量化为线值得参考,所以这里记下了下来,给大家一些参考。
水平有限,如有疏漏,请多多指教!