欢迎光临
我们一直在努力

Google Earth Engine:在code Editor中(javascript api)使用Gemini 告别不会代码的烦恼!

Google Earth Engine 官方已经在 Code Editor 中原生集成了“Ask”功能(Gemini 辅助编程),而不再完全依赖第三方扩展。今天我们来配置和使用一下。

安装和配置

这里其实并没有安装环节,新版本的在线版本的编译器已经包含了ask这个环节:

在这里插入图片描述 这里如果你不配置api是不能使用的。所以这里我们一定要配置。

配置GEE Gemini API key

在这里插入图片描述

当我们点击这个创建key的时候,就会自动跳转到google AI studio的界面,如果这里之前设置过就api,那么直接copy即可,如果没有那么就创建一个新的: 在这里插入图片描述 在这里插入图片描述

在这里插入图片描述

这个过程中需要等待几秒钟,然后会出现下面的信息,复制API密钥即可:

在这里插入图片描述 这个就算完成了,这里我们要设置结算信息,我们直接设定免费层级的就可以了: 在这里插入图片描述 如果你想体验更好的模型,这里就绑定国外的信用卡即可: 在这里插入图片描述

测试

这里直接提示我们用户高峰期,稍后使用,我这里切换了2.5版本还是不行,大家出现这个状况的时候多试试即可: 在这里插入图片描述

案例

提问

约市河流提取的代码吗?简介一些,要求有可视化结果展示

结果

当然,这是一个简短的Earth Engine JavaScript代码示例,用于在纽约市提取并可视化河流。

这个脚本通过加载高程数据(SRTM DEM),计算地形坡度,并根据坡度阈值来识别潜在的河流区域。较低的坡度值通常与河流或平坦的河谷相关。

// 1. 定义纽约市的兴趣区域 (ROI)。
// 这里使用一个点作为中心,然后创建一个缓冲区来代表纽约市的大致区域。
var nycPoint = ee.Geometry.Point(–74.0060, 40.7128); // 纽约市中心坐标
var roi = nycPoint.buffer(30000); // 30公里缓冲区

// 2. 加载数字高程模型 (DEM) 数据集。
// 使用SRTM GL1 高程数据,分辨率为30米。
var srtm = ee.Image('USGS/SRTMGL1_003');

// 3. 计算地形坡度。
// 使用ee.Terrain.slope函数从DEM中计算坡度。
var slope = ee.Terrain.slope(srtm);

// 4. 提取潜在的河流区域。
// 我们假设坡度非常小的区域(例如小于2度)可能是河流或河谷。
var riverMask = slope.lt(2); // 坡度小于2度的区域

// 5. 应用掩膜到SRTM高程数据,以便更好地可视化河流。
var rivers = srtm.updateMask(riverMask);

// 6. 定义可视化参数。
// DEM的可视化参数。
var demVis = {
min: 0,
max: 500,
palette: ['006633', 'E5FFCC', '662A00', 'EECC88', 'CC9966', '996633']
};

// 河流(低坡度区域)的可视化参数。
var riverVis = {
min: 0,
max: 500, // 与DEM相同的范围,但颜色不同以突出河流
palette: ['blue']
};

// 7. 将结果添加到地图上。
Map.centerObject(roi, 10); // 将地图中心设置到ROI并放大
Map.addLayer(srtm, demVis, 'SRTM DEM');
Map.addLayer(rivers, riverVis, 'Potential Rivers (low slope)');

// 打印一些信息到控制台
print('纽约市兴趣区域:', roi);
print('SRTM DEM图像:', srtm);
print('坡度图像:', slope);
print('潜在河流掩膜:', riverMask);

代码解释:

定义兴趣区域 (ROI): 首先,我们使用纽约市中心的经纬度创建一个 ee.Geometry.Point,然后用 buffer(30000) 创建一个30公里的圆形缓冲区,作为我们分析的区域。 加载DEM数据: 我们加载了 ‘USGS/SRTMGL1_003’ 数据集,这是一个30米分辨率的数字高程模型。 计算坡度: 使用 ee.Terrain.slope(srtm) 函数计算了高程数据的坡度。 提取潜在河流: 通过 slope.lt(2) 创建一个二进制掩膜,筛选出坡度小于2度的区域。这些平坦的区域很可能是河流或其冲积平原。 应用掩膜: 将 riverMask 应用到原始的 srtm 图像上,这样只有被识别为河流的像素才会被显示。 可视化参数: 定义了两个可视化参数对象:demVis 用于显示整个DEM的颜色分级,riverVis 则用蓝色来突出潜在的河流区域。 添加图层到地图: Map.centerObject(roi, 10); 将地图视图调整到纽约市的ROI。 Map.addLayer(srtm, demVis, ‘SRTM DEM’); 添加原始DEM图层。 Map.addLayer(rivers, riverVis, ‘Potential Rivers (low slope)’); 添加潜在河流图层,它将覆盖在DEM之上,用蓝色显示河流。 这个简化的方法可以快速展示潜在的河流区域。请注意,这是一个基于坡度的代理,对于更精确的河流网络提取,您可能需要使用更复杂的地球引擎水文工具,例如 ee.Image.flowAccumulation。

在这里插入图片描述

总结

相较于其他大模型,就相当于接入了一个接口,可以讲大模型生成的代码直接导入到编译器中间,极大方便了我们copy的过程。至于代码执行力或者代码是不是丰富,这里建议大家给更加丰富的提示词来实现这个过程: 在这里插入图片描述 在这里插入图片描述

赞(0)
未经允许不得转载:171主机测评 » Google Earth Engine:在code Editor中(javascript api)使用Gemini 告别不会代码的烦恼!
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址