对海水养殖中的浮筏养殖、网箱养殖及滩涂养殖进行提取,回答最好能注明代码的主要功能,谢谢!
5条回答 默认 最新
关注 获得4.65元问题酬金 直接上代码:!!!!
// 导入需要的影像数据和矢量数据 var s2 = ee.ImageCollection('COPERNICUS/S2_SR'); var water = ee.FeatureCollection('users/username/water_bodies'); var rafts = ee.FeatureCollection('users/username/rafts'); var cages = ee.FeatureCollection('users/username/cages'); var flats = ee.FeatureCollection('users/username/flats'); // 选择时间范围和地理区域 var start = ee.Date('2019-01-01'); var end = ee.Date('2020-01-01'); var region = ee.Geometry.Rectangle([xmin, ymin, xmax, ymax]); // 过滤影像和矢量数据 var filtered_s2 = s2.filterDate(start, end).filterBounds(region); var filtered_water = water.filterBounds(region); var filtered_rafts = rafts.filterBounds(region); var filtered_cages = cages.filterBounds(region); var filtered_flats = flats.filterBounds(region); // 计算NDWI指数 var ndwi = function(image) { var green = image.select('B3'); var nir = image.select('B8'); var ndwi = green.subtract(nir).divide(green.add(nir)); return image.addBands(ndwi.rename('NDWI')); }; var ndwi_s2 = filtered_s2.map(ndwi); // 在影像上应用膨胀操作,以增加养殖区域的像素数量 var dilated_water = filtered_water.map(function(feature) { return feature.buffer(100); }); var dilated_rafts = filtered_rafts.map(function(feature) { return feature.buffer(100); }); var dilated_cages = filtered_cages.map(function(feature) { return feature.buffer(100); }); var dilated_flats = filtered_flats.map(function(feature) { return feature.buffer(100); // 根据NDWI指数和矢量数据提取海水养殖区 var extract_water = function(image) { var water_mask = image.select('NDWI').gt(0.1); var water_zone = water_mask.reduceConnectedComponents().clip(region); return water_zone; }; var water_zone = ndwi_s2.map(extract_water).mosaic(); var raft_zone = water_zone.mask(water_zone.intersects(dilated_rafts)).clip(region); var cage_zone = water_zone.mask(water_zone.intersects(dilated_cages)).clip(region); var flat_zone = water_zone.mask(water_zone.intersects(dilated_flats)).clip(region); // 将结果可视化 Map.centerObject(region, 10); Map.addLayer(water_zone, {palette: 'blue'}, 'Water Zone'); Map.addLayer(raft_zone, {palette: 'yellow'}, 'Raft Zone'); Map.addLayer(cage_zone, {palette: 'red'}, 'Cage Zone'); Map.addLayer(flat_zone, {palette: 'green'}, 'Flat Zone');
解决 1无用
悬赏问题
- ¥15 关于链式代理v*n的配置
- ¥15 python怎么在已有视频文件后添加新帧
- ¥20 虚幻UE引擎如何让多个同一个蓝图的NPC执行一样的动画,
- ¥15 fluent里模拟降膜反应的UDF编写
- ¥15 MYSQL 多表拼接link
- ¥15 关于某款2.13寸墨水屏的问题
- ¥15 obsidian的中文层级自动编号
- ¥15 同一个网口一个电脑连接有网,另一个电脑连接没网
- ¥15 神经网络模型一直不能上GPU
- ¥15 pyqt怎么把滑块和输入框相互绑定,求解决!