Más

Cómo calcular estadísticas resumidas y producir gráficos de líneas para las bandas de calidad MODIS LST diarias

Cómo calcular estadísticas resumidas y producir gráficos de líneas para las bandas de calidad MODIS LST diarias


Tengo una pila de ráster (matriz 3d numpy) de bandas de calidad MODIS LST diarias. Las bandas de calidad tienen valores de píxeles que corresponden a la calidad de los datos LST en cada píxel. Por ejemplo, 2 = no se recibieron datos debido a las nubes, 3 = posible contaminación de las nubes, 17 = baja calidad por otro motivo, etc.

Me gustaría crear un gráfico de líneas (eje x = proporción de píxeles, eje y = día del año) que represente la proporción de píxeles dentro del mosaico MODIS que tienen un valor de calidad determinado en cualquier día del año. El gráfico de líneas tendría varias líneas, cada una de las cuales representaría un valor en la banda de calidad. Me gustaría hacer esto en Python, si es posible.

Como ejemplo, digamos que tengo una matriz 2d, que representaría un mosaico MODIS por un día, con la siguiente información: [[2,3,0], [17,3,0], [2,2,0 ]]

Para esta matriz, necesitaría calcular la proporción de píxeles que corresponden a cada valor y luego tener la salida en alguna forma (tabla o archivo csv) que luego podría trazar. Luego repetiría este proceso para cada día del año.


Usando la creación de los resúmenes de su otra pregunta, el trazado se puede hacer fácilmente conmatplotlib.

Dado que los valores que busca están enval_listyresultadoses una lista anidada con la porción de valores para cada imagen MODIS.

from matplotlib import pyplot as plt import numpy as np plt.figure (figsize = (11,7)) for i, val in enumerate (val_list): plt.plot (np.array (results) [:, i], label = "valor% s"% val) plt.legend (loc = "superior derecha") plt.show ()

Así es como se vería eso para una serie de tiempo de la capa de calidad del producto MOD13Q1.