Disponible con licencia de Image Analyst.
Resumen
Evalúa los cambios en los valores de píxel a lo largo del tiempo utilizando el método de detección de tendencias de perturbación y recuperación basado en Landsat (LandTrendr) y genera un ráster de análisis de cambios que contiene los resultados del modelo.
Uso
El algoritmo LandTrendr es un método para identificar los cambios en los valores de píxel a lo largo del tiempo. Se desarrolló para una serie temporal de imágenes multibanda de Landsat y se utiliza para detectar cambios y clasificar la cubierta terrestre antes y después de que se produjera el cambio. Esta herramienta se puede utilizar con imágenes de sensores compatibles y puede servir para detectar cambios en rásteres de banda única. Por ejemplo, esta herramienta se puede utilizar para detectar cambios en una serie temporal de rásteres NDVI con el fin de identificar eventos de deforestación.
El algoritmo LandTrendr extrae la trayectoria de la serie temporal de cada píxel a lo largo del tiempo, utilizando la información del valor de píxel de una sola banda espectral o índice espectral. A continuación, se segmenta la trayectoria para capturar y modelar periodos sin cambio, con cambio y de recuperación del cambio.
La salida de esta herramienta es información del modelo en un ráster de análisis de cambios en el que cada píxel almacena un conjunto de información del modelo que describe el historial de ese píxel a lo largo del tiempo. El ráster de análisis de cambios es un ráster multidimensional donde cada división es un ráster multibanda compuesto por los coeficientes del modelo, el error cuadrático medio (RMSE) y los cambios observados. Se puede utilizar como entrada de la herramienta Detectar cambios usando el ráster de análisis de cambios, que genera un ráster que contiene información de cambio para cada píxel.
Hay una división para cada año en el análisis.La finalidad de esta herramienta es extraer los cambios de una entidad observada, de modo que las imágenes multidimensionales de entrada ideales deben capturar una observación coherente a lo largo del tiempo y no deben incluir interferencias atmosféricas o de sensores, nubes ni sombras de nubes. La práctica recomendada es utilizar datos que se han normalizado y se pueden enmascarar con una banda QA, por ejemplo, los productos Landsat Collection 1 Surface Reflectance con una máscara de nube.
La herramienta realiza el análisis de una imagen por año y el número de divisiones anuales debe ser igual o mayor que el valor especificado en el parámetro Número mínimo de observaciones. Se recomienda tener seis años de datos como mínimo.
Si tiene datos mensuales, semanales o diarios, se recomienda seleccionar varias imágenes de cada año (preferentemente de la misma estación), eliminar las nubes y las sombras de nubes y combinar las imágenes para generar una sola imagen que capture bien la observación. Si se proporcionan datos mensuales, semanales o diarios como ráster multidimensional de entrada, la herramienta identificará una división para el análisis en función de la fecha más cercana a la proporcionada en el parámetro Fecha de ajuste.
Una entidad en un paisaje a menudo tardará un tiempo en recuperarse de un cambio no permanente, como un incendio forestal o una plaga de insectos. Para controlar la tasa de recuperación que reconoce el modelo, establezca el parámetro Umbral de recuperación. Un segmento distinto no puede tener una tasa de recuperación que sea más rápida que el umbral de 1/recuperación.
La recuperación de un cambio en el paisaje puede producirse en la dirección positiva o negativa. Por ejemplo, cuando un paisaje experimenta pérdida de bosque, una serie temporal de valores de índice de vegetación muestra una caída en los valores de índice y la recuperación muestra un aumento gradual de los valores de índice de vegetación o una tendencia de recuperación positiva. Especifique la dirección de la tendencia de recuperación con el parámetro Recuperación con tendencia creciente.
Para explorar los cambios calculados en el ráster de análisis de cambio de salida, cree un gráfico de perfil temporal. Genere gráficos para varias ubicaciones en el ráster de análisis de cambio utilizando la banda Valor ajustado o la banda Pendiente para ver dónde se han producido los cambios. Puede desplazar el puntero sobre los puntos del gráfico para identificar la fecha del cambio.
Esta herramienta puede tardar mucho tiempo en ejecutarse y requiere espacio en disco significativo para almacenar los resultados. Para mejorar el tiempo de procesamiento y reducir la cantidad de espacio de almacenamiento, se recomiendan los siguientes pasos:
- Desactive el entorno Pirámide. Desactive la casilla de verificación Generar pirámides en el panel Entorno o defina el entorno como NONE en Python.
- Establezca el entorno Compresión en LERC y cambie el valor de Error máximo a 0.000001.
- Si espera ejecutar la herramienta Cambiar usando el ráster de análisis de cambios en la salida de esta herramienta varias veces, cree una transposición multidimensional en el resultado.
Esta herramienta produce un dataset ráster multidimensional en formato de ráster de nube (CRF). En este momento, no se admite ningún otro formato de salida.
Sintaxis
AnalyzeChangesUsingLandTrendr(in_multidimensional_raster, {processing_band}, {snapping_date}, {max_num_segments}, {vertex_count_overshoot}, {spike_threshold}, {recovery_threshold}, {prevent_one_year_recovery}, {recovery_trend}, {min_num_observations}, {best_model_proportion}, pvalue_threshold, {output_other_bands})
Parámetro | Explicación | Tipo de datos |
in_multidimensional_raster | El dataset ráster multidimensional de entrada. | Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; File |
processing_band (Opcional) | La banda que se utilizará para segmentar las trayectorias de valores de píxel a lo largo del tiempo. Elija la banda que capturará mejor los cambios en la entidad que desea observar. Si no se especifica ningún valor de banda y la entrada es imágenes multibanda, se utilizará la primera banda de la imagen multibanda. | String |
snapping_date (Opcional) | La fecha utilizada para seleccionar una división para cada año en el dataset multidimensional de entrada. Se seleccionará la división con la fecha más cercana a la fecha de ajuste. Este parámetro es obligatorio si el dataset de entrada contiene datos subanuales. El valor predeterminado es 06-30 o 30 de junio, aproximadamente a mediados del año natural. | String |
max_num_segments (Opcional) | Número máximo de segmentos que se ajustarán a la serie temporal para cada píxel. El valor predeterminado es 5. | Long |
vertex_count_overshoot (Opcional) | El número de vértices adicionales por encima de max_num_segments + 1 que se puede utilizar para ajustar el modelo durante la etapa inicial de identificación de vértices. Más adelante en el proceso de modelado, el número de vértices adicionales se reducirá a max_num_segments + 1. El valor predeterminado es 2. | Long |
spike_threshold (Opcional) | Umbral que se va a utilizar para atenuar picos o anomalías en la trayectoria del valor de píxel. El valor debe estar entre 0 y 1, donde 1 significa que no hay atenuación. El valor predeterminado es 0,9. | Double |
recovery_threshold (Opcional) | Valor del umbral de recuperación, en años. Si un segmento tiene una tasa de recuperación más rápida que 1/recovery threshold, el segmento se descarta y no se incluye en el modelo de serie temporal. El valor debe estar comprendido entre 0 y 1. El valor predeterminado es 0,25. | Double |
prevent_one_year_recovery (Opcional) | Especifica si se excluirán los segmentos que presentan una recuperación de un año.
| Boolean |
recovery_trend (Opcional) | Especifica si la recuperación tiene una tendencia creciente (positivo).
| Boolean |
min_num_observations (Opcional) | Número mínimo de observaciones válidas necesarias para realizar el ajuste. El número de años del dataset multidimensional de entrada debe ser igual o mayor que este valor. El valor predeterminado es 6. | Long |
best_model_proportion (Opcional) | El mejor valor de proporción de modelo. Durante el proceso de selección de modelo, la herramienta calculará el valor p de cada modelo y seleccionará un modelo que tenga la mayor cantidad de vértices mientras mantiene el valor p más pequeño (más significativo) basado en este valor de proporción. Un valor de 1 significa que el modelo tiene el valor p más bajo, pero es posible que no tenga un número elevado de vértices. El valor predeterminado es 1,25. | Double |
pvalue_threshold | Umbral de valor p correspondiente a un modelo que se va a seleccionar. Una vez detectados los vértices en la etapa inicial del ajuste del modelo, la herramienta ajustará cada segmento y calculará el valor p para determinar la importancia del modelo. En la siguiente iteración, el modelo disminuirá el número de segmentos en uno y volverá a calcular el valor p. Esto continuará y, si el valor p es menor que el valor especificado en este parámetro, el modelo se seleccionará y la herramienta dejará de buscar un modelo mejor. Si no se selecciona ningún modelo, la herramienta seleccionará un modelo con un valor p menor que el lowest p-value × best model proportion value. El valor predeterminado es 0,01. | Double |
output_other_bands (Opcional) | Especifica si se incluirán otras bandas en el proceso de segmentación.
| Boolean |
Valor de retorno
Nombre | Explicación | Tipo de datos |
out_multidimensional_raster | El dataset ráster multidimensional de formato de ráster de nube (CRF) de salida. Ráster de análisis de cambio de salida que contiene información del modelo del análisis LandTrendr. | Raster |
Muestra de código
En este ejemplo se realiza el algoritmo LandTrendr para la detección de cambios en una serie temporal de datos NDVI.
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
changeAnalysisRaster = arcpy.ia.AnalyzeChangesUsingLandTrendr(
"Monthly_NDVI_30_years.crf","","",10,3,0.9,0.25, 'PREVENT_ONE_YEAR_RECOVERY',
'INCREASING_TREND',10,1.25,0.05, 'EXCLUDE_OTHER_BANDS')
# Save output
changeAnalysisRaster.save(r"C:\data\NDVI_ChangeAnalysis.crf")
Este ejemplo realiza una detección de cambio continuo en una serie temporal de imágenes de Landsat.
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Define input parameters
in_multidimensional = r"C:\data\Landsat_time_series.crf"
processing_band = "Band_4"
snapping_date = ""
max_num_segments = 10
vertex_count_overshoot = 3
spike_threshold = 0.9
recovery_threshold = 0.25
prevent_one_year_recovery = "PREVENT_ONE_YEAR_RECOVERY"
recovery_trend = "INCREASING_TREND"
min_num_observations = 6
best_model_proportion = 1.25
pvalue_threshold = 0.01
output_other_bands = "EXCLUDE_OTHER_BANDS"
# Execute
changeAnalysisRaster = arcpy.ia.AnalyzeChangesUsingCCDC(
in_multidimensional, processing_band, snapping_date, max_num_segments,
vertex_count_overshoot, spike_threshold, recovery_threshold, prevent_one_year_recovery,
recovery_trend, min_num_observations, best_model_proportion, pvalue_threshold, output_other_bands)
# Save output
changeAnalysisRaster.save(r"C:\data\Landsat_ChangeAnalysis.crf")
Entornos
Información de licenciamiento
- Basic: Requiere Image Analyst
- Standard: Requiere Image Analyst
- Advanced: Requiere Image Analyst