精华内容
下载资源
问答
  • 利用2010年和2014年2个时相的TM遥感影像为数据源,以归一化植被指数(NDVI)像元二分法为植被覆盖度估算模型,计算了晋中煤炭基地乡宁矿区近5年的植被覆盖度,生成了不同时序的植被覆盖度分布植被覆盖度变化,以此...
  • 像元二分法反演植被覆盖度的NDVI max 和NDVI min取值问题初步研究,陈绪志,林长伟,快速而较准确地获得NDVI max和NDVI min参数,是像元二分法提取植被覆盖度的关键。借鉴NDVI max 和NDVI min经验值,掩膜NDVI中像...
  • Perform the band math processing envi_doit, 'math_doit', $ fid=t_fid, pos=pos, dims=dims, $ exp=exp, out_name=out_name, $ r_fid=r_fid endfor end 植被覆盖度函数(植被覆盖度计算方法不尽相同,在此选取一...

    运行前在控制台启动ENVI。

    pro EXAMPLE_MATH_DOIT_Batch
      compile_opt IDL2
      path = envi_pickfile(/directory) ;打开文件所在路径
      files = file_search(path,'*dat',count=count)
      if count eq 0 then return
      outPath = 'D:\'
      for i=0, count-1 do begin
        file = files[i]
        envi_open_file, file, r_fid=fid
        if (fid[0] eq -1) then continue
        envi_file_query, fid, dims=dims
        t_fid = [fid,fid]
        pos = [2,3]
        exp = 'bm_CalVFC(b1,b2)'
        bname=file_basename(file,'.dat') ;提取不带文件扩展名的的文件名
        out_name = outPath + baname + '_ndvi.dat'
    
        ; Perform the band math processing
        envi_doit, 'math_doit', $
          fid=t_fid, pos=pos, dims=dims, $
          exp=exp, out_name=out_name, $
    
          r_fid=r_fid
      endfor
    
    end
    

    植被覆盖度函数(植被覆盖度计算方法不尽相同,在此选取一种算法用代码实现):

    ;vfc=bm_CalVFC(red,nir,[min=double(ndvi_min)],[max=double(navi_max)])
    function bm_CalVFC,red,nir,min=min,max=max
      if ~n_elements(min) then min = 0.05
      if ~n_elements(max) then max = 0.7
      ndvi=(float(nir)-red)/(float(nir)+red)
      vfc=(ndvi lt min)*0+(ndvi gt max)*1+(ndvi ge min and ndvi le max)* $
      (ndvi-min)/(max-min)
      return,vfc
      
    end
    
    展开全文
  • 利用IDL计算植被覆盖度(VFC)

    千次阅读 多人点赞 2020-08-21 21:45:38
      正巧IDL实验课考核的作业是利用4个Function和主Pro过程写一个遥感图像处理的代码,以前一直想着能不能计算NDVI和植被覆盖度(VFC)用IDL写出来,因为老是总强调处理遥感影像比较正统,一定程度上是这样说,因为IDL...

    0. 前言

      正巧IDL实验课考核的作业是利用4个Function和主Pro过程写一个遥感图像处理的代码,要求是前一个方法的输出是另一个方法的输入。以前一直想着能不能计算NDVI和植被覆盖度(VFC)用IDL写出来,因为几乎所有老师上课一开始都是推荐用IDL写遥感图像处理的程序的。
      先区分一些概念,ENVI、IDL、C++(cpp)
      ENVI(The Environment for Visualizing Images)是我们遥感专业处理中常用的一款可视化的软件,原来是RSI公司出品。现在变 Exelis Visual Information Solutions公司出品的。
    而可视化软件肯定是用编程语言写出来的,而 ENVI 就是用IDL语言写出来的。
      IDL是一种编程语言,它和MATLAB、Python、java等语言一样是一种解释性的语言,你在一定的编辑器甚至在 command 中输入一些基础语句,就能得到一定的运行结果。而像 c++、c 是需要进行编译之后在进行运行的, 这和前面的几种语言有本质的不同。
      而IDL的底层是由 c++等语言写出来的。

    解释清楚这些再谈谈我自己对这个 project 的理解,即利用 MODIS 数据进行某地的植被覆盖度的变化监测
     
      数据下载在我以前的 blog 中已经都有记录了,而实际上这个项目的真正需求和难点是长时间序列的(本人也做过,不过处理过程是用ENVI做的),其实长时间序列只是用 MRT(MODIS Reprejection Tool) 对数据进行了重投影,再进行一个最大值滤波(最大值滤波就是把所有图像读进去用一个 '>'比较一下罢了),之后再是一些基本操作,但是我觉得这个(科研的基础入门训练)而不是科研,仅仅是掌握最基本的思维能力、文献查询、还有ENVI的最基本处理罢了,去发 paper 的话还是没有什么价值(这个项目已经被做烂了,而且GEE(Goole Earth Engine)的兴起,正在逐渐淘汰这些本地软件的处理,现在更注重遥感大数据云端处理,附以其他数据进行联合分析)这些联合分析其实就是遥感分析中的地理相关分析法,是什么导致了植被覆盖度这样变化,是城市扩张?还是自然的变换?而如果是城市扩张我又需要用什么数据去进行佐证城市在扩张(比如夜光数据,土地覆盖利用数据....),但是需要注意的是,我们在选择佐证因素的时候,需要先确定好有哪些现存的数据可以提供佐证,不可能用获得不了的卫星数据来佐证,亦或是时间序列无法满足你自身证明要求的数据。

    1. 语法

    1.1 函数、功能、方法

    function name,var1,var2...
    	process....
    	balalala....
    	
    return var
    end
    

    例如

    function pass_var,var1,var2
        c = [var1,var2]
        return,c
    end
    

    这个pass_var为函数名, var1var_1var2var_2 为输入变量,cc 为输出变量,需要注意的是return后面用的是逗号,并且返回值只能有一个,但是这个值可以是矩阵、单一值等等。

    ------------------------------------分割线------------------------------

    1.2 过程

    过程又称为procedure,在IDL的语法是

    pro proname,var1,var2,....	
    	process,...
    end
    

    例如

    pro test6
        c = pass_var(1,2)
        print,c
    end
    

    这个pro就调用了上面的function,成就了一种联动。

    ------------------------------------分割线------------------------------

    2. 正题

       思路是,计算利用近红波段和红波段计算出 NDVINDVI ,再根据5%和95%的置信区间统计出 NDVIsoilNDVI_{soil}NDVIvegNDVI_{veg} (统计的时候需要去除水体,至于怎么去水,我在我的SRT中用的是MOD44W 250m全球水体掩膜的数据集),在这里我简单的认为水体是 NDVI<0NDVI<0 的部分

    输入:近红波段图像和红波段图像。
    输出:VFC植被覆盖度

    需要注意的是,我在前期已经将图像的背景赋值为 NAN 了,且我用的输入图像是MOD13Q1经过MRT处理输出的近红和红波段。
    ------------------------------------分割线------------------------------

    2.1 第一步

      选取图像,这里我用的dialog_pickfile.可以自己选取图像,这里是主过程。

    pro caculate_VFC
       ;coding = GBK
        ;version 1.0
        ;Calculate VFC with red band and near red band
        ;整个需要选择的图像主要为红波段图像、近红波段图像,计算NDVI,并根据NDVI计算直方图得到NDVI_min,NDVI_max
        ;Neverland,Aug 21st 2020
        ;测试中发现在计算VFC计算步骤中会导致浮点数非法操作,但是必须使用这种方法,否则会导致整幅图变为2值图像 
        filters = ['*.jpg;*.jpeg', '*.tif;*.tiff', '*.png'];      ;过滤器
        result1 = dialog_message('请选择红波段的图像',/information)
        red_file = dialog_pickfile(/READ, FILTER = filters,GET_PATH=work_dir,title='请选择红波段图像')       ;选择红波段图像
        result2 = dialog_message('请选择近红波段的图像',/information)
        nir_file = dialog_pickfile(/READ, FILTER = filters,path=work_dir,title='请选择近红波段图像')       ;选择近红波段图像
        b1 = read_tiff(red_file,Geotiff=GeoKeys)                  ;读取红波段
        b2 = read_tiff(nir_file,Geotiff=GeoKeys)                  ;读取近红波段
        mn_size = size(b1,/dimensions)                            ;图像的大小
        m = mn_size[0]                                            ;行
        n = mn_size[1]-------------------计算NDVI-----------------------
        NDVI = cal_NDVI(b1,b2)
        
        ;--------------------统计直方图----------------------
        NDVI_stastic = cal_maxmin(NDVI)
        NDVI_soil = NDVI_stastic[0]                ;5%的置信区间
        NDVI_veg = NDVI_stastic[1]                 ;95的置信区间
        print,'NDVI_soil: ',NDVI_soil, '; NDVI_veg:', NDVI_veg
    
        ----------------------计算VFC------------------------
        ;第四步,计算VFC并写出
        VFC = cal_vegfraction(NDVI,NDVI_soil,NDVI_veg)
    
        VFC_out = dialog_pickfile(/write,path=work_dir,title='请选择VFC保存位置的图像')          ;自定义写出的名称
        VFC_outname = VFC_out + '.tif'
        im1 = image(VFC,dimensions=[n,m],margin=0,window_title='VFC图像',order=1)        ;图像
        write_tiff,VFC_outname,VFC,/float,geotiff=Geokeys             
    end
    

      dialog_message弹出对话框,类型有warning,information…等等,然后dialog_pickfile交互选择图像,根据提示选就行。这个也是主 pro ,里面会调用之后写的函数。

    2.2 第二步

      计算NDVI
    NDVI=NIRRedNIR+RedNDVI = \dfrac{NIR-Red}{NIR+Red}
    这应该是每个RSer必知的公式!

    function cal_NDVI,b1,b2
        ;输入参数为b1红波段,b2近红波段并计算NDVI,最后写出
        NDVI = (float(b2)-b1)/(float(b2)+b1)
        NDVI_out = dialog_pickfile(/write,path=work_dir,title='请选择NDVI输出的图像路径与名称')
        write_tiff,NDVI_outname,NDVI,/float,geotiff=Geokeys
        return,NDVI
    end
    

    于是在主过程中补上去,就是代码中分割线下面的部分。

    2.3第三步

      根据直方图统计NDVIsoilNDVI_{soil}NDVIvegNDVI_{veg},也有人称为 NDVImaxNDVI_{max}NDVIminNDVI_{min}, 我习惯前者,于是第三个function。
      输入是 NDVINDVI,输出是 NDVIsoilNDVI _{soil}NDVIvegNDVI_{veg}

    function cal_maxmin,NDVI
    
    ;输入为NDVI,根据NDVI统计5%95%的置信区间
    
     w = where(finite(NDVI) gt 0,count)                 ;由于背景是NAN,如果不适用finite函数会导致NAN无法与float比较
     ht = histogram(NDVI[w],nbins=200,locations=locations)
        ht_acc = total(ht,/cumulative)/count
        
    ;统计累积频率为5%95%的NDVI作为NDVI_soil和NDVI_veg
        w1 = where(ht_acc gt 0.05)                 ;5%的累计区间
        NDVI_soil = locations[w1[0]-1]
        
        w2 = where(ht_acc ge 0.95)                 ;95%的累计区间
        NDVI_veg = locations(w2[0])
        NDVI_stastic = [NDVI_soil,NDVI_veg]          ;合并以便写出
        return,NDVI_stastic
    end
    

      再补这个function进主pro中,这个function返回值有2个,所以返回了第0个和1个值,作为 NDVIsoilNDVI_{soil}NDVIvegNDVI_{veg}。histogram是直方图,然后统计什么时候到了5%什么时候到了95%,就是 NDVIminNDVI_{\min} , NDVImaxNDVI_{\max} 。每个地方有不同的植被特性,以及地区环境不同需要选取合适的置信区间。

    2.4 第四步

      计算VFC,VFC的计算公式
    VFC=NDVINDVIsoilNDVIVegNDVIsoilVFC = \frac{NDVI- NDVI_{soil}}{NDVI_{Veg}-NDVI_{soil}}当然会有计算出 VFC<0VFC<0 或者 VFC>1VFC>1 的情形,需要自己进行赋值。

    ;-----------------------------------------------计算植被覆盖度-----------------------------------------------------------
    function cal_vegfraction,NDVI,NDVI_soil,NDVI_veg
        ;NDVI为归一化植被指数,NDVI_soil为5%裸土的NDVI值, 
         NDVI_veg为95%纯植被像元的NDVI值
          
         ;像元二分法
         VFC = (NDVI-NDVI_soil)/(NDVI_veg-NDVI_soil)
         
         ;将小于NDVI_soil的值变为0
         w = where(NDVI le NDVI_soil or finite(NDVI) le 0)
         VFC[w] = 0
          
          ;将NDVI大于NDVI_veg的像元变为1
          w = where(NDVI ge NDVI_veg)
          VFC[w] = 1
    

      核心的也就一句话,之后都是异常值处理,where就是寻访出下标
      然后再处理,最后再把这个function写入主程序之中。于是就写完了,其实后面还写了个密度分割的,但是想想太麻烦了就不贴了。
      对了如果出现浮点数的警告也没关系,我当时也是警告,但照样能读和写计算完VFC的图像,如果真的要处理背景值,就需要看我后面总结的NAN处理的办法,把背景值赋值成空值了,当然用ENVI或者用GIS都是可以的,但是可视化都是“流氓”🐦🐦🐦。

    4. 总结

      以前一直觉得用IDL做这个Project很困难,后来今天花了2-3个小时写完了,发现也挺简单,其实多尝试就行,自己一直顺着思路写Debug就行了。

      我也知道有些人觉得代码过长,看到一堆英文就不看了,从来无所谓,写blog是记录自己思考过程和收获的过程,你看不看又跟我没关系,我记录了,那我就收获了,我就成功了。

    一世随缘,随缘一世才能活得自在。

    最后,我将在另外一个账号写博客,有兴趣的可以关注。

    展开全文
  • ENVI&ArcGis——植被覆盖度提取

    万次阅读 多人点赞 2020-03-05 16:42:20
    遥感图像处理、遥感信息提取与应用分析 一. 影像预处理 1 几何校正 第一步:打开并显示图像文件 ...File>Open Image File】,...1 加载数据 第二步:启动几何校正模块 主菜单>Map>Registration>Select ...

    遥感图像处理、遥感信息提取与应用分析

    一. 影像预处理

    1 几何校正

    第一步:打开并显示图像文件
    打开ENVI Classic,点击【主菜单>File>Open Image File】,打开tm00.img\tm02.img影像,并分别在Display中显示两个影像。
    加载数据
    图1 加载数据

    第二步:启动几何校正模块

    主菜单>Map>Registration>Select GCPs:Image to Image,打开几何校正模块。选择显示tm00.img文件的Display为基准影像(Base Image),显示tm02.img文件的Display为待校正影像(Warp Image),点击OK进入采集地面控制点。
    在这里插入图片描述
    图2 几何校正选择
    第三步:采集地面控制点
    1、在两个Display中找到相同区域,在Zoom窗口中,点击左小下角第三个按钮,打开定位十字光标,将十字光标到相同点上,点击Ground Control Points Selection上的Add Point按钮,将当前找到的点加入控制点列表。
    2、用同样的方法继续寻找其余的点,当选择控制点的数量达到3时,RMS被自动计算。选择Options>Auto Predict,打开自动预测功能。这时在Base Image(Spot影像)上面定位点,Warp Image(TM影像)上会自动预测区域。
    在这里插入图片描述
    图3 选取地面控制点
    3、当选择一定数量的控制点之后,利用自动找点功能。Ground Control Points Selection上,选择Options>Automatically Generate Points,选择匹配波段,点击OK,弹出自动找点参数设置面板,设置Tie点的数量为50,Search Window Size为131,其他选择默认参数,点击OK
    4、点击Ground Control Points Selection上的Show List按钮,可以看到选择的所有控制列表,如下图所示。
    在这里插入图片描述
    图4 控制点
    选择Image to Image GCP List上的Options>Order Points by Error,按照RMS值有高到底排序。
    5、对于RMS过高的点,直接做删除处理。
    第四步:选择校正参数输出

    1. 在Ground Control Points Selection上,选择Options->Warp File,选择校正文件。
    2. 在校正参数面板中,校正方法选择多项式(2次)。
    3. 重采样选择Bilinear,背景值(Background)为0.
    4. Output Image Extent:默认是根据基准图像大小计算,可以做适当的调整。
    5. 选择输出路径和文件名,单击Ok按钮。
      在这里插入图片描述
      图5 输出界面
      第五步:检验校正结果
      同时在两个窗口中打开图像,其中一幅是校正后的图像,一幅是基准图像,通过地理链接(Geographic Link)检查同名点的叠加情况。
      在这里插入图片描述
      图6 检验校正结果

    2 镶嵌

    第一步:加载数据
    打开jztm02img及tm01.img,在Toolbox中,打开Mosaicking /Seamless Mosaic,启动图像无缝镶嵌工具Seamless Mosaic
    在Data Ignore Value列表中,可设置透明值,当重叠区区有背景值时候,可设置这个值。
    在这里插入图片描述
    图7 修改背景值
    第二步:匀色处理
    匀色方法是直方图匹配(Histogram Matching)
    在这里插入图片描述
    图8 均色处理

    第三步:接边线与羽化

    第四步:输出结果

    (1)Export面板中,设置重采样方法Resampling method:Cubic Convolution;
    (2)设置背景值Output background Value:0;
    (3)选择镶嵌结果的输出路径;
    (4)单击Finish执行镶嵌
    在这里插入图片描述
    图9 输出结果
    镶嵌结果
    在这里插入图片描述
    图10 镶嵌结果

    3 裁剪

    第一步:加载数据
    在Toolbox中,打开Regions of Interest /Subset Data from ROIs。Select Input File选择Beijing_TM.dat,点击OK,打开Subset Data from ROIs Parameters面板;
    第二步:执行裁剪
    在Subset Data from ROIs Parameters面板中,设置以下参数:
    Select Input ROIs:选择EVF:矢量.shp
    Mask pixels output of ROI?:Yes
    Mask Background Value背景值:0
    选择输出路径和文件名,单击OK执行图像裁剪。
    在这里插入图片描述
    图11 裁剪结果

    二. 决策树提取

    提取区域缓坡植被信息、非朝北缓坡植被、陡坡植被、水体、裸地、背景区,提取规则如下:
    朝北缓坡植被:NDVI大于0.25,坡度小于20°,朝北
    非朝北缓坡植被:NDVI大于0.25,坡度小于20°,非朝北
    陡坡植被:NDVI大于0.25,坡度大于等于20°
    水体:NDVI小于等于0.25,波段4的DN值大于0且小于20
    裸地:NDVI小于等于0.25,波段4的DN值大等于20
    背景区:NDVI小于等于0.25,波段4的DN值等于0
    第一步:加载数据
    打开新建决策树工具,路径为Toolbox/Classification/Decision Tree/New Decision Tree,如下图所示,默认显示一个节点和两个类别;
    第二步;决策树分类
    首先按照NDVI来区分植被与非植被。单击节点Node 1,在弹出的对话框内输入节点名(Name)和条件表达式(Expression),如下图所示;
    在这里插入图片描述
    图12 添加节点
    点击OK后,在弹出的Variable/File Pairings对话框内需要为 {ndvi} 指定一个数据源,如下图所示。点击面板中显示 {ndvi} 的表格,然后选择boulder_tm.dat即可。
    在这里插入图片描述
    图13 添加数据源
    同样的方法,将所有规则输入,末节点图标右键Edit Properties,可以设置分类结果的名称和颜色,最后结果如下图所示。
    在这里插入图片描述
    图14 决策树
    第三步:执行决策树
    选择Options > Execute,可以执行决策树。由于使用了多源数据,各个数据可能拥有不同的坐标系、空间分辨率等。在弹出的Decision Tree Execution Parameters对话框(如图)中,需要选择输出结果的参照图像,这里选择boulder_tm.dat,即输出的分类结果的坐标系和空间分辨率等信息与boulder_tm.dat相同。
    选择输出路径和文件名,点击OK即可

    在这里插入图片描述
    图16 决策树分类结果
    第四步:统计各类植被信息百分比
    在这里插入图片描述
    图17 信息百分比图

    三. 专题制图

    点击【菜单栏】中的【视图】,切换为【布局视图】,点击【插入】,分别插入“标题”、“图例”、“比例尺”、“注记”、“方里网”,调整到合适的区域,点击【文件】【导出地图】,将专题图导出。
    在这里插入图片描述
    图18 专题地图

    展开全文
  • 在3S技术支持下,利用重庆市北碚区1988年与 2007年的 Landsat TM影像数据,编制归一化植被指数(NDVI),进而计算生成植被覆盖度图像。通过掩膜技术和变化检测等方法提取了研究区 1988 - 2007年的植被覆盖变化信息 ....
  • 长篇幅详解辐射定标、大气校正、监督分类、掩膜统计、植被覆盖度操作 一、序言 Landsat卫星是遥感初学者甚至遥感从业者、相关研究学者接触最多的一个遥感数据源。今天我们通过一个示例来学习ENVI一些相关的操作。 ...

    长篇幅详解辐射定标、大气校正、监督分类、掩膜统计、植被覆盖度操作

    一、序言

    Landsat卫星是遥感初学者甚至遥感从业者、相关研究学者接触最多的一个遥感数据源。今天我们通过一个示例来学习ENVI一些相关的操作。

    1.1 实验区简介

    在这里插入图片描述
    大家在浏览谷歌地球或者谷歌地图的时候,有没有发现陕西北部的卫星图会有上图这样的一个明显的轮廓特征。这个轮廓鲜明的地区就是陕西的吴起县,如图下所示:
    在这里插入图片描述
    1998年,对吴起来说是一个至关重要的年份:这一年,该县率先在全国开启退耕还林探索,在全县范围内推行“封山禁牧、舍饲养畜”政策,一场旨在改变生存环境的生态环境建设在吴起县轰轰烈烈展开。20年,吴起累计退耕还林243.79万亩,因封得最早、退得最快、面积最大,成为全国退耕还林第一县。这个卫星图上清晰可见的轮廓正是人们改造自然的见证。

    1.2 数据查询选取

    首先打开ArcMAP,加载全国的县级区划矢量,使用属性查找功能选择吴起县:
    在这里插入图片描述
    这样吴起县便被选中,然后右键可以导出选中的吴起县的区划为单独一个SHP文件:
    在这里插入图片描述
    在这里插入图片描述
    然后加载Landsat的PATH和ROW的矢量文件,标注出PATH和ROW:
    在这里插入图片描述
    我们可以知道覆盖吴起县需要128034和128035两景Landsat数据:
    在这里插入图片描述
    接下来我们可以将当前视图的图框坐标系设置为UTM-48N:
    在这里插入图片描述
    打开编辑,画一个比吴起县大的矩形,作为我们的研究区范围(因为我们需要吴起县和县域外一部分数据做比对,所以就没有直接用吴起县的区划矢量),然后导出这个矩形为一个新的SHP文件:
    在这里插入图片描述
    接下来可以进入USGS查询数据,USGS可以导入研究区的SHP文件,将SHP文件压缩为ZIP文件即可被导入:
    在这里插入图片描述
    在这里插入图片描述
    接下来选择卫星查询即可,我们本次选用的数据是1997年5月19日的Landsat5和2018年6月14日Landsat8。USGS查询数据的时候,可以先通过贴图的方式来看看选取的数据是否理想,比如云量这些:
    在这里插入图片描述

    二、预处理

    下面我们以2018年的两景数据为例来介绍一般的预处理过程,涉及数据裁切、辐射定标、掩膜的使用、大气校正等操作。首先打开ENVI软件打开数据,常规的方法是使用OpenAs里面找到Landsat卫星:
    在这里插入图片描述
    偷懒的方法是将解压后文件夹里的MTL.txt文件直接拖拽进ENVI视窗即可:
    在这里插入图片描述
    切忌自己使用Laystack工具私下将这些波段组合在一起,不仅费事费力,而且自己组合后的文件不带定标参数,做不了后续操作。

    2.1辐射定标

    常规的方法一般是对整景数据进行定标,但是这样的话,假如研究区比较小,反而会增加数据量和运行时间,所以我们可以先裁剪,再进行辐射定标。
    裁剪的时候需要将MASK选项设为YES,这样就是根据实际形状裁剪,默认的NO则是裁剪外接矩形
    在这里插入图片描述
    裁剪完的数据,定标参数都在,我们可以放心的进行辐射定标了:
    在这里插入图片描述
    下面对裁剪的后的数据进行辐射定标的操作,记得选择Aplly FLAASH Settings,输出路径尽量不要中文:
    在这里插入图片描述
    接下来我们对上面另一景数据也进行辐射定标操作,其实在辐射定标的工具里面有一个裁剪的选项,我们可以连带将裁剪和辐射定标一起做了:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    2.2掩膜统计

    辐射定标后一般是进行FLAASH大气校正,因为大气校正的选项里有一个平均高程的选项,所以我们穿插进来一个掩膜统计的步骤。在ENVI的安装目录里自带一个全球的DEM数据,分辨率为900米,不想下载DEM的话,可以使用这个进行掩膜统计平均高程。
    首先打开这个数据后,点击工具箱里的统计工具,在MASK option里选择Build MASK,定义MASK的时候可以选择导入我们自己画的ROI如下图:
    在这里插入图片描述
    也可以选择我们的研究区范围的SHP文件:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    导入ROI或者SHP后就可以进行掩膜统计了:
    在这里插入图片描述
    下图是进行掩膜统计的结果,平均高程大概是1500米,其实与百度的结果差不多:
    在这里插入图片描述
    在这里插入图片描述

    2.3大气校正

    对于不同拍摄时间,不同条带的数据需要分别辐射定标过后单独做大气校正,对于同一条带同一天拍摄的上下两景数据,因为一般两景的拍摄时间间隔很短,大气条件几乎一样,可以先拼接再进行大气校正。

    2.3.1 单景大气校正
    我们首先来介绍单景的大气校正,FLAASH大气校正的输入输出路径尽量简洁,短路径不带中文,平均高程的话单位是KM,刚才我们统计的高程是1500米,所以这里填1.5KM,飞行时间记事本或者写字板打开MTL文件里面有景中心时间,另外KT那里别忘了选:
    在这里插入图片描述
    在这里插入图片描述
    分块处理也最好关掉,不容易报错:
    在这里插入图片描述
    然后对另一景采用同样的操作。

    大气校正后查看光谱曲线,我们可以插入一个新视图,视图1打开的是大气校正前的数据,视图2打开大气校正后的数据:
    在这里插入图片描述
    先放大数据找到一块植被区,点击光标工具,复制GEO坐标:
    在这里插入图片描述
    复制后的GEO坐标粘贴进去搜索窗口,点击光谱曲线按钮,既显示出此坐标点的光谱曲线:
    在这里插入图片描述
    对另一个视图进行相同的操作,这样大气校正前后的光谱曲线就分别显示出来了:
    在这里插入图片描述

    2.3.2 拼接后大气校正

    这次涉及的数据是同一条带同一天拍摄的上下两景数据,我们可以先将辐射定标后的数据进行拼接再大气校正。由于本区域上下两景数据跨带了,一个是48一个是49,在拼接前需要先进行重投影,本次我们选择48带,因此需要将128034这个数据重投影为UTM 48N:
    在这里插入图片描述
    打开重投影工具,输出坐标系设置如下:
    在这里插入图片描述
    重投影后辐射定标的数据类型由原来的BIL变为BSQ,因此我们还需要对其进行数据类型转换,因为FLAASH大气校正的输入数据类型要求为BIL:
    在这里插入图片描述
    对于两个数据叠加出现黑色背景的情况,比如下图,需要先进行编辑头文件,添加忽略背景值:
    在这里插入图片描述
    对于编辑头文件出现报错的情况,可以进classic模式,这样就不会报错了:
    在这里插入图片描述
    忽略背景值后两个数据正常叠加了:
    在这里插入图片描述
    启动镶嵌工具进行拼接,可以生成一个拼接线:
    在这里插入图片描述
    编辑拼接线,尽量沿着线性地物画拼接线:
    在这里插入图片描述
    同一天拍摄的数据不选直方图匹配:
    在这里插入图片描述
    镶嵌后的结果:
    在这里插入图片描述
    接下来进行大气校正,参数的填写与上一篇类似,只是飞行时间那里,哪一景占的比例比较大就填写那一景的飞行时间。

    三、监督分类

    数据镶嵌后就可以进行监督分类了,对于目视选取样本,我们需要选择对于目视判读最合适的组合方式,下图是本区域Landsat8数据不同的波段组合显示效果:
    在这里插入图片描述
    本次我们选用654组合选择样本,当然也可以随时切换其他组合一起判读:
    在这里插入图片描述
    结合实地的自然条件,我们选择有林地、坡耕地、水浇地、草地、水域、居民地、裸地七个类别进行监督分类。
    本次数据拍摄时间是6月14日,林地长势茂盛在654组合下显示为鲜绿色:
    在这里插入图片描述
    由于陕北7、8月才进入雨季,坡耕地上基本无有效灌溉,因此6月份坡耕地的作物长势还还很弱,显示为红色:
    在这里插入图片描述
    地势平坦具备灌溉条件的耕地我们命名为水浇地,呈现鲜明的耕地纹理特征,颜色鲜绿:
    在这里插入图片描述
    可能大家做监督分类最头痛的是草地样本的选取,大城市好一些还有一些公园球场之类的,或者西北、西南、青藏这些典型的草原区,但是在其他草地分布并不突出的地区,草地确实比较难选,草地会零星分布在一些河滩,河边这些地方,草地没有耕地那么典型的纹理:
    在这里插入图片描述
    在这里插入图片描述
    水域样本:
    在这里插入图片描述
    居民地样本:
    在这里插入图片描述
    裸地样本:
    在这里插入图片描述
    本次每一个类别的样本均选取了15个以上,保证分布均匀,然后计算可分离度,可分离度1.8以上即为良好:
    在这里插入图片描述
    采用SVM分类方法:
    在这里插入图片描述
    在这里插入图片描述

    四、植被覆盖度反演

    这一章我们讲植被覆盖度反演操作,需要用到NDVI和监督分类的结果。

    4.1 计算NDVI

    计算NDVI有两种方法,一种是使用BandMath,一种是使用NDVI工具,不管是哪种方法都要选对波段:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    这两种方法计算出来的结果是一样的:
    在这里插入图片描述
    计算好的NDVI需要统计一下有没有异常值,假如存在异常值可以波段运算中输入公式(如下图)去除异常值,不规则研究区统计可参考前文统计DEM的方法,只对研究区的范围进行掩膜统计,排除背景的影响。
    在这里插入图片描述

    4.2 构建掩膜

    这一步我们需要将用先前监督分类的结果,将每一个地类制作为掩膜文件。首先打开ApplyMask,选择NDVI为基准图像,选择BuildMask选项,首先构建有林地掩膜:
    在这里插入图片描述
    导入掩膜数据的时候选择监督分类的结果:
    在这里插入图片描述
    有林地的值为1,所以我们这里值范围都为1:
    在这里插入图片描述
    在这里插入图片描述
    接下来依次构建,坡耕地、水浇地、草地、居民地、裸地的掩膜,操作与上面类似,只是值域范围需要特别注意,不要搞混:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    4.3 NDVI最大值最小值统计

    接下来使用统计工具统计每个地类的NDVI区间,首先统计有林地的NDVI范围:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    确定最大值最小值可以选择直方图的拐点处,也可以选择2%-98%水平的置信区间,也可以选择统计值的突变处,比如统计值突然由三位数变成四位数或者由二位数突变为三位数的值处:
    在这里插入图片描述
    在这里插入图片描述
    下图是每个地类本次的统计结果
    在这里插入图片描述

    4.4 植被覆盖度计算

    首先计算NDVIsoil,输入公式:b10.5406+b20.1914+b30.4151+b40.4638+b60.0331+b70.077
    在这里插入图片描述
    在这里插入图片描述
    然后计算NDVIveg,一样的方法,输入公式:b10.8912+b20.6951+b30.6992+b40.7124+b60.5713+b70.4096
    在这里插入图片描述
    最后计算植被覆盖度
    在这里插入图片描述
    对植被覆盖度结果进行去除异常值处理:b1>0<1,这样可以去除异常值和水体中的Inf:
    在这里插入图片描述

    五、数据展示

    上面讲了我们对研究区2018年的数据进行的操作流程,同样的方法对1997年数据进行相同的操作,得到两期的数据成果。
    我们对两期的监督分类数据分别单独将林地提取出来,波段运算输入b1 eq 1,将林地提取出:
    在这里插入图片描述
    分别使用New color slice选项,对提取出的林地进行颜色渲染,叠加行政区,可以明显看出20年来,吴起县的林地扩张情况:
    也可以使用掩膜统计进行面积统计,本次就不再说明了。
    在这里插入图片描述
    同样也可以导入GIS制图,我们以植被覆盖度为例导入GIS操作:
    在这里插入图片描述

    首先,ENVI里File下Save as TIF文件,然后使用Arcmap加载,在这里插入图片描述
    符号系统里点击分类,设为统一的间断:
    在这里插入图片描述
    对于初次打开TIF文件,提示计算直方图一定要选YES,这样才能正常显示图像:
    在这里插入图片描述
    选择色带,加入标注:
    在这里插入图片描述
    切换布局视图,插入数据框,插入图例、指北针等:
    在这里插入图片描述
    导出地图即可:
    在这里插入图片描述
    好了今天介绍就到这里,有兴趣的可以关注下,博文主页:
    https://blog.csdn.net/qq_46071146
    更多好文章:
    在这里插入图片描述

    展开全文
  • 公告:最近忙其他事情,暂时停止更新。 经过上一步的处理,得到了11年*12月 共132各tif图像。 接下来把tif图像转成我们习惯使用的文本格式,即经度,纬度,ndvi。共三列。当然也可以根据个人偏好制作为nc文件等...
  • 植被覆盖度是评价土地荒漠化最有效的指标,遥感是获取区域尺度植被覆盖度参数的一个重要手段?针对EO-1Hyperion高光谱遥感图像成像的特点,探讨了高光谱Hyperion图像的预处理和森林覆盖度遥感估算的方法,研究中采用...
  • 本文旨在提供一种选择最佳植被覆盖度的方法,以通过遥感研究土壤侵蚀风险,即最合适的时间段内的植被覆盖度。 基于两个最活跃的影响因子(降雨和植被)的时间关系,制定了RV指数,并用于指示一年中的相对侵蚀风险。...
  • 提取绿色植被部分对应的红外光谱(即红绿蓝三波段提取绿色,掩膜到红外波段) import cv2 import numpy as np # 第一种办法-------------------------------------------------------------- im=cv2.imread('FLIR06....
  • 树木被定义为高度超过5m的植被,并表示为每个输出网格单元的百分比为“ 2000%树木覆盖率”。 “森林覆盖损失”的定义是在2000-2016年期间林分置换干扰,或从森林状态变为非森林状态。 “森林覆盖增加”的定义是...
  • 选择新疆准东煤田五彩湾露天矿区为研究对象,利用2006—2011年的Landsat TM遥感图像提取研究区植被覆盖度,统计不同年份不同等级植被覆盖面积,分析不同等级植被覆盖面积随时间的变化规律,以及变化速度和变化幅度。...
  • 使用从伊巴丹州Landsat卫星数据(TM,ETM +和OLI)生成的索引来评估土地利用/土地覆盖动态。 Landsat数据的校正后的红外热波段用于检索LST。 结果表明,建筑面积从1984年的5.64%显着增加到2014年的14.05%。这种...
  • NDVI等植被相关指数

    千次阅读 2019-04-25 13:57:00
    一、基础概念 NDVI(Normalized Difference...应用于检测植被生长状态、植被覆盖度和消除部分辐射误差等。 1、NDVI 能够部分消除与太阳高度角、卫星观测角、地形、云影等与大气条件有关的辐射变化的影响; 2、...
  • 如何使用Erdas内的NDVI提取植被指数

    千次阅读 2017-12-25 15:20:01
    可用于检测植被生长状态、植被覆盖度和消除部分辐射误差等。计算植被指数可以使用ENVI、ArcGIS和Erdas等专业软件,这里介绍一下使用Erdas提取植被指数。  步骤  第一步:下载卫星  打开水经注万能地图下载器...
  • 气候变化是国际社会面临的最大威胁之一,其主要诱因是化石燃料能源利用和植被覆盖变化导致温室气体浓度升高。 这项研究使用建模技术来确定气候变化如何影响尼日利亚北部的植被生产力。 利用了1981-2009年生长季节的...
  • Landsat-7地表温度(LST)大气校正方法反演流程与地物温度对比分析1 图像前期处理与本文理论部分2 实际操作2.1 植被覆盖度计算2.2 地表比辐射率计算2.3 相同温度下黑体辐射亮度值计算2.4 地表真实温度计算2.5 图像...
  • 使用常规植被指数很难从卫星图像中准确识别和提取水体和水下... 凹凸决策函数可以应用于在1.5 m透明下SAV覆盖率大于0.3 m大于40%,SAV覆盖率大于0.1 m大于40%的水域,这可以为在其他区域准确提取SAV提供新的方法。
  • 针对桂林喀斯特城市快速扩展所引发的热环境和热岛问题,对1989年和2006年...1989―2006年研究区 NDVI大于0.4的中高植被覆盖区由76.89%大幅度降低到32.65%,NDVI低于0.2的无植被覆盖区由4.01%大幅度升高至17.15%,水体面积
  • 植被覆盖度是衡量地表植被状况和指示生态环境变化的一个重要指标,通过对干旱区草原植被覆盖度的定量反演,植被覆盖的变化监测,可以实现草原植被的高频率、大范围、实时的变化监测。 内容 1、 影像数据读取 2、 ...
  • 基于ENVI与ERDAS的Landsat 7 ETM+单窗算法地表温度(LST)反演1 原理部分与前期操作准备1.1 图像预处理1.2 植被指数反演1.3 单窗算法原理2 ...监督分类2.12 植被覆盖度与地表比辐射率计算2.13 大气参数计算2.14 地表
  • 结果表明,在自然恢复的林分中,与自然管理的林分相比,树冠的覆盖度,本地物种的覆盖度和丰富度,海岸红木相关物种的丰富度以及延龄草(西尾知更鸟)的覆盖度显着更高。 此外,在自然恢复的林分中还专门记录了几种...
  • 对于定量遥感来说,混合...针对中高分辨率图像ETM+,采用FUZZY ARTMAP神经网络进行混合像元分解,获得像元中不同地物的含量,进而获得像元的植被覆盖度。该方法在某地区ETM 图像的应用表明,试验结果能满足应用需求。
  • 结果表明,大气校正增强了图像的对比,归一化植被指数(NDVI)的均值明显提高,增大了高植被覆盖区与低植被覆盖区NDVI 的差别,植被信息更加突出。对于山区崎岖地表状况下,大气校正后,山体的棱角分明,轮廓清晰可见,还原...
  • LULC专题的总体准确计算结果超过80%,这表明几乎可以达成共识。 这项研究的结果表明,到2016年,LULC班级已假定与以前的班级规模相比,其当前班级规模有所不同。 研究区域的土地利用格局变化的特征是,建筑...
  • 遥感技术通过绘制生态系统和利用土地覆盖图或其他衍生数据作为物种数量和分布的代表,显示了监测物种多样性的重要价值。国家生态观测网(NEON)机载观测平台(AOP)由成像光谱仪、全波形激光雷达和高分辨率彩色...
  • 结果表明,煤矿大规模开采以来,研究区景观结构稳定性减弱,破碎增强,人类活动在研究区生态环境变化过程中起主导作用。在矿区生态环境恢复中,应提高自然植被景观类型的有效规模,有利于增强生态系统的稳定性。

空空如也

空空如也

1 2 3 4
收藏数 69
精华内容 27
关键字:

植被覆盖度图