【原创】遥感影像法分析河流演变


针对landsat系列数据

概述

工作流选择

基于遥感影像分析河流演变,我使用过的有四种方法:
1.USGS/gscloud+ENVI+arcgis,是最基础的,只需要安装软件,前者下载遥感影响,中者处理遥感影像,后者进行统计分析。
2.USGS/gscloud+IDL(ENVI)+arcpy(arcgis+Python),中者改为了IDL,可以对下载的遥感影像进行批处理;后者改为了arcpy,允许使用Python2.7编写脚本工具,然后在arcgis中进行统计分析。IDL和arcpy都不容易上手,而且IDL的资料较少非常难受。
3.USGS/gscloud+Python,在这里放弃ENVI,直接使用Python进行遥感处理和统计分析,是因为Python的诸多第三方库中,存在可以基本实现ENVI和ArcGIS的处理和分析功能的库(e.g.,GDAL,shapely)。方便上手且网上资料多(有研究者专门写了一个河流遥感处理分析的库pyris)。
4.GEE+Python,现在发现最好的方法,Python可以替代ENVI和arcgis上面已经说明了,而GEE的主要优势在这里就是方便筛选影像,而且无需下载即可处理,我在这里的具体方法是把选择的研究区域的遥感影像集从GEE上以.npy(numpy数组)格式保存到本地,这样可以极大的缩小文件大小(百兆以内),同时保存对应的proj(投影)和geatrans(地理转换参数)到本地,下一步就可以在本地使用Python离线处理你选出来的遥感影像集了。

第一种方法在这篇文章中不再赘述,下面从方法二三四涉及的批处理方法介绍作者积累的脚本。重点放在第四种方法。

关于投影

  1. 定义投影:指的是你的图有坐标,但是没有投影,这个时候你需要自己去搞清楚你图的坐标是在什么地理/投影坐标系下的,然后再将图定义到对应的坐标系。一般都是WGS84下的经纬度坐标(EPSG=4326)。
  2. 投影转换:这时候你的图有坐标系了(无论是地理还是投影坐标系),然后你想转换为另外一个坐标系,这叫投影转换。
  3. 你是从谷歌地球或者gee上面拿的坐标,都是WGS84地理坐标系下的坐标。
  4. 在python里面实现投影转换和投影定义:需要先查地理/投影坐标系对应的EPSG代号(在这里查

我国边界最东端在黑龙江和乌苏里江的主航道中心线的相交处(135°2′30”E);最西端在帕米尔高原附近(73°29’59.79”E)。遥感影像一般都是UTM投影坐标系,所以我国用的UTM带号在43N-53N之间(72-138°,EPSG代号=326+带号)。
各常见坐标系对应EPSG代号见S1。完整的表格下载放这里
相应的坐标系定义和转换函数我会整合在我正在改写的pyris第三方库这里

遥感处理

基于Python的遥感处理

这一部分方法在pyris中已经涉及的很全面了,本人正在进行pyris的改写。
pyris

GEE+Python

贴上本人目前的GEE学习轨迹(GEE之python学习

MNDWI工作流

  1. 首先用GEE,按照裁剪影像的云量排序,进行筛选。筛选后的影像可以选择保存所有波段,也可以先计算MNDWI再以.npy保存到本地。
  2. 对于辩状河流这种,因为分辨率低导致水体断点了,就需要先把本地的MNDWI.npy转tiff转shp,手动在arcgis里面删去不需要的水体,再把shp转tiff转数组。而对于一般比如弯曲、分汊的河流,就可以直接用pyris里面的方法,选择保存面积最大的一块水体即可。
  3. 统一维数:对于水体的数组,可能会有维数不一样的情况,因为所有数据左上角点坐标都是一致的,则只需要在右侧和下侧拼接全0数组。
def unify_shape(array,shape):
    #用0补全数组右侧和下侧
    n1=np.concatenate((array,np.zeros([shape[0]-array.shape[0],shape[1]])),axis=0)#补全下侧	
    n2=np.concatenate((n1,np.zeros([shape[0],shape[1]-array.shape[1]])),axis=1)#补全右侧
    return n2

统计分析

分析的基础文件就是上面提到的干净的MNDWI.npy

面积

简单的不摆

中心线/岸线摆动(arcpy)

本人写的中心线/岸线横向摆动面积脚本工具。

pyris

pyRis

辫状河流

辩状指数计算

汊道数指数

拓扑结构提取

Lowpath

这个工具根据算法,使用DEM来计算辫状河汊道
(https://github.com/tue-alga/ttga; https://zenodo.org/record/3518174#.Y4xQ8-gzbIV)

RivMACNet

基于水体的Segementation提取的拓扑结构(10.1016/j.cageo.2022.105180).

其它

IDL批量提取水体

使用IDL对Landsat系列进行批量水体提取

Python爬取遥感信息及批量下载

根据月份从地理空间数据云上爬取遥感影像信息
根据水文资料(水位/流量)爬取地理空间数据云遥感影像信息
从地理空间数据云批量下载landsat

河流系软件

SI

S1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(待续)

  • 7
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值