1 votos

Extracción de valores de puntos ráster en CSV junto con coordenadas en GEE

Estoy intentando extraer el valor de la serie temporal Sentinel1 a un archivo CSV. Usando el siguiente código he generado el gráfico y también exportado a CSV, pero las coordenadas faltan. Por favor, compruebe mi código y me sugieren cómo añadir coordenadas en CSV

var S1 = ee.ImageCollection('COPERNICUS/S1_GRD')
// Loading shape file
var points = ee.FeatureCollection("users/tilok/pts")
//Selecting bands
var image_collection = S1.filterDate('2020-01-01','2020-12-28')
.filterBounds(points);

// Reduce & Make a Chart
var chart = ui.Chart.image.seriesByRegion({
  imageCollection: image_collection,
  regions: points, 
  band: 'VH',
  reducer:ee.Reducer.mean(),  
  scale:10, });
print(chart);

Map.centerObject(points);
Map.addLayer(points,{color:'yellow'}, false);

2voto

baddox Puntos 1

Para extraer correctamente la información de trama de un featureCollection debe utilizar sampleRegions . El primer paso es transformar la colección de series temporales en un raster multibanda, donde cada banda corresponde a cada imagen de la serie temporal. Después, hay que utilizar sampleRegions para extraer los valores raster y utilizando el argumento geometry: true para que se devuelva una geometría para cada característica. Por último, hay que transformar la geometría en una tabla simple obteniendo las coordenadas de la geometría y, después, eliminarlas.

// Transform image collection of VH band into image with n bands
var timeSeries = ee.ImageCollection(image_collection.select('VH')).toBands()
  // Set masked values as -11000, set sameFootprint as false to override original image footprint (useful for working in areas with several tiles)
  .unmask({value: 0, sameFootprint: false});

// Extract data for each point
var sampledReg = ee.Image(timeSeries)
      .sampleRegions({
        // Get the sample from the points FeatureCollection.
        collection: points,
        // Properties from the points collection to pass on to the sampled info
        //properties: ['id'],
        // Set the scale to get Sentinel pixels in the FeatureCollection.
        scale: 30,
        tileScale: 8,
        // Return geometries
        geometries: true
      });

// Transform coordinates into properties in the table.
var featColExport = sampledReg.map(function (feature) {
  // Get geometry
  var coordinates = feature.geometry()
                          // Transform it to the desired EPSG code. Here WGS 84
                          .transform('epsg:4326')
                          // Get coordinates as a list
                          .coordinates();
  // Get both entries of coordinates and set them as new properties
  var resul = feature.set('lon', coordinates.get(0), 
                     'lat', coordinates.get(1));
  // Remove geometry                   
  return resul.setGeometry(null);
});

// Export table as csv
Export.table.toDrive({
    collection: featColExport,
    description: 'pointsExtractCoords',
    fileFormat: 'CSV',
});

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X