01

概述

相信大家之前有看过很多通过电子地图提取水系的教程,该方法虽然可以提取水系,但是有一定的限制,如果在一些比较偏远的地方,电子地图上没有水系数据就无法提取,存在一定的局限性,之前已经为大家介绍了如何从卫星地图上提取道路的方法(详见《如何使用QGIS自动矢量化卫星图》​​【点击了解】​​),这里为大家介绍一下通过卫星地图提取水系数据的方法,希望能对大家有所帮助。

02

波段合成

从landsat 8的波段组合方式可以知道,NIR、SWIR1、Red(即B5 、B6、 B4)三个波段组合可以得到陆地和水域的效果,所以分别将这三个波段加载到ArcMap内。

在菜单栏上点击窗口,选择影像分析,如下图所示。

如何从卫星图中提取水系数据_机器学习

选择影像分析

在显示的影像分析对话框内,选中某一个波段图层,并点击添加函数,如下图所示。

如何从卫星图中提取水系数据_python_02

点击添加函数

在显示的函数模板编辑器对话框内,找到图层,点击右键,选择“插入\波段合成函数”,如下图所示。

如何从卫星图中提取水系数据_机器学习_03

选择波段合成函数

在显示的栅格函数属性对话框内,将所有需要合成的波段添加进来,如下图所示。

如何从卫星图中提取水系数据_图层_04

添加所有波段

点击确定完成波段的合成,合成的影像如下图所示。

如何从卫星图中提取水系数据_机器学习_05

合成的影像

03

非监督分类

在ArcToolbox中点击“Spatial Analyst工具\多元分析\ Iso聚类非监督分类”,调用Iso聚类非监督分类工具,如下图所示。

如何从卫星图中提取水系数据_图层_06

调用Iso聚类非监督分类工具

在显示的Iso聚类非监督分类对话框内,输入栅格波段为上一步合成的影像,类目录设置为4,其余的默认,如下图所示。

如何从卫星图中提取水系数据_图层_07

Iso聚类非监督分类设置

点击确定完成Iso聚类非监督分类,分类结果如下图所示。

如何从卫星图中提取水系数据_栅格_08

分类结果

04

影像重分类

在ArcToolbox中点击“Spatial Analyst工具\重分类\ 重分类”,调用重分类工具,如下图所示。

如何从卫星图中提取水系数据_图层_09

调用重分类工具

在显示的重分类对话框内,将旧值3和4设置为新值2,如下图所示。

如何从卫星图中提取水系数据_python_10

重分类设置

点击确定完成重分类,重分类结果如下图所示。

如何从卫星图中提取水系数据_图层_11

重分类结果

05

矢量化栅格

分别新建一个线图层和一个面图层,如下图所示。

如何从卫星图中提取水系数据_机器学习_12

新建的图层

将线图层进入编辑状态,打开ArcScan工具条,在工具条上点击矢量化,选择矢量化设置,如下图所示。

如何从卫星图中提取水系数据_栅格_13

选择矢量化设置

在显示的矢量化设置对话框内,点击样式,在显示的矢量化设置样式选择轮廓,如下图所示。

如何从卫星图中提取水系数据_图层_14

选择轮廓

确定之后,在ArcScan工具条上点击矢量化,选择生成要素,如下图所示。

如何从卫星图中提取水系数据_图层_15

选择生成要素

点击之后生成水系,生成的水系如下图所示。

如何从卫星图中提取水系数据_python_16

生成的水系

保存编辑结果,调整样式并添加卫星图,最后效果如下图所示。

如何从卫星图中提取水系数据_聚类_17

水系效果

06

结语

以上就是如何从卫星图中提取水系数据的详细说明,主要包括了波段合成、非监督分类、影像重分类和矢量化栅格等功能。