GEE22:基于目视解译的土地利用分类(随机森林监督分类)

采样点信息:
在这里插入图片描述

设置一下采样点参数:
在这里插入图片描述

代码:

//设置研究区位置
var table = ee.FeatureCollection("users/cduthes1991/boundry/China_province_2019");
var roi = table.filter(ee.Filter.eq('provinces','beijing'));
Map.centerObject(roi, 8)
Map.addLayer(roi.style({color:'black',fillColor:'00000000'}),{},'roi');//设置时间窗口
var startDate = '2023-03-01';
var endDate = '2023-10-01';
var L9 = ee.ImageCollection('LANDSAT/LC09/C02/T1_L2');// 进行比例换算
function applyScaleFactors(image) {var opticalBands = image.select('SR_B.').multiply(0.0000275).add(-0.2);var thermalBands = image.select('ST_B.*').multiply(0.00341802).add(149.0);return image.addBands(opticalBands, null, true).addBands(thermalBands, null, true);
} 
//去云处理
function rmL89Cloud(image) { var Cirrus = (1 << 2);var cloud = (1 << 3); var cloudsShadow = (1 << 4); var qa = image.select('QA_PIXEL'); var mask = qa.bitwiseAnd(Cirrus).eq(0) .and(qa.bitwiseAnd(cloud).eq(0)).and(qa.bitwiseAnd(cloudsShadow).eq(0)); return image.updateMask(mask); 
}
//指数计算
function addIndexs (image){var ndvi = image.normalizedDifference(['SR_B5','SR_B4']).rename('ndvi');var bsi = image.expression("((SR_B7+SR_B3)-(SR_B4-SR_B1))/(SR_B7+SR_B3)+(SR_B4-SR_B1)",{"SR_B7": image.select('SR_B7'),"SR_B4": image.select('SR_B4'),"SR_B3": image.select('SR_B3'),"SR_B1": image.select('SR_B1')}).rename('bsi');var lswi = image.normalizedDifference(["SR_B4", "SR_B7"]).rename('lswi');var mndwi = image.addBands(image.normalizedDifference(["SR_B1", "SR_B7"]).rename('mndwi'));return image.addBands(ndvi).addBands(bsi).addBands(lswi).addBands(mndwi);
}
//获取研究区时间窗口内数据
var img = L9.filterDate(startDate,endDate).filterBounds(roi).map(applyScaleFactors).map(addIndexs).map(rmL89Cloud).median().clip(roi).select(['SR_B2','SR_B3','SR_B4','SR_B5','SR_B6','SR_B7','ndvi','bsi','lswi','mndwi'])
var visualization = {bands: ['SR_B4', 'SR_B3', 'SR_B2'],min: 0.0,max: 0.3,
};
Map.addLayer(img,visualization,'img');
print(img)//合并样本
var samples = water.merge(building).merge(forest);
print('Sample Collection', samples)//利用样本点对遥感数据进行采样
var samples_img = img.sampleRegions({collection:samples,properties:['landcover'],scale:30,tileScale:8,geometries:true,
})
print("sample information: ", samples_img)//给样本添加随机数,用于训练和验证
var samples_img = samples_img.randomColumn();
print('samples_img',samples_img)
// 将样本随机分为7:3,70%用于训练,30%用于验证
var training_samples = samples_img.filter(ee.Filter.lte('random',0.7));
var validation_samples = samples_img.filter(ee.Filter.gte('random',0.7));
//设置分类器
var classifer = ee.Classifier.smileRandomForest(300).train({features:training_samples,classProperty:'landcover',inputProperties:img.bandNames(),
})
//利用分类器对影像进行分类
var Classified_RF = img.classify(classifer)
var visParam = ['blue', // 水体water'red', // 建筑用地urban'green', // 林地forest
];//显示分类结果(色彩设置依据IGBG)
Map.addLayer(Classified_RF,{'palette':visParam, min:1,max:3},'Classified_RF');
//精度验证
var test = validation_samples.classify(classifer);
var confussionMatrix = test.errorMatrix('landcover','classification');
var accuracy = confussionMatrix.accuracy();
var kappa = confussionMatrix.kappa();
var userAccuracy = confussionMatrix.consumersAccuracy();
var productAccuracy = confussionMatrix.producersAccuracy();
print('accuracy',accuracy);
print('kappa',kappa);
print('userAccuracy',userAccuracy);
print('productAccuracy',productAccuracy);// 图像导出
Export.image.toDrive({image: Classified_RF,description: 'Classified_RF',region: roi,scale: 250,maxPixels: 1e13,folder: 'LUCC'
})

结果展示:
在这里插入图片描述
以上结果只是一个简单示例,需要设置更多的采样点才能更精确分类。

  • GEE代码链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/579242.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

公司服务器被.rmallox攻击了如何挽救数据?

公司服务器被.rmallox攻击了如何挽救数据&#xff1f; .rmallox这种病毒与之前的勒索病毒变种有何不同&#xff1f;它有哪些新的特点或功能&#xff1f; .rmallox勒索病毒与之前的勒索病毒变种相比&#xff0c;具有一些新的特点和功能。这种病毒主要利用加密技术来威胁用户&am…

一、图片隐写[Stegsolve、binwalk、010editor、WaterMark、BlindWaterMark、文件头尾]

工具配置 1.Stegsolve 工具地址&#xff1a;http://www.caesum.com/handbook/Stegsolve.jar 解释&#xff1a;该工具需要安装jar包后才能配合使用&#xff0c;下面同时会给出快速打开工具的代码&#xff0c;需要两个文件&#xff0c;启动的时候启动vbs文件 start.bat java …

基于SpringBoot的“财务管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“财务管理系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统总体结构图 系统登录界面图 管理员功能界面图…

解决GNU Radio+USRP实现OFDM收发在接收端QPSK星座图映射无“抖动”问题

文章目录 前言一、遇到的问题二、解决方案三、重新编译安装四、验证五、资源自取 前言 本文记录在 GNU RadioUSRP 实现 OFDM 收发时&#xff0c;在接收端 QPSK 星座图映射无“抖动”问题的解决方法&#xff0c; 一、遇到的问题 我遇到的问题是&#xff0c;现在搭建的 OFDM 模…

定义类强化——定义Goods类表示商品

现需要编写一个计算商品总价值的程序&#xff0c;现要求&#xff1a; 1、定义一个表示商品的类&#xff1a;Goods&#xff0c;Goods类要包含&#xff1a; 一个私有成员变量String name表示商品的名称&#xff1b;一个私有成员变量float price表示商品的价格&#xff0c;并定义…

微服务(基础篇-007-RabbitMQ部署指南)

目录 05-RabbitMQ快速入门--介绍和安装_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1LQ4y127n4?p65&vd_source60a35a11f813c6dff0b76089e5e138cc 1.单机部署 1.1.下载镜像 1.2.安装MQ 2.集群部署 2.1.集群分类 2.2.设置网络 视频地址&#xff1a; 05-Rab…

解析商业电子邮件泄露:深度剖析攻击的含义

本文的第1部分清楚地介绍了什么是商业电子邮件泄露&#xff08;BEC&#xff09;&#xff0c;检测它的方法&#xff0c;以及如何防御。商业电子邮件泄露第2部分&#xff1a;攻击的含义将讨论BEC事件是如何发生的&#xff1f;如果你不够小心&#xff0c;BEC会在很多方面对你的业务…

【力扣hot100】两数之和、字母异位词分组

【1】两数之和 public class TwoNumAddiction {public static void main(String[] args) {int[] nums {3,3};int target 6;int[] indexArr new SolutionNumAddiction().twoSum(nums, target);for (int index : indexArr) {System.out.println(index);}} }class SolutionNumA…

最优算法100例之13-输出第n个丑数

专栏主页:计算机专业基础知识总结(适用于期末复习考研刷题求职面试)系列文章https://blog.csdn.net/seeker1994/category_12585732.html 题目描述 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当…

国内好用的chatGPT和AI绘图工具

分享一个比较好用的AI 分享一个比较好用的AI&#xff0c;只是需要开通会员&#xff0c;目前官网的价格是&#xff1a;298&#xff0c;开通之后可以使用chatgpt4、AI绘画、图片融合等等&#xff01;不开通的话是可以免费使用15次的&#xff0c;下面是一些介绍图片&#xff01;链…

2013年认证杯SPSSPRO杯数学建模B题(第一阶段)流行音乐发展简史全过程文档及程序

2013年认证杯SPSSPRO杯数学建模 B题 流行音乐发展简史 原题再现&#xff1a; 随着互联网的发展&#xff0c;流行音乐的主要传播媒介从传统的电台和唱片逐渐过渡到网络下载和网络电台等。网络电台需要根据收听者的已知喜好&#xff0c;自动推荐并播放其它音乐。由于每个人喜好…

MySQl on和where条件的区别?

MySQ L on和where条件的区别&#xff1f; on会生成临时表&#xff0c;不满足条件会置空 where 过滤数据&#xff0c;不满足的数据不会显示