Libreria de funciones para el análsis espacial multicriterio

En esta página encontrarás la documentación de las funciones que he creado en python y qgis 3.10 o superior

Requerimientos generales

Para asegurar la ejecución correcta del código es importante verificar la instalación y funcionamiento de los siguientes elementos:

  • Qgis 3.10 o superior con Grass y librerías de Osgeo4W
  • Librerías python:
  • Numpy
  • Pandas
  • GDAL
  • reduce
  • os
  • copy
  • pprint
  • string

Descarga la libreria

apcsig.py.

Documentación

Autor: Víctor Hernández D.

Correo: victor.hernandez@iecologia.unam.mx

user_github: @vichdzgeo

Colaboladores: LANCIS - UNAM

apcsig.agregar_categorias(path_v, campo, nuevo_int_cats='categorias', cont=1)[fuente]

Esta función reclasifica una capa en enteros consecutivos en función de las categorias únicas de un campo en especificico, como subproducto genera un archivo csv con las categorias.

Parámetros:
  • path_v (str) – ruta de capa vectorial
  • campo (str) – nombre del campo que contiene las categorias
  • nuevo_int_cats (str) – nombre del campo a crear, el cúal contendrá las categorias en enteros
  • cont (int) – contador para empezar la numeración en el número indicado, por defecto es 1
apcsig.alinear_raster(path_raster, region, resolucion, path_salida, crs_destino='', tipo='int')[fuente]

Esta función alinea un raster dada una región y el tamaño de pixel :param path_raster: ruta de la capa a alinear :type path_raster: str

Parámetros:
  • region (str) – coordenadas de la región del estudio xmin,xmax,ymin,ymax
  • resolucion (int) – tamaño de pixel
  • path_salida (str) – ruta de la capa de salida con extension tif
  • crs_destino (str) – nombre del código EPSG,
  • tipo (str) – tipo de dato, use “int” para entero o “float” para flotante, por default es entero
apcsig.aplica_mascara(path_mascara, path_capa, path_salida, region)[fuente]

Esta función aplica la máscara de la zona de estudio a una capa raster, es importante que la capa a la cual se aplicará la máscara este previamente alineada

Parámetros:
  • path_mascara (str) – ruta de la mascara en formato tiff
  • path_capa (str) – ruta de la capa a la cual se requiere aplicar la máscara
  • path_salida (str) – ruta de la capa resultado de aplicar la máscara
  • region (str) – coordenadas de la región del estudio xmin,xmax,ymin,ymax
apcsig.asignar_nulls(map, output, valor_huecos=0)[fuente]

Esta función asigna un valor a los no_data de la capa

Parámetros:
  • map (str) – ruta de la capa raster
  • region (str) – coordenadas de la región del estudio xmin,xmax,ymin,ymax

:param output:ruta de la capa resultante :type output: str

Parámetros:valor_huecos (int) – número que tendrán los pixeles nulos
apcsig.calculadora_grass(path_capa, ecuacion, path_salida)[fuente]

Esta función aplica la máscara de la zona de estudio

Parámetros:
  • path_mascara (str) – ruta de la mascara en formato tiff
  • path_capa (str) – ruta de la capa a la cual se requiere aplicar la máscara
  • path_salida (str) – ruta de la capa resultado de aplicar la máscara
  • region (str) – coordenadas de la región del estudio xmin,xmax,ymin,ymax
apcsig.calculadora_grass_2capas(path_capa_a, path_capa_b, ecuacion, path_salida)[fuente]

Esta función aplica la máscara de la zona de estudio

Parámetros:
  • path_mascara (str) – ruta de la mascara en formato tiff
  • path_capa (str) – ruta de la capa a la cual se requiere aplicar la máscara
  • path_salida (str) – ruta de la capa resultado de aplicar la máscara
  • region (str) – coordenadas de la región del estudio xmin,xmax,ymin,ymax
apcsig.calculadora_grass_3capas(path_capa_a, path_capa_b, path_capa_c, ecuacion, path_salida)[fuente]

Esta función aplica la máscara de la zona de estudio

Parámetros:
  • path_mascara (str) – ruta de la mascara en formato tiff
  • path_capa (str) – ruta de la capa a la cual se requiere aplicar la máscara
  • path_salida (str) – ruta de la capa resultado de aplicar la máscara
  • region (str) – coordenadas de la región del estudio xmin,xmax,ymin,ymax
apcsig.campos_mayusculas(path_shape)[fuente]

Esta función renombra los campos en mayusculas

Parámetros:path_shape (str) – Ruta de la capa vectorial
apcsig.campos_minusculas(path_shape)[fuente]

Esta función renombra los campos en minúsculas

Parámetros:path_shape (str) – Ruta de la capa vectorial
apcsig.capa_binaria(path_v, campo_cat='presencia', valor=1)[fuente]

Esta función crea un campo llamado presencia y asigna a cada elemento el valor de 1

Parámetros:
  • path_v (str) – ruta de la capa vectorial
  • campo_cat (str) – nombre del campo a crear, por default es presencia
apcsig.categorias_campo_csv(path_shape, campo)[fuente]

Esta función extrae las categorias únicas de un campo dado de una capa vectorial, el archivo csv se guarda en la misma ruta de la capa vectorial y es nombrado como : categorias_campo_nombre_capa.csv

Nota

En dado caso que el nombre de la categoria contenga el símbolo de “,” está función la remplaza por “;” para evitar errores en la escritura del archivo csv

Parámetros:
  • path_shape (str) – ruta de la capa vectorial
  • campo (str) – nombre del campo que contiene las categorias
apcsig.clasificar_shape(path_v, clasificador, l_field, campo_cat='', fp=2, categories=5)[fuente]

Funcion integradora para clasificar la capa vectorial

Parámetros:
  • path_v (str) – ruta de la capa vectorial
  • clasificador (str) – nombre del clasificador
  • fp (float) – factor de progresión
  • categories (int) – número de categorias
apcsig.crea_capa_raster(ecuacion, rasters_input, salida, decimales=3)[fuente]

Esta función crea una capa mediante la calculadora raster de GDAL, esta función esta limitada hasta 14 variables en la ecuación.

Parámetros:
  • ecuacion (str) – ecuación expresada en formato gdal,
  • rasters_input (list) – lista de los paths de los archivos rasters
  • salida (str) – ruta con extensión tiff de la salida
Devuelve:

Capa raster de tipo flotante, los valores de la capa son redondeados a 3 decimales

apcsig.crear_campo(path_vector, nombre_campo, tipo)[fuente]

Esta funcion crea un campo segun el tipo especificado. Parametros: :param path_vector: La ruta del archivo shapefile al cual se le quiere agregar el campo :type path_vector: String

Parámetros:
  • nombre_campo (Sting) – Nombre del campo nuevo
  • tipo – es el tipo de campo que se quiere crear

Int: para crear un campo tipo entero Double: para crear un campo tipo doble o flotante String: para crear un campo tipo texto Date: para crear un campo tipo fecha :type tipo: String

apcsig.cuantiles_s(path_v, quantil, field, min, max)[fuente]

Esta función regresa la lista de cortes según el cualtil deseado de los valores de un campo de la capa vectorial de entrada

Parámetros:
  • path_v (str) – ruta de la capa vectorial
  • quantil (int) – cuantil
  • field (str) – nombre del campo
  • min (float) – valor mínimo de la capa
  • max (float) – valor máximo de la capa
apcsig.distancia_caminos_lugar(layer_raster_lugar, path_caminos, campo_caminos, path_mascara, path_salida, region_ext, ancho_ext=2292, alto_ext=2284, remover=1)[fuente]

Esta función genera una capa de distancia a caminos y agrega distancia cero a aquellos pixeles que se sobreponen con el área del lugar

apcsig.ecuacion_clp(pesos)[fuente]

Esta función recibe una lista de pesos para regresar la ecuación en la estructura requerida por gdal para la combinación lineal ponderada.

ejemplo:

\[ecuacion = A*0.40 + B*0.25 + C*0.15 +D*0.20\]
Parámetros:pesos (lista) – lista de los pesos de las capas, salida de la función
Devuelve:ecuación en formato gdal para ser ingresada a la funcion crea_capa_raster
apcsig.equidistantes(categories=5, min=0, max=1)[fuente]

Esta función regresa la lista de cortes equidistantes según el número de categorias y el valor minimo y maximo ingresados.

Parámetros:
  • categories (int) – número de categorias
  • min (float) – valor mínimo de la capa
  • max (float) – valor máximo de la capa
apcsig.get_region(path_layer)[fuente]

Esta función extrae la región o extensión de una capa raster así como el número de columnas y renglones

Parámetros:path_layer (str) – ruta de la capa raster
Devuelve:en forma de lista [1,2,3] [1] las coordenadas de la extensión de una capa raster xmin,xmax,ymin,ymax ; [2]. ancho de una capa raster (número de columnas) y [3]. alto de una capa raster (número de renglones)
apcsig.integra_localidades_caminos(path_lugar_n, w_lugar, path_d_camino_n, w_d_camino, d_max_lugar, salida)[fuente]

Esta función aplica la máscara de la zona de estudio

Parámetros:
  • path_mascara (str) – ruta de la mascara en formato tiff
  • path_capa (str) – ruta de la capa a la cual se requiere aplicar la máscara
  • path_salida (str) – ruta de la capa resultado de aplicar la máscara
  • region (str) – coordenadas de la región del estudio xmin,xmax,ymin,ymax
apcsig.llenar_campos_nulos(path_vector, valor=-9999)[fuente]
Parámetros:
  • path_vector (str) – Ruta de la capa vectorial
  • valor – valor numérico para rellenar los campos vacios por default se establece -9999
apcsig.max_min_vector(layer, campo)[fuente]

Esta función regresa el maximo y minimo del campo elegido de la capa vectorial de entrada

Parámetros:
  • layer (QgsLayer) – capa vectorial
  • campo (str) – nombre del campo
apcsig.normailiza(path_raster, path_raster_n, modo='ideales')[fuente]

Esta función normaliza una capa raster, se puede elegir entre dos tipos de normalización.

  1. ideales: La capa ráster se divide entre el valor máximo como resultado se tiene una capa con un máximo de 1 pero el valor mínimo no necesariamente será 0
\[ideales=\frac{A}{A.max}\]

2) lineal: la capa ráster resultante tendra como valor máximo 1 y como valor mínimo 0 el 1 representará el maximo de la capa de entrada y el 0 representa el valor mínimo de la capa de entrada

\[lineal=\frac{A -A.min}{A.max - A.min}\]
apcsig.nulls(map, output, valor_huecos=0)[fuente]

Esta función asigna un valor a los no_data de la capa

Parámetros:
  • map (str) – ruta de la capa raster
  • region (str) – coordenadas de la región del estudio xmin,xmax,ymin,ymax

:param output:ruta de la capa resultante :type output: str

Parámetros:valor_huecos (int) – número que tendrán los pixeles nulos
apcsig.raster_min_max(path_raster)[fuente]

Esta funcion regresa los valores maximos y minimos de una capa raster

Parámetros:path_raster (str) – ruta de la capa raster
apcsig.rasterizar_vector(path_vector, n_campo, region, path_salida, tipo='int', ancho=0, alto=0)[fuente]

Esta función rasteriza una capa vectorial a partir de un campo de tipo numérico y dada una región y el numero de columnas (ancho) y el numero de renglones (alto)

Parámetros:
  • path_vector (str) – ruta de la capa vectorial
  • n_campo (srt) – nombre del campo que contiene los id de las categorias
  • region (str) – coordenadas de la región del estudio xmin,xmax,ymin,ymax
  • path_salida (str) – ruta de la capa de salida con extension tif
  • tipo (str) – tipo de dato, use “int” para entero o “float” para flotante, por default es entero
apcsig.reclasifica_capa(capa, region, reglas, salida)[fuente]

Esta función permite reclasificar una capa raster y genera un archivo xml el cúal contiene el nombre de las categorias.

Parámetros:
  • capa (str) – ruta de capa de entrada
  • region (str) – coordenadas de la región del estudio xmin,xmax,ymin,ymax
  • reglas (str) – ruta del archivo txt que contiene las reglas de clasificación
  • salida (str) – ruta de la capa de salida reclasificada
Retuns:

Capa raster clasificada y archivo xml

apcsig.redondea_raster(path_raster, salida, no_decimales=3)[fuente]

Esta función redondea una capa raster de tipo flotante en el número de decimales indicado

Parámetros:
  • path_raster (str) – ruta de la capa raster
  • no_decimales – número de decimales a los que se va a redondear la capa, por default es 3
  • salida (str) – ruta de la capa de salida
apcsig.remove_raster(path_r)[fuente]

Esta función elimina una capa del sistema

Parámetros:path_r (str) – ruta de la capa
apcsig.tipo_clasificador_s(clasificador, path_v, l_field, campo_cat='', fp=2, categories=5, min=0, max=1)[fuente]
Esta función integra los modos de clasificación, weber-fechner, progresiva,

cuartiles, quintiles, deciles o equidistante

param clasificador: tipo de clasificador (progresiva, cuartiles, quintiles, deciles, equidistante) type clasificador: str

param path_v:ruta de la capa vectorial
type path_v:str
param l_field:nombre del campo
type l_field:str
param fp:factor de progresión
type fp:float
param categories:
 número de categorias
type categories:
 int
param min:valor mínimo de la capa
type min:float
param max:valor máximo de la capa
type max:float
apcsig.vcopia(path_vector, path_salida)[fuente]

Crea una copia de la capa a partir de la ruta de la capa, la capa es creada con el mismo sistema de referencia que el origen.

Parámetros:
  • path_vector (String) – ruta de la capa original
  • path_salida (String) – ruta de donde sera almacenada la capa