Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

216
Vistas
Python GEE: descargue la colección Landsat con máscara de nube

Tengo un JavaScript en el editor de código de GEE que me permite descargar una colección de imágenes de Landsat con un filtro de nubes aplicado directamente (lo que significa que descargo solo las imágenes con menos de un cierto porcentaje de cobertura de nubes). Me gustaría traducir el código a Python, pero no sé cómo manejar la función de nube personalizada: en JavaScript, la condición de la nube (menos del x% de las nubes en la colección) se llama sin ninguna variable, directamente en el comando ee.collection() . En Python, no sé cómo hacer que funcione porque todavía no hay una variable, parece que primero tengo que descargar la imagen y luego aplicar el cálculo del porcentaje de nube (y luego volcar mi imagen si no cumple con el requisitos).

¿Hay alguna forma en Python de descargar imágenes de Landsat ya filtradas según su cobertura de nubes?

Mi código JavaScript es:

 var geometry: Polygon, 4 vertices type: Polygon coordinates: List (1 element) 0: List (5 elements) 0: [-141.0073440277409,59.69885769939182] 1: [-140.12569119570966,59.69885769939182] 2: [-140.12569119570966,60.16125006608516] 3: [-141.0073440277409,60.16125006608516] 4: [-141.0073440277409,59.69885769939182] 0: -141.0073440277409 1: 59.69885769939182 geodesic: false
 var cloudMaskL457 = function(image) { var qa = image.select('pixel_qa'); // If the cloud bit (5) is set and the cloud confidence (7) is high // or the cloud shadow bit is set (3), then it's a bad pixel. var cloud = qa.bitwiseAnd(1 << 5) .and(qa.bitwiseAnd(1 << 7)) .or(qa.bitwiseAnd(1 << 3)); // Remove edge pixels that don't occur in all bands var mask2 = image.mask().reduce(ee.Reducer.min()); return image.updateMask(cloud.not()).updateMask(mask2); }; var l5 = ee.ImageCollection('LANDSAT/LT05/C01/T1_SR') .filterDate('1984-01-01', '2012-05-05') .map(cloudMaskL457) .filterBounds(aoi) .map(function(a){ return a.set('year', ee.Image(a).date().get('year')) })

Pd: Ya uso un código para descargar Sentinel-2 que tiene una función incorporada específica. No pude encontrar algo similar para Landsat.

 S2_collection = ee.ImageCollection('COPERNICUS/S2').filterBounds(polytest).filter(ee.Filter.lessThanOrEquals('CLOUDY_PIXEL_PERCENTAGE', 10)).filter(ee.Filter.date(sdate, edate))
about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda