GEE题目:筛选指定地区的Sentinel-1影像缺乏VH等波段

诗林  金牌会员 | 2024-10-11 22:40:38 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 518|帖子 518|积分 1554

目录
题目简介
原始代码
原始代码
题目解析
修改后的代码


题目简介

亲爱的同事们,我正在尝试使用 SAR 图像 - Sentinel-1 来改进使用呆板学习的地上生物量建模。我想处置惩罚 Sentinel 图像并将它们作为波段插入以增强模子。通过阅读文档,可用的极化(已在 GRD 中处置惩罚)是 HH、HV、VV 和 VH。但是,出现一条消息,指出只有 VV 波段可用。有人知道其他极化是否不可用吗?
原始代码

https://code.earthengine.google.com/00d394a0be6a840eb4a260a78cabca7e
原始代码

  1. var table = ee.FeatureCollection("projects/ee-selper/assets/aoi_sample");
  2. // Define period of analysis
  3. var start = '2021-01-01';
  4. var end = '2021-12-31';
  5. var season = ee.Filter.date(start,end);
  6. print(season);
  7. // Import Sentinel-1 collection
  8. var sentinel1 =  ee.ImageCollection('COPERNICUS/S1_GRD');
  9. // Filter Sentinel-1 collection for study area, date ranges and polarization components
  10. var sCollection =  sentinel1
  11.                     //filter by aoi and time
  12.                     .filterBounds(table)
  13.                     .filter(season)
  14.                     // Filter to get images with VV and VH dual polarization
  15.                     .filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VV'))
  16.                     .filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VH'))
  17.                     // Filter to get images collected in interferometric wide swath mode.
  18.                     .filter(ee.Filter.eq('instrumentMode', 'IW'));
  19. var desc = sCollection.filter(ee.Filter.eq('orbitProperties_pass', 'DESCENDING'));
  20. var asc = sCollection.filter(ee.Filter.eq('orbitProperties_pass', 'ASCENDING'));
  21. // Contar o número de imagens em cada coleção
  22. print('Número de Imagens Ascendente (VH)', asc.filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VH')).size());
  23. print('Número de Imagens Ascendente (VV)', asc.filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VV')).size());
  24. print('Número de Imagens Descendente (VH)', desc.filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VH')).size());
  25. print('Número de Imagens Descendente (VH)', desc.filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VV')).size());
  26. // Criar um compósito a partir da média das polarizações e modos de órbita
  27. var vh_asc = asc.select('VH').mean().rename('VH_asc');
  28. var vv_asc = asc.select('VV').mean().rename('VV_asc');
  29. var vh_desc = desc.select('VH').mean().rename('VH_desc');
  30. var vv_desc = desc.select('VV').mean().rename('VV_desc');
  31. // Combinar as bandas em uma única imagem
  32. var composite = ee.Image.cat([vh_desc]).focal_median();
  33. // Definir parâmetros de visualização para compósito (usar valores individuais para min e max)
  34. var visParams = {
  35.   bands: ['VH_desc'],  // bandas para os canais R, G, B
  36.   min: -25,  // valor mínimo para todas as bandas
  37.   max: 0     // valor máximo para todas as bandas
  38. };
  39. // Exibir no mapa
  40. Map.centerObject(table, 10);  // Centralizar o mapa na área de interesse
  41. Map.addLayer(composite.clip(table), visParams, 'composite');
  42. // Exportar a imagem para o asset
  43. Export.image.toAsset({
  44.   image: composite.clip(table), // Recortar para a área de interesse
  45.   description: 'Sentinel1', // Nome da tarefa de exportação
  46.   assetId: 'projects/ee-selper/assets/Sentinel1', // Substitua pelo caminho correto do seu asset
  47.   scale: 30, // Resolução da imagem em metros
  48.   region: table, // Área de interesse para recorte
  49.   maxPixels: 1e13 // Número máximo de pixels permitidos (ajuste conforme necessário)
  50. });
复制代码
题目解析

Sentinel-1卫星是由欧洲空间局(ESA)运行的合成孔径雷达(SAR)卫星系统。它们以天基的方式提供大量的雷达图像数据,用于监测地球表面的变化和活动。
在Sentinel-1数据中,地区只有Descending(下行)或只有Ascending(上行)数据是由于卫星系统的运行模式和地球自转的缘故原由。
在多数情况下,Sentinel-1卫星会同时网络Descending和Ascending数据覆盖一个地区。如许做可以提供更全面的地面覆盖,减少数据缺失和提高数据质量。同时,Descending和Ascending数据还可以用于获取更准确的地表变化信息,比方地表沉降等。
然而,由于技能和资源限制,有些地区大概只有一种数据可用。这大概是因为在某些时间地区内,只有Descending或只有Ascending数据网络,这取决于卫星任务安排和优先级。此外,在一些地区,由于地形、地貌等因素,只有一种数据方向可以有效地传输信号,而另一种方向大概碰到干扰或信号丧失。
总结起来,Sentinel-1数据只有Descending或只有Ascending覆盖某个地区是由于卫星运行模式、地球自转和地理因素等多种缘故原由造成的。这些数据的不同方向可以提供更全面和准确的地表观测,并支持各种应用,如环境监测、农业、都会规划等。
修改后的代码

  1. var table = ee.FeatureCollection("projects/ee-selper/assets/aoi_sample");
  2. // Define period of analysis
  3. var start = '2021-01-01';
  4. var end = '2021-12-31';
  5. var season = ee.Filter.date(start,end);
  6. print(season);
  7. // Import Sentinel-1 collection
  8. var sentinel1 =  ee.ImageCollection('COPERNICUS/S1_GRD');
  9. // Filter Sentinel-1 collection for study area, date ranges and polarization components
  10. var sCollection =  sentinel1
  11.                     //filter by aoi and time
  12.                     .filterBounds(table)
  13.                     .filter(season)
  14.                     // Filter to get images with VV and VH dual polarization
  15.                     .filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VH'))
  16.                     // Filter to get images collected in interferometric wide swath mode.
  17.                     .filter(ee.Filter.eq('instrumentMode', 'IW'));
  18. var desc = sCollection.filter(ee.Filter.eq('orbitProperties_pass', 'DESCENDING'));
  19. var asc = sCollection.filter(ee.Filter.eq('orbitProperties_pass', 'ASCENDING'));
  20. // Contar o número de imagens em cada coleção
  21. print('Número de Imagens Ascendente (VH)', asc.filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VH')).size());
  22. print('Número de Imagens Ascendente (VV)', asc.filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VV')).size());
  23. print('Número de Imagens Descendente (VH)', desc.filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VH')).size());
  24. print('Número de Imagens Descendente (VH)', desc.filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VV')).size());
  25. // Criar um compósito a partir da média das polarizações e modos de órbita
  26. var vh_asc = asc.select('VH').mean().rename('VH_asc');
  27. var vv_asc = asc.select('VV').mean().rename('VV_asc');
  28. var vh_desc = desc.select('VH').mean().rename('VH_desc');
  29. var vv_desc = desc.select('VV').mean().rename('VV_desc');
  30. // Combinar as bandas em uma única imagem
  31. var composite = ee.Image.cat([vh_desc]).focal_median();
  32. // Definir parâmetros de visualização para compósito (usar valores individuais para min e max)
  33. var visParams = {
  34.   bands: ['VH_desc'],  // bandas para os canais R, G, B
  35.   min: -25,  // valor mínimo para todas as bandas
  36.   max: 0     // valor máximo para todas as bandas
  37. };
  38. // Exibir no mapa
  39. Map.centerObject(table, 10);  // Centralizar o mapa na área de interesse
  40. Map.addLayer(composite.clip(table), visParams, 'composite');
  41. // Exportar a imagem para o asset
  42. Export.image.toAsset({
  43.   image: composite.clip(table), // Recortar para a área de interesse
  44.   description: 'Sentinel1', // Nome da tarefa de exportação
  45.   assetId: 'projects/ee-selper/assets/Sentinel1', // Substitua pelo caminho correto do seu asset
  46.   scale: 30, // Resolução da imagem em metros
  47.   region: table, // Área de interesse para recorte
  48.   maxPixels: 1e13 // Número máximo de pixels permitidos (ajuste conforme necessário)
  49. });
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

诗林

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表