cl.geologyidea.com
Más

¿Cómo editar el nombre del shapefile escrito en la tabla de atributos en QGIS?

¿Cómo editar el nombre del shapefile escrito en la tabla de atributos en QGIS?


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.


He adaptado algo de código pythonscript de QGIS de una pregunta anterior para asignar el nombre de archivo de un shapefile a esa tabla de atributos de shapefiles como preludio para unir múltiples shapefiles juntos (el complemento SAGA no me funciona). Se parece a esto:

## Agregar nombre de archivo a la tabla = nombre ## Input_Folder = Carpeta ## nomodeler import os import glob from os.path import expanduser home = expanduser ("~") # Input Folder #path_dir = home + "/ Documents / GIS Data / TEMP / "+ Folder_Name path_dir = Input_Folder # Esto toma la entrada del parámetro #Comprueba que la carpeta" resultados "existe y si no, créala si no es os.path.exists (path_dir +" / Results "): os.makedirs (path_dir + "/ Resultados") progress.setInfo ("Configurando la ubicación para guardar") # Establece la ubicación para guardar en la carpeta "resultados" ruta_res = ruta_dir + "/ Resultados" progress.setInfo ("Comenzando el procesamiento del archivo") def run (): # Establezca el directorio de trabajo y busque todos los shapefiles, luego ejecute el algoritmo os.chdir (path_dir) para fname en glob.glob ("*. Shp"): formula = "'" + fname + "'" processing.runalg ("qgis: fieldcalculator ", fname, 'Filename', 2, 50, 0, True, formula, path_res +" / "+ fname) # Rutas de los shapefiles en la carpeta de resultados con la salida de comprensión de la lista = [shp para shp en glob.glob ( path_res + "* .shp")] ejecutar () pr ogress.setInfo ("Finalizado")

Actualmente agrega el nombre de archivo completo a la tabla de atributos. ¿Cómo alteraría la fórmula para recortar el nombre del archivo, por ejemplo, para extraer el código de mosaico del sistema operativo de un shapefile llamado "HP_SomeText.shp"?


Puede utilizar la siguiente línea para obtener los dos primeros caracteres defnamee insertarlo en tu Tabla de atributos. Reemplaza tu actualfórmula:

formula = "'" + fname + "'"

con este:

formula = "left ('" + fname + "', 2)"

¡Espero que esto ayude!


Ver el vídeo: Editing a Shapefile in QGIS