【原创】遥感影像法分析河流演变
目录
- 概述
- 工作流选择
- 关于投影
- 遥感处理
- 基于Python的遥感处理
- GEE+Python
- MNDWI工作流
- 统计分析
- 面积
- 中心线/岸线摆动(arcpy)
- pyris
- 辫状河流
- 辩状指数计算
- 汊道数指数
- 拓扑结构提取
- lowpath
- 软件安装
- 使用
- 其它
- 杂
- IDL批量提取水体
- Python爬取遥感信息及批量下载
- 河流系软件
- SI
- S1
针对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进行遥感处理和统计分析,是因为ENVI和arcgis都有发布的Python库可以使用(e.g.,gdal,shapely),方便上手且网上资料多(有研究者专门写了一个河流遥感处理分析的库pyris)。
4.GEE+Python,现在发现最好的方法,Python可以替代ENVI和arcgis上面已经说明了,而GEE的主要优势在这里就是方便筛选影像,而且无需下载即可处理,我在这里的具体方法是把选择的研究区域的遥感影像集从GEE上以.npy(numpy数组)格式保存到本地,这样可以极大的缩小文件大小(百兆以内),同时保存对应的proj(投影)和geatrans(地理转换参数)到本地,下一步就可以在本地使用Python离线处理你选出来的遥感影像集了。
第一种方法在这篇文章中不再赘述,下面从方法二三四涉及的批处理方法介绍作者积累的脚本。重点放在第四种方法。
关于投影
- 定义投影:指的是你的图有坐标,但是没有投影,这个时候你需要自己去搞清楚你图的坐标是在什么地理/投影坐标系下的,然后再将图定义到对应的坐标系。一般都是WGS84下的经纬度坐标(EPSG=4326)。
- 投影转换:这时候你的图有坐标系了(无论是地理还是投影坐标系),然后你想转换为另外一个坐标系,这叫投影转换。
- 你是从谷歌地球或者gee上面拿的坐标,都是WGS84地理坐标系下的坐标。
- 在python里面实现投影转换和投影定义:需要先查地理/投影坐标系对应的EPSG代号(在这里查)
我国边界最东端在黑龙江和乌苏里江的主航道中心线的相交处(135°2′30”E);最西端在帕米尔高原附近(73°29’59.79”E)。遥感影像一般都是UTM投影坐标系,所以我国用的UTM带号在43N-53N之间(72-138°)。
各常见坐标系对应EPSG代号见S1。完整的表格下载放这里。
相应的坐标系定义和转换函数我会整合在我正在改写的pyris第三方库这里。
遥感处理
基于Python的遥感处理
这一部分方法在pyris中已经涉及的很全面了,本人正在进行pyris的改写。
pyris
GEE+Python
贴上本人目前的GEE学习轨迹(GEE之python学习)
MNDWI工作流
- 首先用GEE,按照裁剪影像的云量排序,进行筛选。筛选后的影像可以选择保存所有波段,也可以先计算MNDWI再以.npy保存到本地。
- 对于辩状河流这种,因为分辨率低导致水体断点了,就需要先把本地的MNDWI.npy转tiff转shp,手动在arcgis里面删去不需要的水体,再把shp转tiff转数组。而对于一般比如弯曲、分汊的河流,就可以直接用pyris里面的方法,选择保存面积最大的一块水体即可。
- 统一维数:对于水体的数组,可能会有维数不一样的情况,因为所有数据左上角点坐标都是一致的,则只需要在右侧和下侧拼接全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)
软件安装
- 它是c语言和cmake写的,首先安装cmake,然后用cmake编译
$ mkdir build
$ cd build
$ cmake ..
$ make
得到sln文件
sln文件要用VS2019打开,右键生成exe,在.\build\src\gui\Release或者.\build\src\gui\Debug下面
运行的时候报错
This application failed to start because it could not find or load the Qt platform plugin “windows” in “”.
是因为没有装对应版本的qt,参考这篇文章
,完了再重新生成exe,还是会报同样的错,是因为缺少组件,按https://blog.csdn.net/qq_35488967/article/details/78504392解决,把bin里面所以带lib的dll都复制过去。输出的是txt,写脚本转换为npy
使用
使用软件算出来的links是txt文件,写代码把它转tif文件
import numpy as np
import pyrisdef lines2mask(lines,size):#lines=[[(Row_idx),(Col_idx)],[],[],...]mask=np.zeros(size,dtype=int)for line in lines:Row_idx,Col_idx=linemask[Row_idx,Col_idx]+=1return mask>0def read_from_links(txt_file):R_C=[]f=open(txt_file,'r')for idx,line in enumerate(f.readlines()):if idx==0:continueline=[int(i) for i in line.split(' ')[2:]]Row_idx,Col_idx=line[1::2],line[0::2]R_C.append([Row_idx,Col_idx])return R_CR_C=read_from_links(r'C:\Users\23932\Desktop\TongTian\links.txt')
print(len(R_C))mask=lines2mask(R_C[:2000],(777,2820))
proj,geotrans=pyris.load_Proj(r'C:\Users\23932\Desktop\TongTian\prj\2000_244.prj'),pyris.load_Trans(r'C:\Users\23932\Desktop\TongTian\geo\2000_244.p')
pyris.array2raster(mask[:,:,np.newaxis],r'C:\Users\23932\Desktop\TongTian\topo.tif',[0],proj=proj,GeoTransf=geotrans)
pyris.show_npy(mask)
其它
杂
IDL批量提取水体
使用IDL对Landsat系列进行批量水体提取
Python爬取遥感信息及批量下载
根据月份从地理空间数据云上爬取遥感影像信息
根据水文资料(水位/流量)爬取地理空间数据云遥感影像信息
从地理空间数据云批量下载landsat
河流系软件
SI
S1
(待续)
【原创】遥感影像法分析河流演变相关推荐
- GEE:变异系数法在遥感影像分析中的应用及权重计算
作者:CSDN @ _养乐多_ 本文介绍了在Google Earth Engine(GEE)平台上基于变异系数法的多指标加权遥感影像分析方法.该方法通过计算每个指标的平均值和标准差,进而计算变异系数来 ...
- 沙河之痛——河南鲁山县沙河非法采砂遥感影像分析
** 沙河之痛--河南鲁山县沙河非法采砂遥感影像分析 ** 对于河流,大家印象中可能是这样的,蜿蜒曲折,像金丝带一样流淌在大地之上,哺育着沿岸的城市: 但是,大家见过这样的河流吗,像一条伤痕累累被扒光 ...
- Python地学分析 — GDAL对遥感影像重投影
欢迎关注博主的微信公众号:"智能遥感". 该公众号将为您奉上Python地学分析.爬虫.数据分析.Web开发.机器学习.深度学习等热门源代码. 本人的GitHub代码资料主页(持续 ...
- 2021遥感应用组二等奖:基于长时序Landsat遥感影像的赣南脐橙时空变化分析
作品介绍 一.应用背景 自上世纪70年代开始种植脐橙以来,赣州大力实施"兴果富农"等战略,经过38年发展产业规模迅速壮大,目前赣州全市果业总面积263万亩,脐橙158万亩,产量超1 ...
- 原创程序|基于GDAL的遥感影像批量处理工具介绍(三)
本文主要介绍基于C#+GDAL-Python实用工具开发的遥感影像批量处理工具,该工具目前主要包括影像批量切片生成KML文件和影像批量切片生成Tiles文件.该工具.Net框架版本为4.0,GDAL版 ...
- AI解译遥感影像,商汤的“黑科技”了解一下
6月14日-15日,中国空间信息产业最前沿.最权威的盛会"WGDC 2018地理信息开发者大会"在北京举行.全球领先的人工智能平台公司商汤科技SenseTime亮相大会,展示了前沿 ...
- 八邻域轮廓跟踪算法_结合mRMR选择和IFCM聚类的遥感影像分类算法
随着遥感成像技术的发展,高分遥感影像空间分辨率逐年提高,已经成为获取地物信息的主要数据来源之一.高分影像分类作为遥感影像处理的重要任务之一,在地理国情普查与监测.数字城市建设.城市规划等领域具有广阔的 ...
- 【非原创 遥感卫星信息整理汇总-02】国外遥感卫星信息汇总
根据网络资料,梳理的国际主流卫星相关信息. Planet公司是世界上在轨卫星最多的公司,共有近200颗在轨卫星,使全球对地观测进入"每日"时代,有着其他公司无法比拟每天覆盖全球一次 ...
- 基于遥感影像的变化检测数据集
文章目录 1. S2MTCP 2. Hi-UCD 3. SECOND 4. CD_Data_GZ 5. LEVIR-CD 6. LEVIR-CD+ 7.SLADCD 8. HRSCD 9. Mts-W ...
最新文章
- Winform分页控件之纯分页显示处理
- AVC sequence header AAC sequence header
- 为什么手机游戏手柄没有流行起来?
- linux安全软件 腾讯,腾讯安全团队发现一存在24年的Linux 0day高危漏洞
- 保守官僚 诺基亚就这样迷失在智能机时代?
- 在存储过程中编写正确的事务处理代码
- 数仓大法好!跨境电商 Shopee 的实时数仓之路
- spring data整合elasticsearch的applicationContext.xml文件模板
- 如何将java程序打包成exe文件?
- Qt——P26 Label控件显示图片
- springBoot 注入@Slf4j,框架中的方法无法调用。。。
- qfileinfolist 取中间_公司起名:网络公司名字起名寓意如何取寓意成功的网络公司名字...
- 计算机打印怎样添加PDF格式,电脑添加PDF打印机后如何将Excel打印成PDF
- 第五人格显示服务器维护中请稍后登录怎么办,《第五人格》未知异常 请稍后重试登不上去如何解决...
- 您可能是盗版软件的受害者——解决办法
- 物联网-云开发(Tlink云、机智云、百度云、阿里云等)
- 【小Game】C++ - EGE - 躲避球小游戏
- Idea构建异常---Could not parse metadata xx/xx/maven-metadata-local.xml-删除文件解决不掉---SpringCloud工作笔记176
- eclipse3.6 太阳神版 中文汉化插件
- android手机网速,安卓手机网速慢怎么办 安卓手机网速慢解决办法【详解】