GEE实现非监督分类

使用 K-Means 聚类器实现非监督分类

// 创建一个点几何,表示要分析的地理位置
var pt = ee.Geometry.Point([118.55, 25.55]); 

// 过滤 Landsat 8 图像集合,选择云量最少的图像
var landsat = ee.ImageCollection('LANDSAT/LC08/C02/T1_L2')  // 指定 Landsat 8 图像集合
  .filterBounds(pt)  // 根据定义的点过滤图像集合,只保留包含该点的图像
  .filterDate('2023-01-01', '2024-01-01')  // 进一步过滤日期范围内的图像
  .sort('CLOUD_COVER')  // 按云量排序,云量最少的图像排在前面
  .first();  // 选择云量最少的第一张图像

// 将地图中心设置为选中的 Landsat 图像位置,并缩放级别为 8
Map.centerObject(landsat, 8); 

// 设置可视化参数,用于显示 Landsat 图像
var visParams = { 
    bands: ['SR_B4', 'SR_B3', 'SR_B2'],  // 选择显示的波段(红、绿、蓝)
    min: 7000,  // 设定最小值,用于拉伸图像对比度
    max: 12000  // 设定最大值
}; 

// 将 Landsat 图像添加到地图上
Map.addLayer(landsat, visParams, 'Landsat 8 image');

// 从 Landsat 图像中创建训练数据集
var training = landsat.sample({ 
    region: landsat.geometry(),  // 取样区域为 Landsat 图像的几何形状
    scale: 30,  // 设置取样的空间分辨率
    numPixels: 10000,  // 从图像中抽取的像素数量
    tileScale: 8  // 增加抽样的处理效率
}); 

// 实例化 K-Means 聚类器并对训练数据进行训练
var clusterer = ee.Clusterer.wekaKMeans(6).train(training);  // 使用 6 个聚类中心

// 使用训练好的聚类器对 Landsat 图像进行聚类
var Kclassified = landsat.cluster(clusterer); 

// 用随机颜色显示聚类结果
Map.addLayer(Kclassified.randomVisualizer(), {}, 'K-means classified - random colors'); 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值