目录

  • 概述
    • 工作流选择
    • 关于投影
  • 遥感处理
    • 基于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离线处理你选出来的遥感影像集了。

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

关于投影

  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代号见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)

软件安装
  1. 它是c语言和cmake写的,首先安装cmake,然后用cmake编译
$ mkdir build
$ cd build
$ cmake ..
$ make

得到sln文件

  1. sln文件要用VS2019打开,右键生成exe,在.\build\src\gui\Release或者.\build\src\gui\Debug下面

  2. 运行的时候报错
    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都复制过去。

  3. 输出的是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



(待续)

【原创】遥感影像法分析河流演变相关推荐

  1. GEE:变异系数法在遥感影像分析中的应用及权重计算

    作者:CSDN @ _养乐多_ 本文介绍了在Google Earth Engine(GEE)平台上基于变异系数法的多指标加权遥感影像分析方法.该方法通过计算每个指标的平均值和标准差,进而计算变异系数来 ...

  2. 沙河之痛——河南鲁山县沙河非法采砂遥感影像分析

    ** 沙河之痛--河南鲁山县沙河非法采砂遥感影像分析 ** 对于河流,大家印象中可能是这样的,蜿蜒曲折,像金丝带一样流淌在大地之上,哺育着沿岸的城市: 但是,大家见过这样的河流吗,像一条伤痕累累被扒光 ...

  3. Python地学分析 — GDAL对遥感影像重投影

    欢迎关注博主的微信公众号:"智能遥感". 该公众号将为您奉上Python地学分析.爬虫.数据分析.Web开发.机器学习.深度学习等热门源代码. 本人的GitHub代码资料主页(持续 ...

  4. 2021遥感应用组二等奖:基于长时序Landsat遥感影像的赣南脐橙时空变化分析

    作品介绍 一.应用背景 自上世纪70年代开始种植脐橙以来,赣州大力实施"兴果富农"等战略,经过38年发展产业规模迅速壮大,目前赣州全市果业总面积263万亩,脐橙158万亩,产量超1 ...

  5. 原创程序|基于GDAL的遥感影像批量处理工具介绍(三)

    本文主要介绍基于C#+GDAL-Python实用工具开发的遥感影像批量处理工具,该工具目前主要包括影像批量切片生成KML文件和影像批量切片生成Tiles文件.该工具.Net框架版本为4.0,GDAL版 ...

  6. AI解译遥感影像,商汤的“黑科技”了解一下

    6月14日-15日,中国空间信息产业最前沿.最权威的盛会"WGDC 2018地理信息开发者大会"在北京举行.全球领先的人工智能平台公司商汤科技SenseTime亮相大会,展示了前沿 ...

  7. 八邻域轮廓跟踪算法_结合mRMR选择和IFCM聚类的遥感影像分类算法

    随着遥感成像技术的发展,高分遥感影像空间分辨率逐年提高,已经成为获取地物信息的主要数据来源之一.高分影像分类作为遥感影像处理的重要任务之一,在地理国情普查与监测.数字城市建设.城市规划等领域具有广阔的 ...

  8. 【非原创 遥感卫星信息整理汇总-02】国外遥感卫星信息汇总

    根据网络资料,梳理的国际主流卫星相关信息. Planet公司是世界上在轨卫星最多的公司,共有近200颗在轨卫星,使全球对地观测进入"每日"时代,有着其他公司无法比拟每天覆盖全球一次 ...

  9. 基于遥感影像的变化检测数据集

    文章目录 1. S2MTCP 2. Hi-UCD 3. SECOND 4. CD_Data_GZ 5. LEVIR-CD 6. LEVIR-CD+ 7.SLADCD 8. HRSCD 9. Mts-W ...

最新文章

  1. Winform分页控件之纯分页显示处理
  2. AVC sequence header AAC sequence header
  3. 为什么手机游戏手柄没有流行起来?
  4. linux安全软件 腾讯,腾讯安全团队发现一存在24年的Linux 0day高危漏洞
  5. 保守官僚 诺基亚就这样迷失在智能机时代?
  6. 在存储过程中编写正确的事务处理代码
  7. 数仓大法好!跨境电商 Shopee 的实时数仓之路
  8. spring data整合elasticsearch的applicationContext.xml文件模板
  9. 如何将java程序打包成exe文件?
  10. Qt——P26 Label控件显示图片
  11. springBoot 注入@Slf4j,框架中的方法无法调用。。。
  12. qfileinfolist 取中间_公司起名:网络公司名字起名寓意如何取寓意成功的网络公司名字...
  13. 计算机打印怎样添加PDF格式,电脑添加PDF打印机后如何将Excel打印成PDF
  14. 第五人格显示服务器维护中请稍后登录怎么办,《第五人格》未知异常 请稍后重试登不上去如何解决...
  15. 您可能是盗版软件的受害者——解决办法
  16. 物联网-云开发(Tlink云、机智云、百度云、阿里云等)
  17. 【小Game】C++ - EGE - 躲避球小游戏
  18. Idea构建异常---Could not parse metadata xx/xx/maven-metadata-local.xml-删除文件解决不掉---SpringCloud工作笔记176
  19. eclipse3.6 太阳神版 中文汉化插件
  20. android手机网速,安卓手机网速慢怎么办 安卓手机网速慢解决办法【详解】

热门文章

  1. css display:grid布局
  2. Java压缩文件和文件夹为zip格式
  3. android的spinner字体控制
  4. 心态和想法,是提高编程水平的关键
  5. 一:Debian安装
  6. Camera2架构学习(二)——CameraServer和CameraProvider的启动初始化
  7. 华为云数据灾备解决方案,你最佳的安全卫士
  8. 操作系统复习大纲笔记
  9. 技术科普丨解密无处不在的EMC干扰
  10. C/S和B/S架构总结