Prévia do material em texto
Algoritmos do Sentinel-1
A Sentinel-1 é uma missão espacial financiada pela União Europeia e realizada pela Agência
Espacial Europeia (ESA, na sigla em inglês) no âmbito do programa Copernicus. O Sentinel-1
coleta imagens de radar de abertura sintética (SAR, na sigla em inglês) de banda C com várias
polarizações e resoluções. Como os dados de radar exigem vários algoritmos especializados para
obter imagens ortorretificadas e calibradas, este documento descreve o pré-processamento dos
dados do Sentinel-1 no Earth Engine.
Os dados do Sentinel-1 são coletados com várias configurações de instrumentos, resoluções e
combinações de bandas diferentes durante as órbitas ascendentes e descendentes. Devido a
essa heterogeneidade, geralmente é necessário filtrar os dados para um subconjunto homogêneo
antes de iniciar o processamento. Esse processo é descrito abaixo na seção Metadados e
filtragem.
Metadados e filtragem
Para criar um subconjunto homogêneo de dados do Sentinel-1, geralmente é necessário filtrar a
coleção usando propriedades de metadados. Os campos de metadados comuns usados para
filtragem incluem estas propriedades:
1. transmitterReceiverPolarisation: ['VV'], ['HH'], ['VV', 'VH'] ou ['HH', 'HV']
2. instrumentMode: "IW" (faixa larga interferométrica), "EW" (faixa extra larga) ou "SM" (mapa
de faixa). Consulte esta referência para mais detalhes.
3. orbitProperties_pass: "ASCENDING" ou "DESCENDING"
4. resolution_meters: 10, 25 ou 40
5. resolution: "M" (médio) ou "H" (alto). Consulte esta referência para mais detalhes.
O código a seguir filtra a coleção Sentinel-1 por
propriedades transmitterReceiverPolarisation, instrumentMode e orbitProperties_pass e
calcula composições para várias combinações de observações que são exibidas no mapa para
demonstrar como essas características afetam os dados.
Editor de código (JavaScript)Colab (Python)
// Load the Sentinel-1 ImageCollection, filter to Jun-Sep 2020 observations.
var sentinel1 = ee.ImageCollection('COPERNICUS/S1_GRD')
.filterDate('2020-06-01', '2020-10-01');
// Filter the Sentinel-1 collection by metadata properties.
var vvVhIw = sentinel1
// Filter to get images with VV and VH dual polarization.
.filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VV'))
.filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VH'))
// Filter to get images collected in interferometric wide swath mode.
.filter(ee.Filter.eq('instrumentMode', 'IW'));
https://earth.esa.int/web/sentinel/missions/sentinel-1
https://sentinel.esa.int/web/sentinel/user-guides/sentinel-1-sar/acquisition-modes
https://sentinel.esa.int/web/sentinel/user-guides/sentinel-1-sar/resolutions/level-1-ground-range-detected
Pré-processamento do Sentinel-1
As imagens no 'COPERNICUS/S1_GRD' Sentinel-1 do Earth Engine ImageCollection consistem em
cenas de nível 1 com detecção de alcance do solo (GRD, na sigla em inglês) processadas para
coeficiente de retroespalhamento (σ°) em decibéis (dB). O coeficiente de retroespalhamento
representa a área de retroespalhamento do alvo (seção transversal do radar) por unidade de área
do solo. Como pode variar em várias ordens de magnitude, ele é convertido em dB como
10*log10σ°. Ele mede se o terreno irradiado dispersa a radiação de micro-ondas incidente
preferencialmente para longe do sensor de SAR (dB 0). Esse
comportamento de dispersão depende das características físicas do terreno, principalmente da
geometria dos elementos do terreno e das características eletromagnéticas deles.
O Earth Engine usa as seguintes etapas de pré-processamento (implementadas pela caixa de
ferramentas do Sentinel-1) para derivar o coeficiente de retroespalhamento em cada pixel:
1. Aplicar arquivo de órbita
Atualiza os metadados da órbita com um arquivo de órbita restaurado (ou um arquivo
de órbita preciso, se o restaurado não estiver disponível).
2. Remoção de ruído de bordas de GRD
Remove ruídos de baixa intensidade e dados inválidos nas bordas da cena. (Em 12 de
janeiro de 2018)
3. Remoção de ruído térmico
// Separate ascending and descending orbit images into distinct collections.
var vvVhIwAsc = vvVhIw.filter(
ee.Filter.eq('orbitProperties_pass', 'ASCENDING'));
var vvVhIwDesc = vvVhIw.filter(
ee.Filter.eq('orbitProperties_pass', 'DESCENDING'));
// Calculate temporal means for various observations to use for visualization.
// Mean VH ascending.
var vhIwAscMean = vvVhIwAsc.select('VH').mean();
// Mean VH descending.
var vhIwDescMean = vvVhIwDesc.select('VH').mean();
// Mean VV for combined ascending and descending image collections.
var vvIwAscDescMean = vvVhIwAsc.merge(vvVhIwDesc).select('VV').mean();
// Mean VH for combined ascending and descending image collections.
var vhIwAscDescMean = vvVhIwAsc.merge(vvVhIwDesc).select('VH').mean();
// Display the temporal means for various observations, compare them.
Map.addLayer(vvIwAscDescMean, {min: -12, max: -4}, 'vvIwAscDescMean');
Map.addLayer(vhIwAscDescMean, {min: -18, max: -10}, 'vhIwAscDescMean');
Map.addLayer(vhIwAscMean, {min: -18, max: -10}, 'vhIwAscMean');
Map.addLayer(vhIwDescMean, {min: -18, max: -10}, 'vhIwDescMean');
Map.setCenter(-73.8719, 4.512, 9); // Bogota, Colombia
https://sentinel.esa.int/web/sentinel/toolboxes/sentinel-1
https://sentinel.esa.int/web/sentinel/toolboxes/sentinel-1
https://sentinel.esa.int/web/sentinel/technical-guides/sentinel-1-sar/pod/products-requirements
Remove ruídos aditivos em subfaixas para ajudar a reduzir descontinuidades entre
subfaixas para cenas em modos de aquisição de várias subfaixas. (Esta operação não
pode ser aplicada a imagens produzidas antes de julho de 2015)
4. Aplicação de valores de calibração radiométrica
Calcula a intensidade de retroespalhamento usando parâmetros de calibração do
sensor nos metadados do GRD.
5. Correção de terreno (ortorretificação)
Converte dados da geometria de alcance do solo, que não considera o terreno, em σ°
usando o SRTM 30 meter DEM ou o ASTER DEM para latitudes altas (maiores que 60°
ou menores que -60°).
Notas do conjunto de dados
A nivelação radiométrica do terreno não está sendo aplicada devido a artefatos nas encostas
das montanhas.
O coeficiente de retroespalhamento sem unidade é convertido em dB, conforme descrito
acima.
No momento, não é possível ingerir dados do Sentinel-1 SLC, porque o Earth Engine não
aceita imagens com valores complexos devido à incapacidade de fazer a média delas
durante a pirâmide sem perder informações de fase.
Os recursos de SM de GRD não são ingeridos porque a
função computeNoiseScalingFactor() na operação de remoção de ruído de borda na caixa
de ferramentas do S1 não oferece suporte ao modo SM.
https://developers.google.com/earth-engine/datasets/catalog/USGS_SRTMGL1_003?hl=pt-br
https://asterweb.jpl.nasa.gov/gdem.asp
https://github.com/senbox-org/s1tbx/blob/master/s1tbx-op-calibration/src/main/java/org/esa/s1tbx/calibration/gpf/RemoveGRDBorderNoiseOp.java
https://github.com/senbox-org/s1tbx/blob/master/s1tbx-op-calibration/src/main/java/org/esa/s1tbx/calibration/gpf/RemoveGRDBorderNoiseOp.java