O DynamicsWorld é uma cobertura mundial da google que classifica cada pixel num tipo de cobertura. Neste exemplo, desenvolvemos um algoritmo em Python para extrair apenas a banda correspondente à água e que classificámos a imagem em binário, para quando um píxel tem mais de 20% de probabilidade de ser água.
Na publicação anterior (link) ensinámos a adicionar a REN ao nosso mapa, onde se via uma rede de linhas de água muito densa, no entanto, a realidade é que nem todas têm água. Nesta versão, algumas pequenas barragens de caça e pegos passam despercebidos no algoritmo, mas de modo geral o resultado é muito interessante!
Origem da ImageCollection: https://developers.google.com/earth-engine/datasets/catalog/GOOGLE_DYNAMICWORLD_V1#bands
Fonte: Earth Engine Data Catalog
ImageCollection: Dynamic World V1
Dataset Provider: World Resources Institute Google
Earth Engine Snippet: ee.ImageCollection("GOOGLE/DYNAMICWORLD/V1")
Banda: water
Código fonte do mapa
Código Python utilizado para criar o mapa dinâmico.
Autor: André Sanches
import geemap
import ee
import os
m = geemap.Map(center=[37.6392, -7.6691], zoom=10.1)
m.add_basemap('Stadia.AlidadeSmoothDark')
concelhos = ee.FeatureCollection("FAO/GAUL/2015/level2")
mertola = concelhos.filter("ADM2_NAME == 'Mertola'")
m.addLayer(mertola, {}, 'Limite Mértola')
COL_FILTER = ee.Filter.And(ee.Filter.bounds(mertola), ee.Filter.date('2022-01-01', '2022-02-01'))
image = ee.ImageCollection('GOOGLE/DYNAMICWORLD/V1').select('water').filter(COL_FILTER)
raster_vis = {
"min": 0.0,
"palette": [
"000000",
"00B0F0"
],
"max": 1.0
}
b = image.mosaic().clip(mertola)
b = b.where(b.gte(0.2),1)
b = b.where(b.lt(0.2),0)
b = b.selfMask()
m.addLayer(b, raster_vis, 'Mertola água')
m
Sem comentários:
Enviar um comentário