GEEer成长日记二十三:chatGPT可以帮我们提取水体边缘吗?

欢迎关注公众号:GEEer成长日记

目录

01  首先,chatGPT是什么?

02 进入正题,如何进行边缘检测?


       chatGPT推出之后,引发了激烈的讨论,今天带各位看看它在GEE方面能为我们做什么。原本想着它可以帮我们写代码,奈何昨晚奋战到巴西输球,也没得到一个较好的结果。

       我想让它在GEE实现两个数组的相关性分析,并输出相关系数,但是尝试了20次,都没有成功。每次都给我推荐一些GEE没有的函数,不过看起来有理有据的样子。所以今天试试提取海岸线,也就是边缘检测。

      关于边缘检测我在之前的推文中有涉及到,但没有较好的应用,今天作为一个小小案例,抛砖引玉一波。


01  首先,chatGPT是什么?

它可以帮你写信:

也可以帮你查资料,但准确度有待考证:

02  进入正题,如何进行边缘检测?

比较好的一点是,这个案例非常准确,但是函数稍有错误,我们需要简单修改就OK。替换成ee.Algorithms.CannyEdgeDetector

// 根据给定的研究区域,按照海拔进行边缘检测就OK
// 加载图像
var image = ee.Image('CGIAR/SRTM90_V4').clip(geometry);
// 运行边缘检测,阈值设置为100
var edge = ee.Algorithms.CannyEdgeDetector(image,100);
// 展示结果
Map.addLayer(edge);

 

03  Wait!我们今天想进行海岸线的提取,How can do it?


// 我对代码进行了简单的修改
// 读取遥感影像数据
var image = ee.ImageCollection('COPERNICUS/S2')
              .filterBounds(geometry)
              .filterMetadata('CLOUDY_PIXEL_PERCENTAGE','less_than',1)
              .median();

// 计算MNDWI指数
var mndwi = image.expression('(B3 - B11)/(B3 + B11)',{
  B3:image.select('B3'),
  B11:image.select('B11')
}).rename('MNDWI');

// 利用Canny边缘检测算法进行边缘检测
// 0.8代表了MNDWI指数的阈值
var mndwiEdges = ee.Algorithms.CannyEdgeDetector(mndwi,0.8, 0.1);

// 显示结果
Map.addLayer(mndwiEdges.gte(1).selfMask(), {palette:['red']}, 'MNDWI edges');

从图中我们可以看出,示例代码稍加修改还是可以实现的,但是每个影像的边缘也会检测到,是因为我选择的影像并没有进行研究区域裁剪。

ChatGPT还可以为我们做什么?拭目以待吧。 

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值