7 votos

¿Reasignar capas en proyecto de QGIS a otras carpetas?

Creé un proyecto de QGIS que contiene varias capas que están en mi PC. Guardé el proyecto en mi disco local y luego lo guardé en la red y copié todas las capas relevantes del proyecto en una carpeta, excepto los archivos shp de osmap que están en una unidad de red separada.

Luego busqué una manera de volver a asignar las capas del proyecto de QGIS para que apunten a las copias de red y no a mi disco local.

En AutoCAD esto es fácil, pero no puedo encontrar una forma de hacerlo en QGIS.

Luego intenté simplemente eliminar las capas del proyecto y luego volver a agregarlas desde la nueva ubicación, pero siempre se producía un bloqueo de minivolcado.

Terminé guardando los compositores de impresión como plantillas, exportando los estilos de capa. Luego creé un nuevo proyecto, utilizando los archivos en la red, y creé nuevos compositores de impresión a partir de las plantillas guardadas.

¿Hay una forma más fácil de hacer que este proyecto esté disponible para otros usuarios?

He visto alguna información sobre asignar capas incorrectas, pero no pude encontrar una caja de diálogo para hacerlo.

Si nada más, todo en la red terminará eventualmente en el disco de archivo y necesitamos poder mantener los proyectos juntos.

Por ejemplo, en CAD, si abro un proyecto y alguien ha movido un archivo a una nueva carpeta, me dirá que no puede encontrar la referencia externa. Luego abro la ventana de x-refs, me desplazo hasta la ruta guardada, hago clic en examinar, luego encuentro el archivo en su nueva carpeta y hago clic en él. Eso guarda la ruta cambiada.


Basándome en las respuestas hasta ahora, ahora sé que necesito saber cómo establecer una ruta relativa Y cómo volver a asignar una ruta a una carpeta diferente. Una respuesta proporciona un plugin para esto último, así que lo probaré. Estoy cerca de entender lo primero.

La respuesta parece ser la siguiente: Guardar el proyecto. Luego usar nuevamente el botón de guardar que crea una carpeta de inicio del proyecto. Usar Qpackage para copiar los archivos shp a la nueva ubicación. Luego abrir ese nuevo proyecto y guardar para crear una nueva carpeta de inicio del proyecto. Luego usar cambiar origen de datos para volver a asignar todas las capas a la carpeta de inicio del proyecto (ya que QGIS NO guarda nada como relativo en absoluto. Guarda todas las rutas como absolutas).

1 votos

No estaba preguntando cómo archivar el proyecto. No es un duplicado de esa otra pregunta. Si hago lo que pide esa otra pregunta, terminaría con Osmaps duplicados obstruyendo nuestra unidad de red, uno para cada proyecto y pronto ocuparíamos todo nuestro espacio. Parece que en realidad no hay forma de hacer lo que quería que hiciera. Por favor, cambien el título de nuevo a como estaba. Quería una forma de configurar un proyecto en mi unidad local. En realidad, no quiero que todos los datos se repliquen en una nueva carpeta. He editado la pregunta para que sea más clara.

0 votos

También entendí mal que no querías archivar todo el proyecto. Hacer archivado establece las rutas como relativas y resuelve el problema, pero como señalas, duplicará todos los datos cada vez, por lo que en realidad no es un duplicado :)

1 votos

Gracias por el enlace a la otra pregunta, aunque algunos proyectos SÍ necesitan ser transferidos por completo. Qconsolidate no funciona, pero Qpackage sí. Los archivos shp del sistema operativo se copian al disco Q. Si puedo volver a asignar mi proyecto para que apunte a Q para esos y mantener los demás relativos, estaré resuelto.

7voto

Cemre Puntos 153

Tienes un excelente plugin llamado "ChangeDataSource", que hace precisamente eso de manera muy sencilla. La única desventaja es que solo puedes hacer una capa a la vez.

Funciona en cualquier tipo de capa, incluidas capas de base de datos, raster, wms, wfs, etc.

ChangeDataSource

Haz clic derecho en el árbol de capas para cambiar el origen de datos de una sola capa o haz clic en el ícono para cambiar los orígenes de datos de manera global.

El plugin permite cambiar los orígenes de datos de las capas cargadas. La operación se puede realizar haciendo clic derecho en los elementos de la leyenda para una sola capa o de manera global en una tabla resumen haciendo clic en el ícono de la barra de herramientas del plugin. El plugin se encarga del manejo de las capas defectuosas, permitiendo especificar orígenes de datos válidos que funcionen en el proyecto.

Ver también:

capturas de pantalla

INFORMACIÓN ADICIONAL SOBRE RUTAS RELATIVAS Y ABSOLUTAS

QGIS prefiere tener todos sus datos cerca de su proyecto...

la cadena '.' significa "la carpeta en la que está el .qgs. la cadena '..' significa "la carpeta hacia arriba desde donde está el proyecto qgs.

ejemplo:

  • si tienes un directorio //NETWORK/WORK donde se guarda tu qgs (es decir, //NETWORK/WORK/miproyecto.qgs), puedes usar ./subcarpeta/micapa.shp (ruta relativa) para apuntar a //NETWORK/WORK/subcarpeta/micapa.shp (ruta absoluta) para que tu proyecto sea portable.
  • puedes usar ../otracarpeta/micapa.shp (ruta relativa) para apuntar a //NETWORK/otracarpeta/micapa.shp (ruta absoluta).

De esta manera, harás que tu proyecto sea portable, siempre y cuando tus datos estén ubicados en el lugar relativo correcto. Puedes establecer este comportamiento como predeterminado en las propiedades del proyecto (Menú Proyecto).

Opción Relativa

Ref. ¿Cómo guardar el proyecto con la ruta de origen de datos como relativa en QGIS?

0 votos

Gracias por la información del plugin. Ahora lo he instalado y lo probaré la próxima vez. No entiendo las instrucciones sobre cómo configurar una ruta relativa.

0 votos

Disculpa si no fui lo suficientemente claro, debería haber sido más preciso. Si reemplazas la ruta actual hasta la carpeta por un punto en el qgs, qgis buscará datos relativos a la ubicación del archivo del proyecto. Para resumir: "La ruta con referencia al directorio raíz se llama absoluta. La ruta con referencia al directorio actual se llama relativa." QGIS debería poder usar rutas relativas. Pero tal vez eso debería ser más fácil de hacer: gis.stackexchange.com/questions/20340/…

0 votos

Añadí una imagen en mi respuesta

3voto

Braiam Puntos 120

Puedes abrir el archivo del proyecto qgs en tu editor de texto favorito y hacer una búsqueda/reemplazo con la ruta vieja/nueva.

1 votos

Ten cuidado si haces esto. Por ejemplo, si haces un cambio que involucra una letra de unidad S:/ podrías romper tus enlaces https:// para capas de wms (me pasó a mí). Puede haber otras trampas, por lo que sugiero revisar siempre los cambios. También tuve un paso extra (estoy en Windows) con barras diagonales delanteras y traseras, tuve que hacer búsqueda y reemplazo dos veces, una vez con todas las «/» y una vez con todas las «\».

0voto

user1265125 Puntos 106

La respuesta de JGH es buena para cambiar muchas referencias de ubicación de capas, pero necesita una actualización para archivos de proyecto .qgz. No puedes simplemente abrir un archivo .qgz en un editor de texto porque es un archivo XML comprimido. Para .qgz, debes

  1. Abrir el archivo .qgz con Winzip, 7zip u una herramienta similar
  2. Abrir el archivo .qgs almacenado dentro del archivo .qgz en tu editor de texto (o XML)
  3. Editar las rutas del sistema de archivos, teniendo cuidado de no romper el formato XML
  4. Guardar el archivo .qgs editado de nuevo dentro del archivo .qgz

Acabo de hacer esto mismo recientemente, y me tomó un par de intentos adicionales para obtener los dos niveles de guardado (guardar el XML, guardar el .qgz comprimido que lo contiene) correctamente. Tu programa de compresión/descompresión de archivos tendrá su propia forma de hacer esto, así que no creo que pueda proporcionar un procedimiento universal.

Consulta esta respuesta para más información sobre .qgz vs .qgs

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X