GEE笔记-2.自学笔记 -2.4:裁剪

文章介绍了GoogleEarthEngine(GEE)中的掩膜函数,包括mask()、unmask()和updateMask()。mask()将影像掩膜区分0和1,unmask()可将掩膜区域替换为特定值,如-9999,updateMask()则用于掩蔽特定条件下的区域。示例展示了如何正确使用updateMask()更新影像掩膜。

2.4 裁剪

2.4.1 掩膜

GEE中掩膜相关函数主要有 mask、unmask,updateMask这三个:

  • mask()会将影像的掩膜区域与非掩膜区域用0和1区分开来,其中1代表为掩膜,0代表未掩膜
  • unmask()可以将掩膜掉的区域影像值替换为任意值,而未掩膜的区域保持原值。例如image.unmask(-9999)会将掩膜掉的区域中的值替换为-9999,这样影像就可以与arcgis无缝兼容了;
  • updateMask()将影像上为0的区域掩膜掉
var aw3d30 = ee.Image('JAXA/ALOS/AW3D30_V1_1')
var image = l8sr.filterBounds(sf).first()
var mask = aw3d30.select('AVE').gt(300)

// NO!  Don't do this!
var badMask = image.mask(mask);
//这样做比较好
var goodMask = image.updateMask(mask);
<think> 我们有一个CSV文件,它已经被上传为Google Earth Engine (GEE) 的资产,路径是:users/heyunqi98/aa 这个CSV包含的列有:Feature Index, lon lat (String), system:index (String) 其中,lon lat (String) 列是字符串类型的,包含了经度和纬度,用空格分隔。 我们需要在GEE中加载这个CSV资产,并将其转换为一个特征集合(FeatureCollection),然后在地图上显示来。 步骤: 1. 使用`ee.FeatureCollection`加载CSV资产。 2. 由于坐标是字符串类型,我们需要解析它们。我们将使用`map`函数对每个特征进行处理,将字符串分割为经度和纬度,然后转换为数字并设置为几何点。 3. 将解析后的特征集合显示在地图上。 注意:在GEE中,几何点使用`ee.Geometry.Point`创建,需要传入[lon, lat]。 代码示例: </think> 在 Google Earth Engine (GEE) 中加载 CSV 资产并将其显示为控制点,需要以下步骤。这里使用 JavaScript API 实现: ```javascript // 加载 CSV 资产 var csvAsset = ee.FeatureCollection("users/heyunqi98/aa"); // 解析坐标字符串并创建点特征 var points = csvAsset.map(function(feature) { // 提取坐标字符串(例如 "-124.747903 71.987281") var coordsStr = ee.String(feature.get('lon lat (String)')); // 分割字符串并转换为数字 var parts = coordsStr.split(' '); var lon = ee.Number.parse(parts.get(0)); var lat = ee.Number.parse(parts.get(1)); // 创建点几何并返回新特征 return ee.Feature( ee.Geometry.Point([lon, lat]), // 点坐标 [经度, 纬度] { 'system:index': feature.get('system:index'), // 保留原始ID 'orig_coords': coordsStr // 可选:保留原始坐标字符串 } ); }); // 设置地图中心(使用第一个点的坐标) var firstPoint = points.first().geometry().coordinates(); Map.setCenter(firstPoint.get(0), firstPoint.get(1), 5); // 经度, 纬度, 缩放级别 // 在地图上添加控制点(红色) Map.addLayer(points, {color: 'red'}, "Control Points"); // 可选:在控制台打印特征信息 print("Processed Points", points); ``` ### 代码解释: 1. **加载数据** `ee.FeatureCollection("users/heyunqi98/aa")` 加载你上传的 CSV 资产。 2. **坐标解析** - `coordsStr.split(' ')` 分割经纬度字符串(空格分隔) - `ee.Number.parse()` 将字符串转为数字 - `ee.Geometry.Point([lon, lat])` 创建点几何 3. **属性保留** 保留了原始 CSV 中的 `system:index` 字段,并可选存储原始坐标字符串。 4. **地图显示** - `Map.setCenter()` 根据第一个点定位地图 - `Map.addLayer(points, {color: 'red'}, ...)` 以红色显示控制点 ### 使用前检查: 1.GEE 代码编辑器中运行 2. 确保资产路径 `users/heyunqi98/aa` 正确 3. CSV 列名需完全匹配(包括空格和大小写) ### 效果: 地图上将显示红色点状的控制点,点击任意点可查看其经纬度和 `system:index` 属性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值