Libreria de funciones para el análisis 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
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 especifico, como subproducto genera un archivo csv con las categorias.
Parámetros:
-
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:
-
apcsig.
areas_por_categorias_colsulta
(path_raster)[fuente]¶ Ésta función imprime el número de pixeles por categoria de un archivo ráster
Parámetros: path_raster (str) – ruta del archivo ráster
-
apcsig.
asignar_nulls
(map, output, valor_huecos=0)[fuente]¶ Esta función asigna un valor a los no_data de la capa
Parámetros: :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:
-
apcsig.
calculadora_grass_2capas
(path_capa_a, path_capa_b, ecuacion, path_salida, region)[fuente]¶ Esta función aplica la máscara de la zona de estudio
Parámetros:
-
apcsig.
calculadora_grass_3capas
(path_capa_a, path_capa_b, path_capa_c, ecuacion, path_salida, region)[fuente]¶ Esta función aplica la máscara de la zona de estudio
Parámetros:
-
apcsig.
calculadora_grass_4capas
(lista_capas, ecuacion, path_salida)[fuente]¶ Esta función aplica la máscara de la zona de estudio
Parámetros:
-
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:
-
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:
-
apcsig.
corrige_geometria
(path_v)[fuente]¶ Esta función corrige la geometría de una capa vectorial por medio de la función nativa de qgis «fixgeometries», gerarando como resultado en la misma ruta, una capa con el mismo nombre pero con terminación «_fix.shp»
Este procedimiento se implementa ya que se ha detectado que varios geoprocesos vectoriales no funcionan de una manera óptima si las geometrías están corruptas.
Parámetros: path_v (str) – ruta del archivo shape Devuelve: Ruta del archivo shape con la geometría corregida Tipo del valor devuelto: str
-
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: 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.
criterios_ruta_pesos
(dicc)[fuente]¶ funcion para extraer a partir de un diccionario, listas de criterios, rutas y pesos para la clp
-
apcsig.
cuantiles_s
(path_v, quantil, field)[fuente]¶ Esta función regresa la lista de cortes según el cuantil deseado de los valores de un campo de la capa vectorial de entrada
Parámetros:
-
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_class
(cortes)[fuente]¶ Función que escribe la ecuación de reclasificación a partir de un intervalo de cortes
-
apcsig.
ecuacion_clp
(pesos)[fuente]¶ Esta función recibe una lista de pesos para regresar la ecuación de la combinación líneal ponderada en la estructura requerida para la calculadora raster de gdal.
La ecuación líneal ponderada (clp), donde i es el número de capas; x es la capa ráster y w es el peso asociado en el modelo multicriterio para esa capa ráster.
\[clp = \sum_{i=i}^{i=n}x_{i}*w_{i}\]ejemplo:
El modelo multicriterio se compone cuatro criterios: A, B, C y D ;
donde A tiene un peso de w=0.40 ; B tiene un peso de w=0.25, C tiene un peso de w=0.15 u D tiene un peso de w=0.20
\[clp = A*0.40 + B*0.25 + C*0.15 +D*0.20\]Nota
El orden de los valores en la lista de los pesos tiene que ser igual al orden de la lista de la variable rasters_input de la función crea_capa_raster
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:
-
apcsig.
extrae_categorias
(path_v, salida, campo, categorias)[fuente]¶ Función que extrae elementos de un shapefile dada una lista de categorias.
Parámetros:
-
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:
-
apcsig.
lista_archivos
(path, n_ext='.tif')[fuente]¶ Ésta función busca dentro de un directorio todos los archivos con el tipo de extensión declarada.
Parámetros: path (str) – ruta del direcctorio que contiene los archivos Devuelve: lista con la ruta de cada archivo localizado en el directorio y subdirectorios Tipo del valor devuelto: list
-
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_raster
(path_raster, path_raster_n, modo='ideales', decimales=3)[fuente]¶ Esta función normaliza una capa raster, se puede elegir entre dos tipos de normalización.
- 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}{max(A)}\]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 -min(A)}{max(A) - min(A)}\]
-
apcsig.
nulls
(map, output, valor_huecos=0)[fuente]¶ Esta función asigna un valor a los no_data de la capa
Parámetros: :param output:ruta de la capa resultante :type output: str
Parámetros: valor_huecos (int) – número que tendrán los pixeles nulos
-
apcsig.
progressive
(fp=2, min=0, max=1, categories=5)[fuente]¶ Función que reclasifica un rango de valores de 0 a 1 en n categorias por el clasificador Progresiva.
Parámetros: Devuelve: lista con los intervalos de corte
Tipo del valor devuelto:
-
apcsig.
raster_a_vector
(path_raster, nombre_campo, path_vector)[fuente]¶ Función que transforma una capa ráster a vector.
Parámetros:
-
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.
rasterizar_vector_directo
(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: 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:
-
apcsig.
remove_raster
(path_r)[fuente]¶ Esta función elimina una capa del sistema
Parámetros: path_r (str) – ruta de la capa
-
apcsig.
reproyectar_a_utm
(path_v, path_v_reproyectado, zona_norte)[fuente]¶ Función que reproyecta una capa shapefile a UTM/WGS84 para las zonas válidas de México.
Path_v: Ruta de la capa shapefile original. Typy path_v: str Path_v_reproyectado: Ruta y nombre de la capa shapefile que se exporatá con proyección UTM/WGS84. :type path_v_reproyectado:str
Zona_norte: Número de zona UTM a la que se desea exportar la capa Shapefile (11 hasta la 16).
-
apcsig.
single_poligonos
(path_v, salida)[fuente]¶ Función que transforma una capa multipolígono a polígonos individuales.
Parámetros: Nota
Utilizar previamente la función corrige_geometria para la capa de entrada a ésta función.
-
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 y codificada en UTF-8.
Parámetros: - path_vector (String) – ruta de la capa original
- path_salida (String) – ruta de donde sera almacenada la capa