当前位置:   article > 正文

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

积水边缘提取

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

目录

01  首先,chatGPT是什么?

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


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

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

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


01  首先,chatGPT是什么?

它可以帮你写信:

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

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

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

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

 

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

  1. // 我对代码进行了简单的修改
  2. // 读取遥感影像数据
  3. var image = ee.ImageCollection('COPERNICUS/S2')
  4. .filterBounds(geometry)
  5. .filterMetadata('CLOUDY_PIXEL_PERCENTAGE','less_than',1)
  6. .median();
  7. // 计算MNDWI指数
  8. var mndwi = image.expression('(B3 - B11)/(B3 + B11)',{
  9. B3:image.select('B3'),
  10. B11:image.select('B11')
  11. }).rename('MNDWI');
  12. // 利用Canny边缘检测算法进行边缘检测
  13. // 0.8代表了MNDWI指数的阈值
  14. var mndwiEdges = ee.Algorithms.CannyEdgeDetector(mndwi,0.8, 0.1);
  15. // 显示结果
  16. Map.addLayer(mndwiEdges.gte(1).selfMask(), {palette:['red']}, 'MNDWI edges');

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/200596
推荐阅读
相关标签
  

闽ICP备14008679号