Más

Geopandas: contar el número de píxeles ráster dentro de un polígono de shapefile

Geopandas: contar el número de píxeles ráster dentro de un polígono de shapefile


Tengo un shapefile que cargué como un marco de datos de geopandas y tiene una columna de geometría que contiene polígonos y multipolígonos.

Mi objetivo final es hacer algunos cálculos zonales en un ráster GeoTiff, en particular, quiero calcular el valor medio dentro de cada polígono, y también contar el número de píxeles que contribuyeron a esa media zonal del polígono. Aquí hay un enlace a otra pregunta mía sobre GIS-SE que describe mis intentos de hacer eso hasta ahora usando GDAL y rasterstats.

Me pregunto si los geopandas ya están a la altura de los cálculos zonales. Si abro un ráster en GDAL / numpy / rasterio y cargo el shapefile en un marco de datos geopandas, ¿hay alguna manera de calcular el número de píxeles ráster dentro de cada polígono?


Puede hacer estadísticas zonales desde un GeoDataFrame directamente en un GeoTiff usando rasterstats.

de rasterstats importar zonal_stats importar geopandas como gpd geodf = gpd.read_file ("foo.shp") zonal_stats (geodf, "bar.tif")

Hay algunos buenos ejemplos de integración de rasterstats en la wiki.


Por "contar el número de píxeles", ¿se refiere al área de cada polígono? Si es así,

mygeodf.area

Análisis de sensibilidad de umbral de cuerpos de agua DEA ¶

Compatibilidad: Portátil actualmente compatible únicamente con el entorno NCI.

Productos utilizados: Ninguno

Requisitos especiales:

Archivos NetCDF con salidas WOfS que se utilizarán para definir los polígonos de cuerpos de agua persistentes

Esta carpeta puede ser una extracción personalizada de estadísticas de cubo de datos (como se hizo aquí), o puede optar por utilizar los mosaicos de resumen de WOfS para toda Australia.

Conjunto de datos de polígono urbano de gran altura

Nombre de variable: UrbanMaskFile.

WOfS tiene una limitación conocida, donde las sombras profundas arrojadas por edificios altos de CBD se clasifican erróneamente como agua. Esto da como resultado "masas de agua" alrededor de estas sombras mal clasificadas en las capitales.

Requisitos previos: Este cuaderno explora la sensibilidad del rango de tiempo del análisis WOfS y los umbrales de humedad durante el análisis de cuerpos de agua DEA (consulte este cuaderno para conocer la implementación de estos umbrales). Ha sido diseñado con ese propósito muy específico en mente y no está diseñado como un cuaderno de análisis general.


Pyprecag.processing¶

Convierta un límite de polígono en un ráster 0,1 y genere una lista de coordenadas compatible con VESPER para kriging.

Requisitos: El archivo de forma de entrada debe estar en un sistema de coordenadas proyectadas …… ..

Esto funciona, pero la extensión de la salida difiere de la de un ráster generado por arcpy. Ver publicación: https://gis.stackexchange.com/q/139336

y extensión de cuadrícula de bloque para cada polígono de shapefile.

Utilice esta herramienta para crear imágenes de una sola banda, una para cada combinación de índice y polígono de shapefile. Se puede usar una columna de grupo por para disolver múltiples polígonos que pertenecen a un bloque individual.

Si no se especifica un shapefile de polígono, los polígonos se crearán a partir de la máscara de las imágenes.

El shapefile del polígono se volverá a proyectar para que coincida con el archivo de imagen

Se creará una cuadrícula de bloques para cada característica para el tamaño de píxel nominado y se utilizará como base para el análisis

“Image_epsg” y “image_nodata” se pueden usar para establecer el sistema de coordenadas y los valores de nodatos de la imagen cuando no están presentes en el archivo de imagen.

El nombre del archivo de salida constará de la función seleccionada y el índice calculado.

  • Vuelva a proyectar la imagen a un nuevo sistema de coordenadas si es necesario.
  • Calcular índices
  • Disolver polígonos opcionalmente usando la columna group-by
  • Crear cuadrícula de bloques
  • Recortar imagen a polígono
  • Remuestrear y ajustar a la cuadrícula de bloque para un tamaño de píxel y usando la técnica de remuestreo promedio
  • Identificar agujeros y rellenar si es necesario
  • imagen suave con un promedio móvil de 5x5 píxeles (estadísticas_focuales)
  • archivo de imagen (str) - el archivo de imagen de entrada
  • tamaño_píxel (En t): El tamaño de píxel utilizado para el remuestreo
  • band_map (pyprecag.bandops.BandMapping) - Un diccionario que empareja los números de banda con el tipo de banda (es decir, rojo, verde, azul, etc.)
  • out_folder (str): La carpeta de salida de las imágenes creadas.
  • índices (Lista[str]): La lista de índices para calcular.
  • image_epsg (En t) - número epsg de la imagen que se utilizará cuando falte en la imagen
  • image_nodata (En t) - valor nodata de la imagen que se utilizará cuando falte en la imagen
  • polygon_shapefile (str): Un archivo de forma poligonal que se utiliza para cortar una imagen.
  • agrupar por (str): La columna / campo que se utilizará para agrupar varias funciones.
  • out_epsg (En t) - El número epsg que representa el sistema de coordenadas de las imágenes de salida.

la lista de imágenes creadas.

Limpiar y / o recortar un marco de datos de puntos.

  • Recortar datos al polígono.
  • Mueva los datos a un sistema de coordenadas proyectadas.
  • Eliminar valores donde data_column son menores o iguales que cero
  • Calcule el valor normalizado para data_column (número de StDev).
  • Recorte iterativamente los valores atípicos según la columna de datos normalizada
  • Eliminar puntos más cercanos que una distancia establecida (trim_dist_m)
  • points_geodataframe (geopandas.geodataframe.GeoDataFrame) - El geodataframe de los puntos de entrada
  • points_crs (pyprecag_crs.crs) - El sistema de referencia espacial de point_geodataframe
  • columna_proceso (str) - La columna para normalizar, recortar y limpiar.
  • output_csvfile (str) - El archivo CSV de salida recortado y limpiado
  • out_keep_shapefile (str) - Opcionalmente, guarde Trimmed & amp Cleaned en un shapefile
  • out_removed_shapefile (str) - Guarde opcionalmente un archivo de forma que contenga las características eliminadas durante la limpieza / filtrado. Se agregará una columna llamada filtro que muestra la razón por la que se eliminó un punto.
  • boundary_polyfile (str) - Opcionalmente, un polígono utilizado para recortar los puntos.
  • remove_zeros (bool) - Opcionalmente, elimine los valores donde data_column & lt = a cero antes de eliminar los valores atípicos.
  • stdevs (En t): El número de desviaciones estándar utilizadas para recortar valores atípicos
  • iterativo (bool) - Opcionalmente, recorte de forma iterativa los valores atípicos en función de la columna de datos normalizados
  • thin_dist_m (flotador): Una distancia en metros que representa la distancia mínima permitida entre puntos. Se eliminarán los puntos inferiores a esta distancia.

Representando el archivo de datos limpiado / recortado. Las nuevas columnas incluidas en la salida son:

Este, Norte: las coordenadas del punto en un sistema de coordenadas proyectadas. EN_Epsg: el número epsg del sistema de coordenadas proyectadas Nrm_: normaliza el cálculo de la columna de datos.

pyprecag_crs.crs: el objeto pyprecag CRS del marco de datos de puntos.

Agregue puntos a lo largo de una línea usando una distancia especificada y cree puntos paralelos a la izquierda / derecha desplazados por una distancia.

Si las líneas están en un sistema de coordenadas geográficas, se volverán a proyectar a un sistema de coordenadas proyectadas.

Todas las líneas en contacto se tratarán como una. La geometría de varias partes se convertirá en geometría de una sola pieza. El primer y último punto se desplazarán desde el inicio / final de la línea de manera uniforme. Se perderán los atributos de las líneas de entrada.

line_crs se utiliza para garantizar que se mantenga la definición de wkt correcta cuando se utilizan geopandas.

  • lines_geodataframe (geopandas.geodataframe.GeoDataFrame) - Un marco de datos de Geopandas que contiene líneas
  • lines_crs (pyprecag.crs.crs) - El sistema de coordenadas detallado
  • distancia_entre_puntos (En t) - La distancia de separación entre puntos.
  • offset_distance (En t) - La distancia entre el punto Strip y el punto paralelo.
  • out_epsg (En t) - Opcionalmente, especifique el número epsg para el sistema de coordenadas de salida. Este debería ser un sistema de coordenadas de proyecto
  • out_points_shapefile (str) - Opcionalmente, especifique la ruta del shapefile y el nombre del archivo usado para guardar los puntos. Si no se proporciona una ruta, guardará el archivo en TEMPDIR de forma predeterminada.
  • out_lines_shapefile (str) - Opcionalmente, especifique la ruta del shapefile y el nombre del archivo que se usará para guardar las líneas. Si no se proporciona una ruta, guardará el archivo en TEMPDIR de forma predeterminada

El geodataframe que contiene los puntos creados. pyprecag.crs.crs: El sistema de coordenadas del geodataframe de puntos y líneas. geopandas.geodataframe.GeoDataFrame: el geodataframe que contiene las líneas creadas.

Cree un polígono a partir de un Point Trail creado a partir de un archivo que contiene coordenadas GPS.

El orden de los puntos debe ordenarse aumentando la secuencia de tiempo para garantizar que el "punto a punto" se produzca correctamente.

El flujo de trabajo es el siguiente: Puntos - & gt Líneas - & gt Salida de búfer (expandir) - & gt Entrada de búfer (contraer)

Por eficiencia, los puntos se adelgazarán. Esto eliminará puntos menos que el thinDist establecido. Los puntos resultantes se conectarán para formar líneas.

Los extremos de línea se detectan donde la distancia entre puntos es mayor que la distancia agregada. Esto ocurrirá en un punto de inflexión o interrupción (es decir, un arroyo) y la recolección de puntos gps es

detenido. Normalmente, esta distancia es ligeramente mayor que el ancho de hilera / franja.

El almacenamiento en búfer se utiliza para convertir a polígono y eliminar el espacio entre row_count / swaths. La distancia de amortiguación suele ser la mitad del ancho de hilera / franja.

El almacenamiento en búfer con un valor negativo se utiliza para eliminar el exceso de área en el exterior del polígono. Esta distancia de contracción suele ser unos 7 m menos que la distancia de amortiguación.

  • points_geodataframe (geopandas.geodataframe.GeoDataFrame) - Geodataframe vectorial de puntos de entrada
  • points_crs (pyprecag_crs.crs) - El sistema de referencia espacial proyectado de point_geodataframe
  • out_filename (str) - Archivo de polígono de salida. Debe tener el mismo formato que la entrada.
  • thin_dist_m (flotador): La distancia mínima en metros entre puntos que se utilizará para reducir el conjunto de datos de puntos.
  • aggregate_dist_m (En t): Un número flotante que representa la distancia máxima entre puntos. Se utiliza para detectar un final de línea. Por lo general, es un poco más grande que el ancho de la hilera / franja.
  • buffer_dist_m (En t) - La distancia de la zona de influencia en metros. Normalmente, la mitad del ancho de hilera o hilera.
  • shrink_dist_m (En t) - La distancia de contracción en metros. Por lo general, alrededor de 7 menos que la distancia del búfer.

Extraiga estadísticas de una lista de rásteres en ubicaciones establecidas.

Todos los archivos ráster de la lista deben tener el mismo tamaño de píxel. Si bien se admiten archivos ráster multibanda como entrada, las estadísticas solo se calcularán y extraerán para la primera banda.

Las estadísticas se calculan sobre valores de píxeles con una vecindad cuadrada y se guardan en un archivo CSV.

Los píxeles asignados con Nodata se convierten a np.nan y se excluyen de los cálculos.

Todas las columnas originales se incluyen en el archivo csv de salida, además de las columnas que contienen los valores para cada combinación de estadísticas ráster - & gt tamaño - & gt. Los nombres de las columnas pueden especificarse o derivarse mediante el argumento out_colname en raster_ops.focal_statistics.

Se puede utilizar un tamaño de 1 para extraer valores de píxeles exactos y no se calculan estadísticas.

  • points_geodataframe (geopandas.geodataframe.GeoDataFrame): El geodataframe de puntos de entrada de ubicaciones para extraer estadísticas.
  • points_crs (pyprecag_crs.crs) - El sistema de referencia espacial de point_geodataframe
  • archivos raster (Lista[str]): La lista de rutas y nombres de archivos amp para los rásteres de entrada
  • output_csvfile (str): La ruta y el nombre de archivo del CSV de salida.
  • lista_funciones (Lista[función]): Una lista de funciones estadísticas para aplicar al ráster. Estos pueden incluir numerosas funciones como np.nanmean o personalizadas como pixel_count
  • lista_tamaño (Lista[En t]): La lista de tamaños de vecindario utilizada para aplicar el filtrado estadístico.

marco de datos de los puntos y estadísticas calculadas pyprecag_crs.crs: El objeto pyprecag CRS del marco de datos de puntos.

Cree zonas con agrupación de k-means a partir de varios archivos ráster como se describe en

Solo se utilizará la primera banda de cada ráster.

La extensión de la imagen TIFF de salida será la extensión mínima de superposición de las imágenes de entrada. Cada imagen se volverá a muestrear en una coordenada fija para garantizar que los píxeles entre las imágenes se alineen.

  • raster_files (Lista[str]): La lista de archivos ráster de entrada
  • output_tif (str): El archivo TIFF de salida
  • n_clusters (En t): La cantidad de clústeres / zonas que se crearán.
  • max_iteraciones (En t): Número máximo de iteraciones para el algoritmo k-means en una sola ejecución.

Un marco de datos que contiene estadísticas de clúster para cada imagen.

Utilice esta herramienta para crear imágenes de bandas individuales para cada polígono dentro de un shapefile. Se puede usar una columna de grupo por para disolver múltiples polígonos que pertenecen a un bloque individual. El ajuste de rásteres a un bloque base (cuadrícula) garantiza un análisis multicapa más fácil y preciso que requiere la agricultura de precisión.

  • Disolver polígonos opcionalmente usando la columna group-by
  • Crear cuadrícula de bloques
  • Recortar imagen a polígono
  • Remuestrear y ajustar a la cuadrícula de bloque para un tamaño de píxel y usando la técnica de remuestreo promedio
  • Identifique los agujeros y rellénelos si es necesario
  • imagen suave con un promedio móvil de 5x5 píxeles (estadísticas_focuales)

Si no se especifica un shapefile de polígono, los polígonos se crearán a partir de la máscara de las imágenes.

El shapefile del polígono se volverá a proyectar para que coincida con el archivo de imagen

Se creará una cuadrícula de bloques para cada característica para el tamaño de píxel nominado y se utilizará como base para el análisis

“Image_epsg” e “image_nodata” se pueden utilizar para establecer el sistema de coordenadas y los valores de nodatos de la imagen cuando no están presentes en el archivo de imagen.

El nombre del archivo de salida consistirá en el número de banda seleccionado o el valor de la etiqueta de nombre personalizado rasterio de una banda

  • archivo de imagen (str): Una imagen de entrada
  • tamaño_píxel (En t,flotador): El tamaño de píxel de salida deseado en metros.
  • out_folder (str): La carpeta de salida de las imágenes creadas.
  • band_nums (Lista[En t]) - una lista de números de banda para procesar. Si está vacío, se usarán todas las bandas
  • image_epsg (En t): El número epsg de la imagen. Solo se usa si no lo proporciona la imagen.
  • image_nodata (En t): El valor de nodata de la imagen. Solo se usa si no lo proporciona la imagen.
  • polygon_shapefile (str): Un archivo de forma poligonal que se utiliza para cortar una imagen.
  • agrupar por (str): La columna / campo que se utilizará para agrupar varias funciones.

Determinar la persistencia del rendimiento a lo largo de varios años como se describe en Bramley y Hamilton (2005).

El método "Objetivo durante todos los años" asigna un valor a cada píxel para indicar el número de instancias (en la lista de ráster) en las que ese píxel era menor o mayor que la media (+/- un porcentaje designado) de ese ráster. .

Todos los rásteres de entrada DEBEN superponerse y tener el mismo sistema de coordenadas y tamaño de píxel.

Si se omite una ruta de output_tif, se creará en su carpeta temporal.

Bramley RGV, Hamilton RP (2005) Comprensión de la variabilidad en los sistemas de producción de uvas para vino 1. Variación del rendimiento dentro del viñedo en varias añadas. Revista australiana de investigación de la uva y el vino 10, 32-45. doi: 10.1111 / j.1755-0238.2004.tb00006.x.

  • raster_files (Lista[str]) - Lista de rásteres para usar como entradas
  • output_tif (str) - Archivo TIF de salida
  • mas grande que (bool) - si es verdadero, prueba por encima de (gt) la media
  • porcentaje_objetivo (En t) - la variación porcentual por encima o por debajo de la media. Debe ser un número entero entre -50 y 50

El método de "probabilidad objetivo" se basa en el método objetivo durante todos los años, ya que incluye un rango superior (es decir, celdas con una frecuencia determinada de valores que están por encima de la media +/- a

Se asigna un valor a cada píxel que indica si el rendimiento en ese píxel durante una determinada proporción de años es:

Todos los rásteres de entrada DEBEN superponerse y tener el mismo sistema de coordenadas y tamaño de píxel.

Si se omite una ruta de output_tif, se creará en su carpeta temporal.

Bramley RGV, Hamilton RP (2005) Comprensión de la variabilidad en los sistemas de producción de uvas para vino 1. Variación del rendimiento dentro del viñedo en varias añadas. Revista australiana de investigación de la uva y el vino 10, 32-45. doi: 10.1111 / j.1755-0238.2004.tb00006.x.

  • upper_raster_files (Lista[str]) - Lista de rásteres que se utilizarán para el análisis de la categoría SUPERIOR
  • porcentaje_de_modelo (En t): La variación porcentual por encima o por debajo de la media que se aplicará a la categoría de ráster SUPERIOR.
  • probabilidad_principal (En t) - el porcentaje de probabilidad que se aplicará a la categoría INFERIOR
  • lower_raster_files (Lista[str]) - Lista de rásteres que se utilizarán para el análisis de la categoría INFERIOR
  • porcentaje_inferior (En t): La variación porcentual por encima o por debajo de la media que se aplicará a la categoría de ráster INFERIOR.
  • probabilidad_inferior (En t) - el porcentaje de probabilidad que se aplicará a la categoría INFERIOR
  • output_tif (str) - Archivo TIF de salida

Seleccione píxeles de datos válidos distribuidos aleatoriamente de un archivo ráster y conviértalos en puntos que representen el centro del píxel. Hay una opción para guardar en shapefile si es necesario.

Al abrir un ráster usando RasterIO, el sistema de coordenadas se importa de la cadena Proj4 y se convierte en un crs_wkt. Esto significa que el crs_wkt registrado en el conjunto de datos abierto no siempre es igual al crs_wkt del archivo ráster original. Para remediar esto, use pyprecag_crs.getCRSfromRasterFile para crear un objeto crs

  • raster (rasterio.io.DatasetReader) - Archivo ráster abierto a través de rasterio.open (os.path.normpath ())
  • num_puntos (En t): El número de puntos de muestra aleatorios para seleccionar.
  • raster_crs (pyprecag_crs.crs): El sistema de referencia espacial para el archivo ráster
  • out_shapefile (str) - Opcional .. la ruta y el nombre de un shapefile usado para guardar los puntos.

Un marco de datos que contiene los píxeles seleccionados como puntos. Pyprecag_crs.crs: El objeto pyprecag CRS del marco de datos de puntos.

Utilice esta herramienta para crear imágenes de bandas individuales para cada polígono dentro de un shapefile. Se puede usar una columna de grupo por para disolver múltiples polígonos que pertenecen a un bloque individual. El ajuste de rásteres a un bloque base (cuadrícula) garantiza un análisis multicapa más fácil y preciso que requiere la agricultura de precisión.

  • Reproyectar la imagen al sistema de coordenadas designado
  • Disolver polígonos opcionalmente usando la columna groupby
  • Crear cuadrícula de bloques
  • Recortar imagen a polígono
  • Remuestrear y ajustar a la cuadrícula de bloque para un tamaño de píxel y usando la técnica de remuestreo promedio
  • Identifique los agujeros y rellénelos si es necesario
  • imagen suave con un promedio móvil de 5x5 píxeles (estadísticas_focuales)

Si no se especifica un shapefile de polígono, los polígonos se crearán a partir de la máscara de las imágenes.

El shapefile del polígono se volverá a proyectar para que coincida con el archivo de imagen

Se creará una cuadrícula de bloques para cada característica para el tamaño de píxel nominado y se utilizará como base para el análisis

“Image_epsg” e “image_nodata” se pueden utilizar para establecer el sistema de coordenadas y los valores de nodatos de la imagen cuando no están presentes en el archivo de imagen.

El nombre del archivo de salida consistirá en el número de banda seleccionado o el valor de la etiqueta de nombre personalizado rasterio de una banda

  • archivo de imagen (str): Una imagen de entrada
  • tamaño_píxel (En t,flotador): El tamaño de píxel de salida deseado en metros.
  • out_folder (str): La carpeta de salida de las imágenes creadas.
  • band_nums (Lista[En t]) - una lista de números de banda para procesar. Si está vacío, se usarán todas las bandas
  • image_epsg (En t) - número epsg de la imagen que se utilizará cuando falte en la imagen
  • image_nodata (En t) - valor nodata de la imagen que se utilizará cuando falte en la imagen
  • polygon_shapefile (str): Un archivo de forma poligonal que se utiliza para cortar una imagen.
  • agrupar por (str): La columna / campo que se utilizará para agrupar varias funciones.
  • out_epsg (En t): El número epsg que representa el sistema de coordenadas de salida.

Ejecute un análisis de prueba t de ventana móvil para una prueba de tira como se describe en Lawes y Bramley (2012).

El formato de los puntos debe ser de las herramientas create_points_along_line. Todos los rásteres de entrada deben tener el mismo sistema de coordenadas y tamaño de píxel y superponerse con los puntos.


Mantenimiento de recursos Frecuencia de actualización anual

Sistema de coordenadas ArcGIS * Tipo Proyectado * Referencia de coordenadas geográficas GCS_North_American_1983 * Proyección NAD_1983_UTM_Zone_15N * Detalles de referencia de coordenadas Sistema de coordenadas proyectadas Identificador conocido 26915 Origen X -5120900 Origen Y -9998100 Escala XY 10000 Origen Z -100000 Escala Z 10000 M origen -100000 Escala M 10000 Tolerancia XY 0,001 Tolerancia Z 0,001 Tolerancia M 0,001 Alta precisión verdadera Último identificador conocido 26915 Texto conocido PROJCS ["NAD_1983_UTM_Zone_15N", GEOGCS ["GCS_North_American_1983", DATUM ["D_North_American_1983", SPHEROID280 [",21 ]], PRIMEM ["Greenwich", 0.0], UNIDAD ["Grado", 0.0174532925199433]], PROYECCIÓN ["Transverse_Mercator"], PARAMETER ["False_Easting", 500000.0], PARAMETER ["False_Northing", 0.0], PARAMETER [" Central_Meridian ", - 93.0], PARAMETER [" Scale_Factor ", 0.9996], PARAMETER [" Latitude_Of_Origin ", 0.0], UNIT [" Meter ", 1.0], AUTHORITY [" EPSG ", 26915]]
Identificador del sistema de referencia * Valor 26915 * Espacio de código EPSG * Versión 8.2.6


Geopandas: contando el número de píxeles ráster dentro de un polígono de shapefile - Sistemas de Información Geográfica

Tengo dos archivos INEGI de México (1990 y 2010) que quiero usar la misma proyección. El archivo de 2010 funciona bien (ver más abajo) y me gustaría que el archivo de 1990 coincida con el de 2010. Los shapefiles son de todo México y tienen información detallada sobre varias ciudades. En este momento, el archivo prj de 1990 dice:

Me gustaría que el archivo coincida con mi archivo de 2010, que dice:

Sistema de coordenadas proyectadas: Conica Conforme de Lambert Proyección: Lambert_Conformal_Conic False_Easting: 2500000.00000000 False_Northing: 0.00000000 Central_Meridian: -102.00000000 Standard_Parallel_1: 17.50000000 Standard_Parallel_2: 29.50000000 Scale_Factor: 1.

Sistema de coordenadas geográficas: ITRF92 Datum: D_GRS_1980 Primer meridiano: Greenwich Unidad angular: Grado

He construido a continuación un archivo de texto conocido (WKT) para el sistema de coordenadas proyectadas que están usando sus datos. Debe copiarlo en un archivo de texto que tenga la extensión ".prj". La cadena WKT debe ser una sola línea. Coloque el archivo de texto en su carpeta de instalación de ArcGIS, luego "Sistemas de coordenadas, Sistemas de coordenadas proyectadas". Cuando desee proyectar sus datos de 1990, utilice este sistema de coordenadas como sistema de coordenadas de salida / objetivo.

Alternativamente, puede importar el sistema de coordenadas de sus datos de 2010. En cierto modo, es una mejor solución porque asegurará que las definiciones coincidan entre los datos de 1990 y 2010.


PROJCS ["Conic Conforme de Lambert", GEOGCS ["GCS_ITRF_1992", DATUM ["D_GRS_1980", SPHEROID ["GRS_1980", 6378137.0,298.257222101]], PRIMEM ["Greenwich", 0.0], UNIT ["Grado", 0.0199433] ], PROYECCIÓN ["Lambert_Conformal_Conic"], PARAMETER ["False_Easting", 2500000.0], PARAMETER ["False_Northing", 0.0], PARAMETER ["Central_Meridian", - 102.0], PARAMETER ["Standard_Parallel_1", 17.5 ", PARAMETER [" Standard_Parallel_1 ", 17.5], PARAMETER ", 29.5], PARAMETER [" Latitude_of_Origin ", 12.0], UNIT [" Meter ", 1.0]]



Módulo arosics.plotting¶

Paquete de nivel superior para arosics.

clase arósicos. COREG ( im_ref , im_tgt , path_out = Ninguno , fmt_out = 'ENVI' , out_crea_options = Ninguno , r_b4match = 1 , s_b4match = 1 , wp = (Ninguno, Ninguno) , ws = (256, 256) , max_iter = 5 , max_shift = 5 , align_grids = Falso , match_gsd = Falso , out_gsd = Ninguno , target_xyGrid = Ninguno , resamp_alg_deshift = 'cubic' , resamp_alg_calc = 'cúbico' , footprint_poly_ref = Ninguno , footprint_poly_tgt = Ninguno , data_corners_ref = Ninguno , data_corners_tgt = Ninguno , nodata = (Ninguno, Ninguno) , calc_corners = Verdadero , binary_ws = Verdadero , mask_baddata_ref = Ninguno , mask_baddata_tgt = Ninguno , CPU = Ninguno , force_quadratic_win = Verdadero , progreso = Verdadero , v = falso , path_verbose_out = Ninguno , q = falso , ignore_errors = Falso ) [fuente] ¶

La clase COREG detecta y corrige los cambios X / Y globales entre un objetivo y una imagen de referencia.

Los cambios geométricos se calculan en una posición de imagen específica (ajustable). La corrección realiza un cambio global en la dirección X o Y.

¡Consulte la ayuda (COREG) para obtener documentación!

Obtenga una instancia de la clase COREG.

im_ref (Union [GeoArray, str]): ruta de origen o instancia de GeoArray de la imagen de referencia (se admite cualquier formato de imagen compatible con GDAL)

im_tgt (Union [GeoArray, str]): ruta de origen o instancia de GeoArray de la imagen de destino, es decir, la imagen que se va a cambiar (se admite cualquier formato de imagen compatible con GDAL)

path_out (Opcional [str]) - ruta de destino de la imagen coregistrada - si no hay ninguno (predeterminado), el método correct_shifts () no escribe en el disco - si es "auto": /dir/of/im1/<im1>__shifted_to__<im0>.bsq

fmt_out (str): formato de archivo ráster para el archivo de salida. ignorado si path_out es None. puede ser cualquier formato de archivo ráster compatible con GDAL (por ejemplo, "ENVI", "GTIFF" predeterminado: ENVI). Consulte https://gdal.org/drivers/raster/index.html para obtener una lista completa de los formatos compatibles.

out_crea_options (Opcional [lista]): opciones de creación de GDAL para la imagen de salida, p. Ej. ["CALIDAD = 80", "REVERSIBLE = YES", "WRITE_METADATA = YES"]

r_b4match (int): banda de imagen de referencia que se utilizará para hacer coincidir (comienza con 1 predeterminado: 1)

s_b4match (int): banda de imagen de desplazamiento que se utilizará para hacer coincidir (comienza con 1 predeterminado: 1)

wp (Tupla [flotante, flotante]): posición de la ventana de coincidencia personalizada como coordenada del mapa (X, Y) en la misma proyección como la imagen de referencia (predeterminado: posición central de la superposición de la imagen)

ws (Tupla [int, int]): tamaño de ventana de coincidencia personalizado [píxeles] como tupla (X, Y) (predeterminado: (256,256))

max_iter (int): número máximo de iteraciones para la coincidencia (predeterminado: 5)

max_shift (int): distancia de desplazamiento máxima en unidades de píxeles de la imagen de referencia (predeterminado: 5 px)

align_grids (bool) -

Verdadero: alinea la cuadrícula de coordenadas de entrada con la referencia (no afecta el tamaño de píxel de salida siempre que los tamaños de píxel de entrada y salida sean compatibles (5:30 o 10:30 pero no 4:30), predeterminado = Falso

NOTA: Si se establece en Falso, el registro incorrecto en la imagen de destino se corrige actualizando solo su información de codificación geográfica, es decir, sin realizar ningún remuestreo que conserve los valores de la imagen original (excepto que se necesita un remuestreo por otras razones, por ejemplo, si se dan 'match_gsd', 'out_gsd' o 'target_xyGrid').

match_gsd (bool) - Verdadero: hace coincidir el tamaño del píxel de entrada con el tamaño del píxel de referencia, predeterminado = Falso

out_gsd (Opcional [Tuple [float]]): tamaño de píxel de salida (X / Y) en unidades del sistema de coordenadas de referencia (predeterminado = tamaño de píxel de la imagen de destino), los valores dados se anulan con match_gsd = True

target_xyGrid (Opcional [List [List]]): una lista con una cuadrícula x de destino y una cuadrícula y de destino como [[15,45], [15,45]] Esto anula 'out_gsd', 'align_grids' y 'match_gsd '.

resamp_alg_deshift (str) - el algoritmo de remuestreo que se utilizará para la corrección de desplazamiento (si es necesario) - algoritmos válidos: más cercano, bilineal, cúbico, cubic_spline, lanczos, average, mode, max, min, med, q1, q3 - predeterminado: cubic

resamp_alg_calc (str) - el algoritmo de remuestreo que se utilizará para todos los procesos de deformación durante el cálculo del desplazamiento espacial - algoritmos válidos: más cercano, bilineal, cúbico, cubic_spline, lanczos, average, mode, max, min, med, q1, q3 - predeterminado: cubic (muy recomendable)

footprint_poly_ref (Opcional [str]): polígono de huella de la imagen de referencia (cadena WKT o shapely.geometry.Polygon), p. Ej. "POLYGON ((299999 6000000, 299999 5890200, 409799 5890200, 409799 6000000, 299999 6000000))"

footprint_poly_tgt (Opcional [str]): polígono de huella de la imagen que se va a cambiar (cadena WKT o shapely.geometry.Polygon) p. Ej. "POLYGON ((299999 6000000, 299999 5890200, 409799 5890200, 409799 6000000, 299999 6000000))"

data_corners_ref (Opcional [lista]): asigna las coordenadas de las esquinas de datos dentro de la imagen de referencia. ignorado si se proporciona footprint_poly_ref.

data_corners_tgt (Opcional [lista]): asigna las coordenadas de las esquinas de datos dentro de la imagen que se van a cambiar. se ignora si se proporciona footprint_poly_tgt.

sin datos (Tupla): valores sin datos para la imagen de referencia y la imagen que se cambiará. El valor predeterminado es (Ninguno, Ninguno), lo que indica que no hay un valor específico sin datos para ambas imágenes de entrada.

calc_corners (bool): calcula las posiciones verdaderas de las esquinas del conjunto de datos para obtener una posición de ventana coincidente útil dentro de la superposición de la imagen real (predeterminado: 1 desactivado si se dan "-cor0" y "-cor1"

binary_ws (bool): use dimensiones binarias X / Y para la ventana coincidente (predeterminado: 1)

mask_baddata_ref (Union [GeoArray, str, None]): ruta a un archivo de máscara booleana 2D (o una instancia de GeoArray) para la imagen de referencia donde todos los píxeles de datos incorrectos (por ejemplo, nubes) están marcados con True y los píxeles restantes con False. Debe tener la misma extensión geográfica y proyección que "im_ref". La máscara se utiliza para comprobar si la posición de la ventana de coincidencia elegida es válida en el sentido de datos útiles. De lo contrario, esta posición de ventana se rechaza.

mask_baddata_tgt (Union [GeoArray, str, None]): ruta a un archivo de máscara booleana 2D (o una instancia de GeoArray) para que la imagen se cambie donde todos los píxeles de datos incorrectos (por ejemplo, nubes) se marcan con True y los píxeles restantes con False . Debe tener la misma extensión geográfica y proyección que "im_ref". La máscara se utiliza para comprobar si la posición de la ventana coincidente elegida es válida en el sentido de datos útiles. De lo contrario, esta posición de ventana se rechaza.

CPU (Opcional [int]): número de CPU que se utilizarán durante la ecualización de la cuadrícula de píxeles (predeterminado: Ninguno, lo que significa "todas las CPU disponibles")

force_quadratic_win (bool): fuerza una ventana de coincidencia cuadrática (predeterminado: 1)

Progreso (bool): muestra barras de progreso (predeterminado: verdadero)

v (bool) - modo detallado (predeterminado: falso)

path_verbose_out (Opcional [str]): un directorio de salida opcional para resultados intermedios (si no se proporciona, no se escriben resultados intermedios en el disco)

q (bool) - modo silencioso (predeterminado: falso)

ignore_errors (bool): útil para el procesamiento por lotes. (predeterminado: Falso) En caso de error COREG.success == False y COREG.x_shift_px / COREG.y_shift_px es Ninguno

Calcule un porcentaje de confianza que se utilizará como evaluación de la fiabilidad de los cambios calculados.

scps (ndarray) - espectro de potencia cruzado desplazado

_calc_shifted_cross_power_spectrum ( im0 = Ninguno, im1 = Ninguno, precisión = & ltclass 'numpy.complex64' & gt ) [fuente] ¶

Calcule el espectro de potencia cruzada desplazada para cuantificar los desplazamientos X / Y.

im0 - imagen de referencia

im1 - imagen del sujeto para cambiar

precisión - cuantificarse como un tipo de datos

Matriz numérica 2D del espectro de potencia cruzado desplazado

_calc_subpixel_shifts ( scps ) [fuente] ¶ estático _clip_image ( soy , center_YX , winSzYX ) [fuente] ¶ _find_side_maximum ( scps ) [fuente] ¶ _get_clip_window_properties () [fuente] ¶

Calcule todas las propiedades de la ventana coincidente y la otra ventana.

Estas ventanas se utilizan para leer las posiciones de imagen correspondientes en la referencia y la imagen de destino.

NOTA: Incluso si las dimensiones X e Y de la ventana de destino son iguales, la ventana de salida puede ser NO cuadrática.

Devuelve una versión des-desplazada de self.otherWin como una instancia de GeoArray.

Las dimensiones de salida y los límites geográficos son iguales a los de self.matchWin y los cambios geométricos se corrigen de acuerdo con los cambios X / Y calculados previamente dentro de la ventana de coincidencia. Esto permite la aplicación directa de algoritmos, p. Ej. medir la similitud de la imagen.

El subconjunto de imágenes que se vuelve a muestrear en esta función es siempre el mismo que se ha vuelto a muestrear durante el cálculo de los cambios geométricos (normalmente la imagen con la resolución geométrica más alta).

Instancia de GeoArray de self.otherWin des-desplazado

_get_grossly_deshifted_images ( im0 , im1 , x_intshift , y_intshift ) [fuente] ¶ _get_image_params () [fuente] ¶ Tipo de retorno

Lea la ventana coincidente y la otra ventana como subconjuntos.

La otra ventana se vuelve a muestrear a la resolución y la cuadrícula de píxeles de la ventana correspondiente. El resultado consta de dos imágenes con las mismas dimensiones y exactamente las mismas coordenadas de esquina.

Devuelve un diccionario invertido de coreg_info.

Este diccionario se puede pasar a DESHIFTER para ajustar la imagen de REFERENCIA a la imagen OBJETIVO.

Calcule la posición y el tamaño óptimos de la ventana en unidades de imagen de referencia.

NOTA: Los valores devueltos se calculan de acuerdo con DGM, cloud_mask y trueCornerLonLat.

_get_overlap_properties () [fuente] ¶ Tipo de retorno

Devuelve la posición de la fila / columna del pico dentro del espectro de potencia cruzado dado.

scps (ndarray) - espectro de potencia cruzado desplazado

estático _get_shifts_from_peakpos ( Peakpos , arr_shape ) [source] ¶ Return type

estático _get_total_shifts ( x_intshift , y_intshift , x_subshift , y_subshift ) [source] ¶ _get_updated_map_info ( ) [source] ¶ Return type

_handle_error ( error , warn = False , warnMsg = None ) [source] ¶

Append the given error to self.tracked_errors.

This sets self.success to False and raises the error in case self.ignore_errors = True.

error – instance of an error

warn – whether to give a warning in case error would be ignored otherwise

warnMsg – a custom message for the warning

_set_outpathes ( im_ref , im_tgt ) [source] ¶ Return type

estático _shrink_winsize_to_binarySize ( win_shape_YX , target_size = None ) [source] ¶

Shrink a given window size to the closest binary window size (a power of 2).

NOTE: X- and Y-dimension are handled separately.

win_shape_YX ( tuple ) – source window shape as pixel units (rows,colums)

target_size ( Optional [ tuple ]) – source window shape as pixel units (rows,colums)

_validate_integer_shifts ( im0 , im1 , x_intshift , y_intshift ) [source] ¶ _validate_ssim_improvement ( v = False ) [source] ¶

Compute mean structural similarity index between reference and target image before and after co-registration.

v ( bool ) – verbose mode: shows images of the matchWin, otherWin and shifted version of otherWin

SSIM before an after shift correction

Compute the global X/Y shift between reference and the target image within the matching window.

Return a dictionary containing everything to correct the detected global X/Y shift of the target image.

Correct the already calculated X/Y shift of the target image.

Equalize image grids and projections of reference and target image (align target to reference).

show_cross_power_spectrum ( interactive = False ) [source] ¶

Show a 3D surface of the cross power spectrum.

NOTE: The cross power spectrum is the result from phase correlating the reference and target

image within the matching window.

interactive ( bool ) – whether to return an interactice 3D surface plot based on ‘plotly’ library

Show a web map containing the calculated footprints and overlap area of the input images.

NOTE: This method is intended to be called from Jupyter Notebook.

show_matchWin ( figsize = (15, 15) , interactive = True , after_correction = None , pmin = 2 , pmax = 98 ) [source] ¶

Show the image content within the matching window.

figsize ( tuple ) – figure size

interactive ( bool ) – whether to return an interactive figure based on ‘holoviews’ library

after_correction ( Optional [ bool ]) – True/False: show the image content AFTER shift correction or before None: show both states - before and after correction (default)

pmin – percentage to be used for excluding the darkest pixels from stretching (default: 2)

pmax – percentage to be used for excluding the brightest pixels from stretching (default: 98)

Return True if image similarity within the matching window has been improved by co-registration.

class arosics. COREG_LOCAL ( im_ref , im_tgt , grid_res , max_points = None , window_size = (256, 256) , path_out = None , fmt_out = 'ENVI' , out_crea_options = None , projectDir = None , r_b4match = 1 , s_b4match = 1 , max_iter = 5 , max_shift = 5 , tieP_filter_level = 3 , min_reliability = 60 , rs_max_outlier = 10 , rs_tolerance = 2.5 , align_grids = True , match_gsd = False , out_gsd = None , target_xyGrid = None , resamp_alg_deshift = 'cubic' , resamp_alg_calc = 'cubic' , footprint_poly_ref = None , footprint_poly_tgt = None , data_corners_ref = None , data_corners_tgt = None , outFillVal = - 9999 , nodata = (None, None) , calc_corners = True , binary_ws = True , force_quadratic_win = True , mask_baddata_ref = None , mask_baddata_tgt = None , CPUs = None , progress = True , v = False , q = False , ignore_errors = True ) [source] ¶

COREG_LOCAL applies the algorithm to detect spatial shifts to the whole overlap area of the input images.

Spatial shifts are calculated for each point in grid of which the parameters can be adjusted using keyword arguments. Shift correction performs a polynomial transformation using the calculated shifts of each point in the grid as GCPs. Thus this class can be used to correct for locally varying geometric distortions of the target image.

See help(COREG_LOCAL) for documentation.

Get an instance of COREG_LOCAL.

im_ref ( Union [ GeoArray , str ]) – source path of reference image (any GDAL compatible image format is supported)

im_tgt ( Union [ GeoArray , str ]) – source path of image to be shifted (any GDAL compatible image format is supported)

grid_res ( float ) – tie point grid resolution in pixels of the target image (x-direction)

maximum number of points used to find coregistration tie points

NOTE: Points are selected randomly from the given point grid (specified by ‘grid_res’).

If the point grid does not provide enough points, all available points are chosen.

window_size ( Tuple [ int , int ]) – custom matching window size [pixels] (default: (256,256))

path_out ( Optional [ str ]) – target path of the coregistered image - if None (default), no output is written to disk - if ‘auto’: /dir/of/im1/<im1>__shifted_to__<im0>.bsq

fmt_out ( str ) – raster file format for output file. ignored if path_out is None. Can be any GDAL compatible raster file format (e.g. ‘ENVI’, ‘GTIFF’ default: ENVI). Refer to https://gdal.org/drivers/raster/index.html to get a full list of supported formats.

out_crea_options ( Optional [ list ]) – GDAL creation options for the output image, e.g. [“QUALITY=80”, “REVERSIBLE=YES”, “WRITE_METADATA=YES”]

projectDir ( Optional [ str ]) – name of a project directory where to store all the output results. If given, name is inserted into all automatically generated output paths.

r_b4match ( int ) – band of reference image to be used for matching (starts with 1 default: 1)

s_b4match ( int ) – band of shift image to be used for matching (starts with 1 default: 1)

max_iter ( int ) – maximum number of iterations for matching (default: 5)

max_shift ( int ) – maximum shift distance in reference image pixel units (default: 5 px)

tieP_filter_level ( int ) –

filter tie points used for shift correction in different levels (default: 3). NOTE: lower levels are also included if a higher level is chosen

Level 0: no tie point filtering

filter all tie points out that have a low reliability according to internal tests

filters all tie points out where shift correction does not increase image similarity within matching window (measured by mean structural similarity index)

Level 3: RANSAC outlier detection

min_reliability ( float ) – Tie point filtering: minimum reliability threshold, below which tie points are marked as false-positives (default: 60%) - accepts values between 0% (no reliability) and 100 % (perfect reliability) HINT: decrease this value in case of poor signal-to-noise ratio of your input data

rs_max_outlier ( float ) – RANSAC tie point filtering: proportion of expected outliers (default: 10%)

rs_tolerance ( float ) – RANSAC tie point filtering: percentage tolerance for max_outlier_percentage (default: 2.5%)

align_grids ( bool ) – True: align the input coordinate grid to the reference (does not affect the output pixel size as long as input and output pixel sizes are compatible (5:30 or 10:30 but not 4:30), default = True

match_gsd ( bool ) – True: match the input pixel size to the reference pixel size, default = False

out_gsd ( Optional [ float ]) – output pixel size in units of the reference coordinate system (default = pixel size of the input array), given values are overridden by match_gsd=True

target_xyGrid – a list with a target x-grid and a target y-grid like [[15,45], [15,45]] This overrides ‘out_gsd’, ‘align_grids’ and ‘match_gsd’.

resamp_alg_deshift ( str ) – the resampling algorithm to be used for shift correction (if neccessary) valid algorithms: nearest, bilinear, cubic, cubic_spline, lanczos, average, mode, max, min, med, q1, q3 (default: cubic)

resamp_alg_calc ( str ) – the resampling algorithm to be used for all warping processes during calculation of spatial shifts valid algorithms: nearest, bilinear, cubic, cubic_spline, lanczos, average, mode, max, min, med, q1, q3 (default: cubic (highly recommended))

footprint_poly_ref ( Optional [ str ]) – footprint polygon of the reference image (WKT string or shapely.geometry.Polygon), e.g. ‘POLYGON ((299999 6000000, 299999 5890200, 409799 5890200, 409799 6000000, 299999 6000000))’

footprint_poly_tgt ( Optional [ str ]) – footprint polygon of the image to be shifted (WKT string or shapely.geometry.Polygon) e.g. ‘POLYGON ((299999 6000000, 299999 5890200, 409799 5890200, 409799 6000000, 299999 6000000))’

data_corners_ref ( Optional [ list ]) – map coordinates of data corners within reference image. ignored if footprint_poly_ref is given.

data_corners_tgt ( Optional [ list ]) – map coordinates of data corners within image to be shifted. ignored if footprint_poly_tgt is given.

outFillVal ( int ) – if given the generated tie point grid is filled with this value in case no match could be found during co-registration (default: -9999)

nodata ( Tuple [ int , int ]) – no data values for reference image and image to be shifted

calc_corners ( bool ) – calculate true positions of the dataset corners in order to get a useful matching window position within the actual image overlap (default: True deactivated if ‘data_corners_im0’ and ‘data_corners_im1’ are given)

binary_ws ( bool ) – use binary X/Y dimensions for the matching window (default: True)

force_quadratic_win ( bool ) – force a quadratic matching window (default: 1)

mask_baddata_ref ( Union [ GeoArray , str , None ]) – path to a 2D boolean mask file (or an instance of BadDataMask) for the reference image where all bad data pixels (e.g. clouds) are marked with True and the remaining pixels with False. Must have the same geographic extent and projection like ‘im_ref’. The mask is used to check if the chosen matching window position is valid in the sense of useful data. Otherwise this window position is rejected.

mask_baddata_tgt ( Union [ GeoArray , str , None ]) – path to a 2D boolean mask file (or an instance of BadDataMask) for the image to be shifted where all bad data pixels (e.g. clouds) are marked with True and the remaining pixels with False. Must have the same geographic extent and projection like ‘im_ref’. The mask is used to check if the chosen matching window position is valid in the sense of useful data. Otherwise this window position is rejected.

CPUs ( Optional [ int ]) – number of CPUs to use during calculation of tie point grid (default: None, which means ‘all CPUs available’)

progress ( bool ) – show progress bars (default: True)

v ( bool ) – verbose mode (default: False)

q ( bool ) – quiet mode (default: False)

ignore_errors ( bool ) – Useful for batch processing. (default: False)

Return a GeoDataFrame containing all the results from coregistration for all points in the tie point grid.

Columns of the GeoDataFrame: ‘geometry’,’POINT_ID’,’X_IM’,’Y_IM’,’X_MAP’,’Y_MAP’,’X_WIN_SIZE’, ‘Y_WIN_SIZE’,

‘X_SHIFT_PX’,’Y_SHIFT_PX’, ‘X_SHIFT_M’, ‘Y_SHIFT_M’, ‘ABS_SHIFT’ and ‘ANGLE’

Return the updated map info of the target image, shifted on the basis of the mean X/Y shifts.

calculate_spatial_shifts ( ) [source] ¶ Return type

Assign the attribute ‘fftw_works’ to self.COREG_obj by executing shift calculation once with muted output.

Return a dictionary containing everthing to correct the detected local displacements of the target image.

correct_shifts ( max_GCP_count = None , cliptoextent = False , min_points_local_corr = 5 ) [source] ¶

Perform a local shift correction using all points from the previously calculated tie point grid.

NOTE: Only valid matches are used as GCP points.

max_GCP_count ( Optional [ int ]) – maximum number of GCPs to use

cliptoextent ( bool ) – whether to clip the output image to its real extent

min_points_local_corr ( int ) – number of valid tie points, below which a global shift correction is performed instead of a local correction (global X/Y shift is then computed as the mean shift of the remaining points)(default: 5 tie points)

property projectDir ¶ Return type

Show a web map containing the calculated footprints and overlap area of the input images.

NOTE: This method is intended to be called from Jupyter Notebook.

property success ¶ Return type

property tiepoint_grid ¶ Return type

view_CoRegPoints ( shapes2plot = 'points' , attribute2plot = 'ABS_SHIFT' , cmap = None , exclude_fillVals = True , backgroundIm = 'tgt' , hide_filtered = True , figsize = None , title = '' , vector_scale = 1.0 , savefigPath = '' , savefigDPI = 96 , showFig = True , vmin = None , vmax = None , return_map = False ) [source] ¶

Show a map of the calculated tie point grid with the target image as background.

shapes2plot – ‘points’: plot points representing values of ‘attribute2plot’ onto the map ‘vectors’: plot shift vectors onto the map

attribute2plot – the attribute of the tie point grid to be shown (default: ‘ABS_SHIFT’)

cmap – a custom color map to be applied to the plotted grid points (default: ‘RdYlGn_r’)

exclude_fillVals – whether to exclude those points of the grid where spatial shift detection failed

backgroundIm – whether to use the target or the reference image as map background. Possible options are ‘ref’ and ‘tgt’ (default: ‘tgt’)

hide_filtered – hide all points that have been filtered out according to tie point filter level

figsize – size of the figure to be viewed, e.g. (10, 10)

title – plot title

vector_scale – scale factor for shift vector length (default: 1 -> no scaling)

savefigPath

showFig – whether to show or to hide the figure

view_CoRegPoints_folium ( attribute2plot = 'ABS_SHIFT' ) [source] ¶ class arosics. DESHIFTER ( im2shift , coreg_results , ** kwargs ) [source] ¶

Class to deshift an image array or one of its products by applying previously the computed coregistration info.

See help(DESHIFTER) for documentation.

Get an instance of DESHIFTER.

im2shift ( Union [ GeoArray , str ]) – path of an image to be de-shifted or alternatively a GeoArray object

coreg_results (dict) – the results of the co-registration as given by COREG.coreg_info or COREG_LOCAL.coreg_info

path_out (En t) – /output/directory/filename for coregistered results

fmt_out (str) – raster file format for output file. ignored if path_out is None. can be any GDAL compatible raster file format (e.g. ‘ENVI’, ‘GTIFF’ default: ENVI)

out_crea_options (list) – GDAL creation options for the output image, e.g., [“QUALITY=20”, “REVERSIBLE=YES”, “WRITE_METADATA=YES”]

band2process (En t) – The index of the band to be processed within the given array (starts with 1), default = None (all bands are processed)

nodata (float) – no data value of the image to be de-shifted

out_gsd (float) – output pixel size in units of the reference coordinate system (default = pixel size of the input array), given values are overridden by match_gsd=True

align_grids (bool) – True: align the input coordinate grid to the reference (does not affect the output pixel size as long as input and output pixel sizes are compatible (5:30 or 10:30 but not 4:30), default = False

match_gsd (bool) – True: match the input pixel size to the reference pixel size, default = False

target_xyGrid (list) – a list with an x-grid and a y-grid like [[15,45], [15,45]]. This overrides ‘out_gsd’, ‘align_grids’ and ‘match_gsd’.

min_points_local_corr (En t) – number of valid tie points, below which a global shift correction is performed instead of a local correction (global X/Y shift is then computed as the mean shift of the remaining points) (default: 5 tie points)

resamp_alg (str) – the resampling algorithm to be used if neccessary (valid algorithms: nearest, bilinear, cubic, cubic_spline, lanczos, average, mode, max, min, med, q1, q3)

cliptoextent (bool) – True: clip the input image to its actual bounds while deleting possible no data areas outside of the actual bounds, default = False

clipextent (list) – xmin, ymin, xmax, ymax - if given the calculation of the actual bounds is skipped. The given coordinates are automatically snapped to the output grid.

CPUs (En t) – number of CPUs to use (default: None, which means ‘all CPUs available’)

progress (bool) – show progress bars (default: True)

v (bool) – verbose mode (default: False)

q (bool) – quiet mode (default: False)

Check if the input image pixel grid is alignable to the output grid.

_get_out_extent ( ) [source] ¶ _get_out_grid ( ) [source] ¶ correct_shifts ( ) [source] ¶ Return type

property deshift_results ¶ property warping_needed ¶

Return True if image warping is needed in consideration of the input parameters of DESHIFTER.

class arosics. Tie_Point_Grid ( COREG_obj , grid_res , max_points = None , outFillVal = - 9999 , resamp_alg_calc = 'cubic' , tieP_filter_level = 3 , outlDetect_settings = None , dir_out = None , CPUs = None , progress = True , v = False , q = False ) [source] ¶

The ‘Tie_Point_Grid’ class applies the algorithm to detect spatial shifts to the overlap area of the input images.

Spatial shifts are calculated for each point in grid of which the parameters can be adjusted using keyword arguments. Shift correction performs a polynomial transformation using te calculated shifts of each point in the grid as GCPs. Thus ‘Tie_Point_Grid’ can be used to correct for locally varying geometric distortions of the target image.

See help(Tie_Point_Grid) for documentation!

Get an instance of the ‘Tie_Point_Grid’ class.

COREG_obj ( COREG ) – an instance of COREG class

grid_res ( float ) – grid resolution in pixels of the target image (x-direction)

maximum number of points used to find coregistration tie points

NOTE: Points are selected randomly from the given point grid (specified by ‘grid_res’). If the point does not provide enough points, all available points are chosen.

outFillVal ( int ) – if given the generated tie points grid is filled with this value in case no match could be found during co-registration (default: -9999)

resamp_alg_calc ( str ) – the resampling algorithm to be used for all warping processes during calculation of spatial shifts (valid algorithms: nearest, bilinear, cubic, cubic_spline, lanczos, average, mode, max, min, med, q1, q3) default: cubic (highly recommended)

tieP_filter_level ( int ) –

filter tie points used for shift correction in different levels (default: 3). NOTE: lower levels are also included if a higher level is chosen

Level 0: no tie point filtering

filter all tie points out that have a low reliability according to internal tests

filters all tie points out where shift correction does not increase image similarity within matching window (measured by mean structural similarity index)

Level 3: RANSAC outlier detection

outlDetect_settings ( Optional [ dict ]) – a dictionary with the settings to be passed to arosics.TiePointGrid.Tie_Point_Refiner. Available keys: min_reliability, rs_max_outlier, rs_tolerance, rs_max_iter, rs_exclude_previous_outliers, rs_timeout, q. See documentation there.

dir_out ( Optional [ str ]) – output directory to be used for all outputs if nothing else is given to the individual methods

CPUs ( Optional [ int ]) – number of CPUs to use during calculation of tie points grid (default: None, which means ‘all CPUs available’)

progress ( bool ) – show progress bars (default: True)

v ( bool ) – verbose mode (default: False)

q ( bool ) – quiet mode (default: False)

Return a GeoDataFrame containing all the results from coregistration for all points in the tie point grid.

Columns of the GeoDataFrame: ‘geometry’,’POINT_ID’,’X_IM’,’Y_IM’,’X_MAP’,’Y_MAP’,’X_WIN_SIZE’, ‘Y_WIN_SIZE’,

‘X_SHIFT_PX’,’Y_SHIFT_PX’, ‘X_SHIFT_M’, ‘Y_SHIFT_M’, ‘ABS_SHIFT’ and ‘ANGLE’

Return a list of GDAL compatible GCP objects.

_Kriging_mp ( args_kwargs_dict ) [source] ¶ _Kriging_sp ( attrName , skip_nodata = 1 , skip_nodata_col = 'ABS_SHIFT' , outGridRes = None , fName_out = None , tilepos = None ) [source] ¶ _exclude_bad_XYpos ( GDF ) [source] ¶

Exclude all points outside of the image overlap area and where the bad data mask is True (if given).

GDF – <geopandas.GeoDataFrame> must include the columns ‘X_MAP’ and ‘Y_MAP’

_get_coreg_kwargs ( pID , wp ) [source] ¶ _get_imXY__mapXY_points ( grid_res ) [source] ¶

Return a numpy array containing possible positions for coregistration tie points.

NOTE: The returned positions are dependent from the given grid resolution.

_get_line_by_PID ( PID ) [source] ¶ _get_lines_by_PIDs ( PIDs ) [source] ¶ estático _get_spatial_shifts ( coreg_kwargs ) [source] ¶ _to_PointShapefile ( skip_nodata = True , skip_nodata_col = 'ABS_SHIFT' ) [source] ¶ calc_overall_ssim ( include_outliers = False , after_correction = True ) [source] ¶

Calculate the median value of all SSIM values contained in tie point grid.

include_outliers ( bool ) – whether to include tie points that have been marked as false-positives

after_correction ( bool ) – whether to compute median SSIM before correction or after

calc_rmse ( include_outliers = False ) [source] ¶

Calculate root mean square error of absolute shifts from the tie point grid.

include_outliers ( bool ) – whether to include tie points that have been marked as false-positives (if present)

dump_CoRegPoints_table ( path_out = None ) [source] ¶ get_CoRegPoints_table ( ) [source] ¶ property mean_x_shift_map ¶ property mean_x_shift_px ¶ property mean_y_shift_map ¶ property mean_y_shift_px ¶ plot_shift_distribution ( include_outliers = True , unit = 'm' , interactive = False , figsize = None , xlim = None , ylim = None , fontsize = 12 , title = 'shift distribution' ) [source] ¶

Create a 2D scatterplot containing the distribution of calculated X/Y-shifts.

include_outliers ( bool ) – whether to include tie points that have been marked as false-positives

unidad ( str ) – ‘m’ for meters or ‘px’ for pixels (default: ‘m’)

interactive ( bool ) – interactive mode uses plotly for visualization

figsize ( Optional [ tuple ]) – (xdim, ydim)

xlim ( Optional [ list ]) – [xmin, xmax]

ylim ( Optional [ list ]) – [ymin, ymax]

fontsize ( int ) – size of all used fonts

title ( str ) – the title to be plotted above the figure

test_if_singleprocessing_equals_multiprocessing_result ( ) [source] ¶ to_GCPList ( ) [source] ¶ to_PointShapefile ( path_out = None , skip_nodata = True , skip_nodata_col = 'ABS_SHIFT' ) [source] ¶

Write the calculated tie points grid to a point shapefile (e.g., for visualization by a GIS software).

NOTE: The shapefile uses Tie_Point_Grid.CoRegPoints_table as attribute table.

path_out ( Optional [ str ]) – <str> the output path. If not given, it is automatically defined.

skip_nodata ( bool ) – <bool> whether to skip all points where no valid match could be found

skip_nodata_col ( str ) – <str> determines which column of Tie_Point_Grid.CoRegPoints_table is used to identify points where no valid match could be found

to_Raster_using_Kriging ( attrName , skip_nodata = 1 , skip_nodata_col = 'ABS_SHIFT' , outGridRes = None , fName_out = None , tilepos = None , tilesize = 500 , mp = None ) [source] ¶ to_vectorfield ( path_out = None , fmt = None , mode = 'md' ) [source] ¶

Save the calculated X-/Y-shifts to a 2-band raster file that can be used to visualize a vectorfield.

NOTE: For example ArcGIS is able to visualize such 2-band raster files as a vectorfield.

path_out ( Optional [ str ]) – the output path. If not given, it is automatically defined.

fmt ( Optional [ str ]) – output raster format string

mode ( str ) – The mode how the output is written (‘uv’ or ‘md’ default: ‘md’) - ‘uv’: outputs X-/Y shifts - ‘md’: outputs magnitude and direction


Ver el vídeo: Convertir raster en shapefile et calcul de surface. Convert raster in shapefile and area statistic