MODIS系列之NDVI(MOD13Q1)五:NDVI处理流程
前言:(个人建议)
1.进行数据处理工作,由于通常数据量比较大。所以在个人电脑中,要将基础数据、不断增长的过程数据、结果数据等分门别类,使得简单易找。
2.将重要数据备份,因为在数据处理过程中,由于出错使重要数据损失,勿让重要数据成绝版。所以生成或保存压缩文件是很好的选择。
3.当数据量大,需要进行批量处理时。模板文档或代码要杜绝出现细节错误。容易一锅端,费时间且低效率。
处理工具:ArcMap
处理数据:MOD13Q1的NDVI成品(.tif)文件
研究区矢量文件(以河南省省界为例)
处理流程:
1.导入研究区矢量文件(做空心处理)
2.将.tif文件导入ArcMap中(可以多导,以电脑承受能力为主)。
是否构建金字塔:是
3.批量定义投影(MRT进行批处理时已做过,但双保险且该步简单)(ArcMap有很多单次或多批次投影方法,本文只介绍一种)
双击图层
点击坐标系
点击投影坐标系
点击UTM
点击WGS1984
北半球选北
本文采用WGS 1984 UTM ZONE 49N。
点击应用,再点击确定。(如果有常用的坐标,右击点击坐标选择收藏到文件夹)
4.按掩膜提取(裁剪也行,但建议用按掩膜提取)(该步骤只能一个一个处理,Python批处理暂未更新)
单击ArcToolbox,唤出ArcToolbox,如下图找到按掩膜提取,双击按掩膜提取
点击确定
为了方便,可以将原始.tif文件移除。结果如下:
该步骤需要代码的,代码法如下:
同一掩膜文件,批量裁切:
import arcpy
from arcpy import env
from arcpy.sa import * #设置环境
arcpy.env.workspace=r"E: FAN InterpolationlKrigO"
rasters=arcpy . ListRasters ("*", "GRID")#获取文件列表 #输出路径
outRasterPath="E: EANInterpolationKrigO_ extractlKrigO_ ." for ras in rasters:
print outRasterPathtras # Check out any necessary licenses
arcpy. CheckOutExtension ("Spatial") # Local variables
inRaster ras
inMaskData="E : FUJIANModelBoundary.shp" #掩膜文件
outRaster-outRasterPath-ras+".tif" # Process: Extract by Mask
arcpy.gp. ExtractByMask_ sa (inRaster, inMaskData, outRaster) print ("OK")
5.排除值(排除栅格中-3000至0的值)
双击.tif文件或右击.tif文件,再点击属性
点击符号系统
点击已分类
点击分类
点击排除
输入-3000-0
点击应用,再点击确定(可以看到值已更改)。直到退出
结果如下:
6.值域处理
在下图中找到 “乘” 并双击
(由于MOD13数据集中NDVI的比例系数为0.0001)
结果如下:(NDVI 结果被限定在[-1,1]之间,避免了数据过大或过小给使用带来的不便)
7.视觉处理
单击图标
选择色带(可自由选择,以合适为主)
点击反向
点击确定
结果如下:
重点介绍:
该系类步骤截止到现在,所求出的NDVI是地表值NDVI。详细解释为:该步骤所求出的NDVI包含地表的耕地、森林、草地、灌木地、湿地、水体等各种土地类型的NDVI(类似于“大锅烩”)。对不同地类的提取则做出相对应的NDVI(详情请见该系列后续步骤)。
MODIS系列之NDVI(MOD13Q1)五:NDVI处理流程的更多相关文章
- MODIS系列之NDVI(MOD13Q1)七:时间序列S-G滤波之Python
时间序列S-G滤波之Python 根据上上篇博文(MODIS系列之NDVI(MOD13Q1)五:NDVI处理流程)做出的NDVI.我们求NDVI时间序列图,但该NDVI时序图为地表各土地类型综合的ND ...
- JavaScript 系列博客(五)
JavaScript 系列博客(五) 前言 本篇博客学习 js 选择器来控制 css 和 html.使用事件(钩子函数)来处理事件完成后完成指定功能以及js 事件控制页面内容. js 选择器 在学习 ...
- Linux Shell系列教程之(五)Shell字符串
本文是Linux Shell系列教程的第(五)篇,更多shell教程请看:Linux Shell系列教程 字符串是Shell编程中最常用最有用的数据类型,今天,Linux大学网就为大家介绍一下在She ...
- 【ABAP系列】【第五篇】SAP ABAP7.50 之用户接口
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列][第五篇]SAP ABAP7.5 ...
- 【HANA系列】【第五篇】SAP HANA XS的JavaScript API详解
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列][第五篇]SAP HANA XS ...
- 数据挖掘入门系列教程(四点五)之Apriori算法
目录 数据挖掘入门系列教程(四点五)之Apriori算法 频繁(项集)数据的评判标准 Apriori 算法流程 结尾 数据挖掘入门系列教程(四点五)之Apriori算法 Apriori(先验)算法关联 ...
- 数据挖掘入门系列教程(十点五)之DNN介绍及公式推导
深度神经网络(DNN,Deep Neural Networks)简介 首先让我们先回想起在之前博客(数据挖掘入门系列教程(七点五)之神经网络介绍)中介绍的神经网络:为了解决M-P模型中无法处理XOR等 ...
- Mybatis系列全解(五):全网最全!详解Mybatis的Mapper映射文件
封面:洛小汐 作者:潘潘 若不是生活所迫,谁愿意背负一身才华. 前言 上节我们介绍了 < Mybatis系列全解(四):全网最全!Mybatis配置文件 XML 全貌详解 >,内容很详细( ...
- 《手把手教你》系列技巧篇(五十)-java+ selenium自动化测试-字符串操作-上篇(详解教程)
1.简介 自动化测试中进行断言的时候,我们可能经常遇到的场景.从一个字符串中找出一组数字或者其中的某些关键字,而不是将这一串字符串作为结果进行断言.这个时候就需要我们对字符串进行操作,宏哥这里介绍两种 ...
随机推荐
- Linux C++ 网络编程学习系列(1)——端口复用实现
Linux C++ 网络编程学习系列(1)--端口复用实现 源码地址:https://github.com/whuwzp/linuxc/tree/master/portreuse 源码说明: serv ...
- VulnHub靶场学习_HA: Avengers Arsenal
HA: Avengers Arsenal Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-avengers-arsenal,369/ 背景: 复仇者联盟 ...
- 2019-07-28【机器学习】无监督学习之聚类 DBSCAN方法及其应用 (在线大学生上网时间分析)
样本: import numpy as np import sklearn.cluster as skc from sklearn import metrics import matplotlib.p ...
- 【Tool】在Windows系统上,下载和安装当前最新版本的IDEA 2020-4-14
下载 & 安装 IDEA 下载部分: 官网地址:https://www.jetbrains.com/idea/ 直接点击鲜眼的DOWNLOAD 如果仅仅是想简单接触学习下Java语言,社区版的 ...
- Jquery+php鼠标滚动到页面底部自动加载更多内容,使用分页
1.index.php <style type="text/css"> #container{margin:10px auto;width: 660px; border ...
- Three.js三维模型几何体旋转、缩放和平移
创建场景中的三维模型往往需要设置显示大小.位置.角度,three.js提供了一系列网格模型对象的几何变换方法,从WebGL的角度看,旋转.缩放.平移对应的都是模型变换矩阵,关于矩阵变换内容可以观看本人 ...
- Android | 教你如何在安卓上实现通用卡证识别,一键各种卡绑定
目录 前言 通用卡证识别的应用场景 如何使用通用卡证识别服务 集成通用卡证识别服务的关键流程 开发实战 1 开发准备 1.1 在项目级gradle里添加华为maven仓 1.2 在应用级的build. ...
- 2. js的异步
1. 回掉2. promise3. Generator4. Async/await
- Serlvet容器与Web应用
对启动顺序的错误认识 之前一直有个观点,应用运行在Servlet容器中,因为从Servlet容器与Web应用的使用方式来看,确实很有这种感觉. 我们每次都是启动Servlet容器,然后再启动我们的应用 ...
- 小程序里button边框有黑线解决办法(自定义button样式)
.go_to_user::after{ border:1px solid transparent; } button的class为go_to_user button{ padding:; box-si ...