当前位置: 首页 > news >正文

网站建设哪家好灵活苏州久远网络sem是什么意思

网站建设哪家好灵活苏州久远网络,sem是什么意思,想开个网站做外贸怎么做,聊城的网站制作公司最近发现好多人都在问一个问题,两张影像如何取其相交区域?其实这个问题简单来讲就是多张栅格影像进行叠加分析。在GEE中栅格影像不像矢量数据那样有直接的函数来做数据分析,需要我们自己手动写一些代码来实现这些操作。要实现这个功能有很多方…

最近发现好多人都在问一个问题,两张影像如何取其相交区域?其实这个问题简单来讲就是多张栅格影像进行叠加分析。在GEE中栅格影像不像矢量数据那样有直接的函数来做数据分析,需要我们自己手动写一些代码来实现这些操作。要实现这个功能有很多方法,这里简单说一下有几种方式:

第一种:先将栅格影像数据转换为矢量数据,然后在利用矢量数据计算。这种方式想想可以,但是千万别在实际中使用。

第二种:直接使用影像自带的方法mask()和updateMask()实现,这种方法简单快捷,下面我会通过具体的例子来说明一下如何实现这个功能。

    下面通过A:蓝色区域,B:粉色区域,来展示不同叠置分析具体是什么样子,相信大家对下面这个图非常清楚了,就在一一解释,下面通过具体例子来说明影像如何实现这几种情况。

公共代码:

var center = /* color: #0b4a8b */ee.Geometry.Point([115.78080896985244, 37.569622364096226]);
 
var img = ee.Image("LANDSAT/LC08/C01/T1_SR/LC08_123034_20160504")
 
            .multiply(0.0001)
 
            .normalizedDifference(["B5", "B4"])
 
            .rename("NDVI");
 
var vis = {
 
  min: 0,
 
  max: 1,
 
  palette: [
 
    'FFFFFF', 'CE7E45', 'DF923D', 'F1B555', 'FCD163', '99B718', '74A901',
 
    '66A000', '529400', '3E8601', '207401', '056201', '004C00', '023B01',
 
    '012E01', '011D01', '011301'
 
  ],
 
};
 
Map.centerObject(center, 8);
 
Map.addLayer(img, vis, "NDVI", false);
 
var roi1 =
 
    ee.Geometry.Polygon(
 
        [[[115.58854822766494, 37.72402725521113],
 
          [115.58854822766494, 37.48467189570746],
 
          [115.92912439953994, 37.48467189570746],
 
          [115.92912439953994, 37.72402725521113]]], null, false),
 
    roi2 =
 
    ee.Geometry.Polygon(
 
        [[[115.78630213391494, 37.62185147647586],
 
          [115.78630213391494, 37.36688853978036],
 
          [116.1406112159462, 37.36688853978036],
 
          [116.1406112159462, 37.62185147647586]]], null, false);
 
var imgA = img.clip(roi1);
 
var imgB = img.clip(roi2);
 
Map.addLayer(roi1, {color: "00ffff"}, "roi1", false);
 
Map.addLayer(roi2, {color: "ff00ff"}, "roi2", false);
 
Map.addLayer(imgA, vis, "imgA");
 
Map.addLayer(imgB, vis, "imgB");
 
 

运行结果如下:

1、AB相交,取AB交集

下面的例子计算的就是A和B的交集,然后结果返回的是A的数据结果

  1. //A B交集

  2. var intersection = imgA.updateMask(imgB.mask());

  3. Map.addLayer(intersection, vis, "intersection");

运行结果:

2、AB相交,取AB并集

    取并集可以有很多中方式,下面介绍两种常用的方式,一种是利用mask()和updateMask()来做,另外一种方式则是利用构建ImageCollection方式来做。

第一种方式,需要说明的是下面这个代码返回相交区域结果是两张影像求和的结果

  1. //(1)A B并集

  2. var mask = imgA.mask().or(imgB.mask());

  3. var baseImg = ee.Image.constant(0)

  4.                 .updateMask(mask);

  5. var newImgA = baseImg.where(imgA.mask(), imgA);

  6. var newImgB = baseImg.where(imgB.mask(), imgB);

  7. var union = newImgA.add(newImgB);

  8. Map.addLayer(union, vis, "union");

返回结果如下,点击的是箭头指示的地方,可以看到union的影像是两张影像的和,非相交的地方则是对应自己的结果。

第二种方式,构造ImageCollection,然后计算并集

  1. //(2)A B并集

  2. var imgAB = ee.ImageCollection.fromImages([imgA, imgB]);

  3. var union1 = imgAB.mosaic();

  4. Map.addLayer(union1, vis, "union1");

  5. var union2 = imgAB.sum();

  6. Map.addLayer(union2, vis, "union2");

其中:union1是普通的拼接而得到的结果,每一个像素结果都是唯一的;union2是求和计算拼接的结果,运算结果和第一种方式类似。

3、AB相交,AB的交集取反

    计算这个关键就是如何删除交集,主要逻辑就是考虑清楚下面代码mask2就可以,这个是交集的掩膜,那么只要对这个掩膜取反就可以了。

  1. // AB的交集取反

  2. var mask = imgA.mask().or(imgB.mask());

  3. var baseImg = ee.Image.constant(0)

  4.                 .updateMask(mask);

  5. var newImgA = baseImg.where(imgA.mask(), imgA);

  6. var newImgB = baseImg.where(imgB.mask(), imgB);

  7. var mask2 = imgA.mask().and(imgB.mask());

  8. var symmetricDifference = newImgA.add(newImgB)

  9.                                  .updateMask(mask2.not());

  10. Map.addLayer(symmetricDifference, vis, "symmetricDifference");

运行结果如下:

4、AB相交,取属于A但非B

具体代码如下:

  1. //取属于A但非B

  2. var difference = imgA.updateMask(imgB.mask().not());

  3. Map.addLayer(difference, vis, "difference");

运行结果:

    总结一下就是影像要实现叠置分析,最关键就是明白影像中的mask()、updateMask()、unmask()等方法使用,通过这些方法结合and、or、not等逻辑判断就可以实现自己想要的各种结果。

来源请引用:地理遥感生态网科学数据注册与出版系统

http://www.hkea.cn/news/890742/

相关文章:

  • wordpress免费网站世界大学排名
  • 做网站的属于什么专业?百度爱采购竞价推广
  • 网站建设一年多少恰东莞网站到首页排名
  • 新企业网站应该怎么做SEO优化广告联盟有哪些
  • 手机app开发网站建设软文推广文章案例
  • 网站自然排名百度经验官网登录
  • dz网站模板沧州网站优化公司
  • 桂林论坛天涯社区培训行业seo整站优化
  • 做伊瑞尔竞技场的网站搜索引擎简称seo
  • 46云虚拟主机股票发行ipo和seo是什么意思
  • 新泰做网站菏泽seo
  • 网站建设排名东莞seo收费
  • 做网站前后端的发布流程自己如何制作网站
  • 网站营销与推广策略百度一下官网首页百度
  • 网站建设张世勇100个免费推广b站
  • 网络营销的常用工具百度关键词优化点击 教程
  • 公司网站要怎么做少儿编程培训机构排名前十
  • 一个好的网站是什么样的商家联盟营销方案
  • 网站解除域名绑定网站广告收费标准
  • 郑州的建设网站有哪些手续免费发布推广信息的平台有哪些
  • 手机做网站软件优化服务平台
  • 网站图片装修的热切图怎么做营销技巧培训
  • 可以上传图片的网站怎么做百度关键词点击
  • 泉州网站制作广州seo网站开发
  • cuntlove wordpressseo外链发布工具
  • 购买一个网站空间如何可以多个域名使用吗长沙网站建设服务
  • 天津市建设委员会网站上海网站制作开发
  • 扬中网站建设墨子学院seo
  • 分析电子商务网站建设需求教案青岛今天发生的重大新闻
  • 汕头模板开发建站百度发布信息怎么弄