Hacer join a tablas externas en QGIS

Desde hace algún tiempo, quería descubrir este rasgo en QGIS. Llegó coincidencialmente a través de un comentario de Miguel Luis (Málaga, España), quien fue el que encontró como asignar el tipo de campo en la tabla a enlazar. Ya había descubierto, por mi cuenta, como cargar un archivo de texto delimitado por tabulador (copy/paste de Excel) que, en la vista de QGIS, se desplegaba como el equivalente a un Event Theme de ArcGis. Sin embargo, ese no es el formato de capa vectorial de tipo CSV (comma separated values) que reconoce QGIS. Para ello hay que exportarlo en “Guardar como…” e importarlo posteriormente con un archivo asociado, *.csvt, que es el que contiene la descripción del tipo de dato (Integer, Real, Double, String) de cada uno de los campos del archivo *.csv.

Para probar el procedimiento, se va a unir la siguiente tabla arbitraria (tabla_join.txt; sin espacios entre los campos):

ID,a,b,c
1,5.01,2.33,2.33
2,5.01,2.33,2.33
3,5.01,2.33,2.33
4,5.01,2.33,2.33
5,5.01,2.33,2.33

a un archivo arbitrario de puntos (punto.shp) con proyección UTM WGS 84 (zona 19). La tabla anterior se guarda como tabla_join.csv y se carga en la vista como archivo vectorial de tipo *.csv con el tabla_join.csvt asociado que contiene:

Integer,Real,Real,Real

sin espacios entre ellos. En la vista de QGIS se ve así:

donde se puede observar que ambas tablas, la del *.csv y la del Event Theme, son idénticas. Cargamos el shapefile, hacemos zoom a la capa y desplegamos su tabla atributiva:

Luego, hacemos click con el botón derecho sobre la capa punto y en el menú contextual seleccionamos Propiedades y en la pestaña Uniones añadimos con el botón de + la capa tabla_join.csv con los valores por defecto allí expresados:

Aquí se refleja la unión en la tabla de Propiedades:

y aquí el shapefile punto.shp con su tabla atributiva mostrando la unión.

Para que quede definitivamente enlazada, Guardar como…, por ejemplo, punto_union.shp.

En la tabla anterior se puede eliminar el campo NULL (que es el común) con Table Manager.

Esta entrada fue publicada en QGIS, SIG, Software Libre. Guarda el enlace permanente.

15 respuestas a Hacer join a tablas externas en QGIS

  1. miquilena dijo:

    amigo por favor, ayudeme tengo un garmin etrex legend hcx, rectifique unas medidas de un terreno, las medidas que da el plano es norte -este y el gps da norte-oeste, sera que gps esta desconfigurado, o lo estoy utilizando mal,

  2. Y cómo salen representados esos puntos en Google Earth o MapSource?

  3. Pingback: Unir tablas con diferente número de registros en QGIS |

  4. Romina dijo:

    Hola José! Te molesto porque estoy tratando de vincular una tabla de excel (en realidad uso Open Office) con el GIS. Lo que explicás en este post es realmente útil, pero me gustaría saber si es posible vincularla de tal manera que cuando yo modifique algo en la planilla de cálculo, automáticamente se modifique en el GIS? Es posible hacer eso en Q-Gis?? Gracias!

    • Sé que es tarde para tí (casi 3 años xD), pero te cuento: yo lo que hice fue simplemente hacer los cambios en la planilla, volver a guardarla en CSV (comas) y listo. Cuando no se actualiza en QGIS, lo cierro y vuelvo a abrir (gracias a los desarrolladores por hacer que cargue tan rápido, casi extraño lo lento de ArcGIS xD)

  5. Pingback: Cómo importar archivos *.csv (comma separated values) en GRASS mediante un script de python |

  6. Jose Britez dijo:

    me resuelven la vida si le responden a Romina

  7. Nico dijo:

    Alguien que sepa lo que preguntó Romina… todavia no me decido a dejar ArcGis por esta y otras cosas!!!! Como importamos y unimos archivos xls????

    • Igual que en ArcView (y hasta hace poco ArcGIS), tienes que guardar el archivo excel en formato “CSV (delimitado por comas)”, luego lo cargas como indicó José en este artículo y listo. Aún no pillo como hacer un “Relate”, pero el “join” lo puedes hacer desde las propiedades del archivo.

  8. Santiago dijo:

    Hola.Soy nuevo en qgis. Se me presenta el siguiente problema: quiero crear un shape de puntos a partir de coordenadas en grados decimales, pero cuando cargo las coordenadas mediante la funcion “añadir capa de texto delimitado” me sale un error. Sé que es un error que tiene que ver con los espacios, puntos y comas y la extencion con la que trabajo en Excel. Alguien mepuede ayudar a resolver esto? Desde ya muchas gracias

  9. Apenino dijo:

    Buenas!! Necesito vincular los datos de dos shapes de puntos que tienen un campo en comun, eso creo que se puede hacer con la relacion una a varias definiendo la capar padre y la hija, algo de eso recuerdo, pero son frase sueltas y no lo puedo encontrar en el programa. Alguien me puede ayudar? gracias

  10. fernandoing dijo:

    adhiero al comentario de Romina. pregunto lo mismmo

  11. Edd dijo:

    Hola saludos!! como se puede realizar un “relate” (asi se llama en ARCGIS) y no un join en QGIS?

  12. Súper fácil, gracias por la explicación.

    Dudo que le sirva a Romina en este momento, pero yo lo que hice fue simplemente hacer los cambios en la planilla, volver a guardarla en CSV (comas) y listo. Cuando no se actualiza en QGIS, lo cierro y vuelvo a abrir (gracias a los desarrolladores por hacer que cargue tan rápido, casi extraño lo lento de ArcGIS xD)

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s