GEE可以进行大尺度的地物类型分类,主要原理就是根据不同地物类型的光谱反射率的不同,目前地物分类的算法有很多种,比如随机森林算法等等,本文章主要基于随机森林算法进行大尺度地物分类,代码如下所示:

var samples=ee.FeatureCollection(table);
function maskL8sr(image)
{var timeStart = image.get('system:time_start');var srImageList = ee.ImageCollection(' LANDSAT/LC08/C01/T1_SR').filterMetadata('system:time_start','equals',timeStart).toList(5);var cloudShadowBitMask = ee.Number(2).pow(3).int();var cloudsBitMask = ee.Number(2).pow(5).int();var qa = image.select('pixel_qa');var mask = qa.bitwiseAnd(cloudShadowBitMask).eq(0).and(qa.bitwiseAnd(cloudsBitMask).eq(0));return image.updateMask(mask);
}function maskL7sr(image)
{var timeStart = image.get('system:time_start');var srImageList = ee.ImageCollection('LANDSAT/LE07/C01/T1_SR').filterMetadata('system:time_start','equals',timeStart).toList(5);var qa = image.select('pixel_qa');var cloud = qa.bitwiseAnd(1 << 5).and(qa.bitwiseAnd(1 << 7)).or(qa.bitwiseAnd(1 << 3))var mask = image.mask().reduce(ee.Reducer.min());return image.updateMask(cloud.not()).updateMask(mask);
}function maskL5sr(image)
{var timeStart = image.get('system:time_start');var srImageList = ee.ImageCollection('LANDSAT/LT05/C01/T1_SR').filterMetadata('system:time_start','equals',timeStart).toList(5);var qa = image.select('pixel_qa');var cloud = qa.bitwiseAnd(1 << 5).and(qa.bitwiseAnd(1 << 7)).or(qa.bitwiseAnd(1 << 3))var mask = image.mask().reduce(ee.Reducer.min());return image.updateMask(cloud.not()).updateMask(mask);
}function ND_VI(image,b1,b2,bName)
{var VI = image.normalizedDifference([b1,b2]).rename(bName);return VI.updateMask(VI.gt(-1).and(VI.lt(1)));
}function funEVI(image,B1,B2,B3)
{var VI = image.expression('2.5 * (nir - red) / (nir + 6 * red - 7.5 * blue + 1)',{blue: image.select(B1).multiply(0.0001),   red:  image.select(B2).multiply(0.0001),   nir:  image.select(B3).multiply(0.0001)}).rename('EVI');return VI.updateMask(VI.gt(-1).and(VI.lt(1)));}function addLandsatVIs(img)
{var NDVI = ND_VI(img,'B4','B3','NDVI');var EVI = funEVI(img,'B1','B3','B4');var LSWI = ND_VI(img,'B4','B5','LSWI');return img.addBands(NDVI).addBands(EVI).addBands(LSWI);
}var collection_L8 = ee.ImageCollection('LANDSAT/LC08/C01/T1_SR').filterBounds(region).filterDate('2013-01-01','2020-01-01').map(maskL8sr).select( ['B2', 'B3', 'B4', 'B5', 'B6', 'B7', 'pixel_qa'],['B1', 'B2', 'B3', 'B4', 'B5', 'B7', 'pixel_qa']).map(addLandsatVIs);var collection_L7 = ee.ImageCollection('LANDSAT/LE07/C01/T1_SR').filterBounds(region).filterDate('1999-01-01','2020-01-01').map(maskL7sr).select( ['B1', 'B2', 'B3', 'B4', 'B5', 'B7', 'pixel_qa']).map(addLandsatVIs);var collection_L5 = ee.ImageCollection('LANDSAT/LT05/C01/T1_SR').filterBounds(region).filterDate('1988-01-01','2012-01-01').map(maskL5sr).select( ['B1', 'B2', 'B3', 'B4', 'B5', 'B7', 'pixel_qa']).map(addLandsatVIs);var collection=ee.ImageCollection(collection_L5.merge(collection_L7).merge(collection_L8));var LandSatCollection=collection.filterDate('2018-01-01','2019-12-31').filterBounds(region)Map.addLayer(LandSatCollection.median().clip(region),{min:0,max:3000,bands:['B4','B3','B2']},'Landsat2019')
Map.centerObject(region,7)
var sampleData = samples.randomColumn('random');
var sample_training = sampleData.filter(ee.Filter.lte("random", 0.8));
var sample_validate  = sampleData.filter(ee.Filter.gt("random", 0.8));var data=ee.Image.cat(LandSatCollection.median())var training = data.sampleRegions({collection: sample_training, properties: ["attribute"], scale: 30
});var validation = data.sampleRegions({collection: sample_validate, properties: ["attribute"], scale: 30
});var classifier = ee.Classifier.randomForest(40).train({features: training, classProperty: 'attribute', inputProperties: data.bandNames()});var Classified_RF = data.classify(classifier);Map.addLayer(Classified_RF.clip(region), {min:0,max:3,palette:['red','green','orange','blue']},  'Classified_RF');var validated = validation.classify(classifier);
var testAccuracy = validated.errorMatrix('attribute', 'classification');
var accuracy = testAccuracy.accuracy();
var userAccuracy = testAccuracy.consumersAccuracy();
var producersAccuracy = testAccuracy.producersAccuracy();
var kappa = testAccuracy.kappa();
print('Validation error matrix:', testAccuracy);
print('Validation overall accuracy:', accuracy);
print('User acc:', userAccuracy);
print('Prod acc:', producersAccuracy);
print('Kappa:', kappa);

其原理主要是基于随机森林算法和光谱反射率及遥感指数进行处理,进而进行分类研究。

基于GEE平台土地类型分类相关推荐

  1. 基于GEE平台提取水体

    本文主要介绍如何利用GEE平台与哨兵2号影像提取水体.水体的提取主要是基于NDWI指数进行,当然,通过改变波段运算,也可以根据MNDWI进行提取.主要代码如下: 下面展示一些 内联代码片. //首先对 ...

  2. 基于GEE平台的植被覆盖度(FVC)像元二分法计算

    一.植被覆盖度计算方法 植被覆盖度FVC(Fractional Vegetation Cover)定义为单位面积内绿色植被冠层垂直投影面积所占比例.FVC是衡量地表植被状况的重要指标之一,也是区域生态 ...

  3. 基于GEE与哨兵1号影像数据提取水体

    在进行光学数据提取水体时,常会发现部分时间.部分区域内由于云的存在而出现大面积的空白区域,从而使得我们提取水体面积过程中存在不精确的问题.因此,基于微波数据进行云的提取就成为我们较好的一个选择,通过阅 ...

  4. 这里整理了基于java平台的常用资源

    这里整理了基于java平台的常用资源 翻译 from :akullpp | awesome-java 大家一起学习,共同进步. 如果大家觉得有用,就mark一下,赞一下,或评论一下,让更多的人知道.t ...

  5. java平台设计zhe_基于java平台的网上评教系统的设计与实现

    基于java平台的网上评教系统的设计与实现 作者: 郭文占 摘要: 教师评价是高校教育管理的重要方面,也是促进教育发展和教师发展的重要手段.网上评教极大地减少了教务管理人员的工作量,正在被越来越多的高 ...

  6. 基于决策树的多分类_R中基于决策树的糖尿病分类—一个零博客

    基于决策树的多分类 Article Outline 文章大纲 What is a decision tree?什么是决策树? Why use them?为什么要使用它们? Data Backgroun ...

  7. linux环境下企业基于域名访问的web于电子邮件服务器 论文,基于Linux平台的企业邮件服务器搭建...

    我失骄杨君失柳,杨柳轻飏直上重霄九.得道多助,失道寡助.身后有余忘缩手,眼前无路想回头.鸟宿池边树,僧敲月下门.想当年,金戈铁马,气吞万里如虎. 本文由418133804贡献 pdf文档可能在WAP端 ...

  8. android人脸情绪识别器,基于Android平台的人脸表情识别系统的设计与实现

    摘要: 随着目前移动设备硬件技术的不断发展,其性能与PC的差距越来越小,这使得在嵌入式平台上进行图像处理成为了可能.目前使用最广泛的是基于Android系统的嵌入式平台,与之相关的图像类应用需求也渐渐 ...

  9. arm体系结构与编程_教程:如何学习嵌入式系统(基于ARM平台)

    一.嵌入式系统的概念 着重理解"嵌入"的概念 主要从三个方面上来理解. 1.从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构下的计算机,CPU只是 ...

最新文章

  1. Scala Actor并发编程入门示例
  2. bat/cmd 抛出错误码和捕获错误
  3. 【STM32】定时器程序
  4. 使用 MaxCompute(原ODPS) java sdk 运行安全相关命令
  5. 社交应用动态九宫格图片的规则
  6. Oracle中一般游标与REF游标的区别
  7. 电脑安装系统出错蓝屏报错为 STOP 0xc0000020 ,什么原因?
  8. 使用JQuery做一组复选框的功能。
  9. bat命令批量删除当前目录下指定格式之外的文件和文件夹
  10. 【项目篇- 封面后目录前的核心内容、优势展示部分如何打磨?(超全图文总结建议)】创新创业竞赛项目计划书、新苗国创(大创)申报书
  11. 罗技鼠标驱动安装一直初始化和正在安装问题详解
  12. php中的eof是什么意思,在C++中eof是什么意思?
  13. 第二证券|钠电池三种技术路线谁更将率先取代锂电池?
  14. 计算机财务管理系统基础知识,计算机财务管理实习报告
  15. 安装SQL Server和SQL Server Management Studio(SSMS)
  16. Tomcat部署时war和war exploded区别以及平时踩得坑
  17. QQ小程序百度网盘中的文件保存和下载
  18. 虚拟筛选涉及的小分子数据库
  19. 自己做的上海市公积金贷款计算器
  20. AsyncDisplayKit2.0教程(上)

热门文章

  1. CSDN社区运营午餐会第7期–“聊聊全国的过年风俗”
  2. 【Effection C++】读书笔记 条款18~条款19
  3. 点击button按钮打开新的标签页
  4. N-Layer, COP, SOA In WOW Addon Develop
  5. 黑马IOS 第2期基础+就业班(完整)
  6. 文件描述符与文件句柄
  7. 彩色图像增强之直方图均衡化
  8. 【IT】武汉一网店店主欲删除差评 反被骗3.5万余元
  9. String类的详细讲解
  10. ajax如何调用python文档(转)