Seleccionar página

Cómo establecer relaciones entre tablas (Join y Relate) en Arcgis

En el presente artículo de los tutoriales de ARCGIS en Geofascículos, trataremos de mostrar cómo establecer relaciones entre tablas (Join y Relate) en ArcGIS 10.

1. Introducción.

Los Sistemas de Información Geográfica, además de permitirnos representar datos gráficos basados en puntos, líneas o polígonos, nos permiten vincular o relacionar datos de tablas. De esta forma podemos establecer relaciones entre los elementos de una capa y otra, o entre registros de dos tablas, pertenezcan o no a un shapefile, y poder ampliar el potencial de la información.

Las dos principales relaciones existentes entre tablas se denominan Relates y Joins.

Ambas relaciones presentan características similares pero tienen funciones diferentes. Tanto los Relates como los Joins establecen relaciones entre dos tablas cuando ambas comparten registros idénticos. Lo que les diferencia a ambos es el tipo de relación. La relaciones entre tablas de tipo Relates establecen relaciones de tipo 1à ∞ mientras que las relaciones entre tablas de tipo Joins establecen relaciones de tipo 1 a 1.

2. Relaciones tipo Join.

Para ejemplificar una relación de tipo Join en la que los datos de una tabla quedarán anexionadas a otra tabla secundaria plantearemos un ejemplo con dos capas cartográficas, una de polígonos y otra de puntos. Ambas capas corresponden a información de parcelas del catastro asociadas a unos propietarios. La naturaleza de los archivos es indiferente pues las relaciones se establecen entre tablas y no entre tipologías de archivos.

Geo7_1

La capa Catastro.shp representa los límites catastrales de unas fincas determinadas. A través de su tabla de atributos visualizamos el código descriptivo de la parcela y su referencia catastral.

La capa Propietarios.shp representa una capa de propietarios de dichas parcelas y contiene información sobre el nombre del propietario e información sobre la tipología de finca (finca privada o pública)

Observando sus tablas de atributos podemos ver la información descriptiva que existe en ambas capas.

Geo7_2

Geo7_3

Ambas tablas disponen de un código de parcela que se encuentra dentro del campo denominado PARCELA. Siendo estos códigos únicos para cada registro y siendo compartidos entre ambas tablas, podríamos complementar la tabla de atributos de la capa de polígonos que representa las fincas. De esta forma podemos asignar, a cada parcela, el nombre del propietario.

El procedimiento para realizar esta relación entre tablas se denomina Join y establece una relación uno a uno entre ambas tablas. Por medio del campo PARCELA podremos incluir los nombres de los propietarios y la privacidad de la parcela dentro de la capa de polígonos de Catastro.shp. Todos los registros que sean comunes quedarán incorporados de una tabla a otra. Este procedimiento podremos realizarlo transfiriendo la información de una tabla a otra en cualquiera de las dos direcciones, pero teniendo en cuenta cual será la capa final donde nos interesará disponer de la información total.

Para realizar un Join entre ambas tablas debemos seleccionar la capa a la cual deseamos anexar los nuevos datos. Para ello seleccionamos, por jemplo, la capa Catastro.shp y pinchamos con el botón derecho del ratón. Escogeremos, dentro del menú desplegable la opción Joins and Relates > Join tal y como muestra la siguiente figura.

Geo7_4

Se nos muestra una ventana a través de la cual deberemos indicar la relación de las dos tablas. Los campos que encontraremos serán:

  1. Choose the field in this layer that the join will be based on: seleccionaremos el nombre del campo que tiene la relación en común con la otra tabla. En nuestro caso, el campo se llama PARCELA
  2. Choose the table to join to this layer, or load the table from disk: seleccionaremos la cartografía o tabla que contiene los datos que se anexionarán a nuestra tabla. En nuestro caso, se trata de la cartografía de Propietarios.shp.
  3. Choose the field in the table to base the join on: seleccionaremos el nombre del campo de la segunda tabla que tiene la relación con la primera. Seleccionaremos el nombre del campo denominado PARCELA.

La ventana también nos permite hacer una discriminación y generar un Join para todos los registros de la tabla o, por el contrario, sólo registros seleccionados, es decir sólo para algunas entidades del conjunto total de la capa. Deberemos tener en cuenta esta opción si estamos interesados en anexionar información específica sólo para algunos de los registros.

Deberemos tener en cuenta esta condicion ya que, si existe algún elemento seleccionado, el Join se podría realizar sobre los elementos seleccionados y el resto quedará carente de información.

Geo7_5

Aceptaremos pulsando sobre OK y ArcMap genera un indexado entre tablas y nos muestra una ventana solicitándonos realizar el indexado.

Geo7_6

Aceptaremos y el procedimiento de Join se realizará de forma automática. Abriremos la tabla de atributos de la capa Catastro.shp y observaremos que la tabla ha quedado expandida con nueva información.

Geo7_7

Nuestra tabla de atributos a adquirido los atributos de la tabla de propietarios por medio del campo en común PARCELA.

La opción Join nos ayuda a transferir información entre tablas (tablas contenidas dentro de capas cartografías, archivos Excel o archivos DBF que no necesariamente tienen que estar asociados a una capa cartográfica y que podemos tener de manera libre en nuestras carpetas o geodatabases). De esta manera aumenta el potencial de información de las tablas y la información crece exponencialmente ampliando datos nuevos vinculados espacialmente o temáticamente.

Si deseamos eliminar la relación de Join inicial para evitar confusiones en los datos que visualizamos en las capas, deberemos proceder de la misma forma que para crearlos. Pulsaremos con el botón derecho del ratón sobre la capa y seleccionaremos Joins and Relates > Remove Joins.

3. Relaciones tipo Relate.

Otra posible opción a llevar a cabo entre tablas son los Relates, relaciones establecidas entre dos tablas de tipo uno a infinito. Seleccionando una tipología de registro en una tabla se nos activarán múltiples registros en otra tabla. Ambas tablas contienen un campo en común que las vincula para poder realizar el Relate. Siguiendo el ejemplo anterior, podemos seleccionar en una tabla el nombre de un propietario de fincas de manera que en otra tabla se nos seleccionen, por ejemplo, 4 registros, uno por cada finca de la que pudiera ser propietario.

Para realizar el relate deberemos seguir el mismo proceso que el ya realizado con las relaciones de tipo Join. Deberemos seleccionar el campo común entre tablas y relacionarlas a través de un campo en común. En este caso vamos a tratar de analizar la propiedad de las parcelas de manera que identifiquemos propietarios y sus parcelas.

Pincharemos con el botón derecho del ratón sobre la capa que contiene los registros de propietarios y seleccionaremos Joins and Relates > Relates.

Geo7_8

La herramienta de relación mediante Relate nos solicita una serie de información que deberemos incluir. Veremos que los datos siguen la misma regla que la opción Join. Nos solicitará los siguientes campos:

  1. Choose the field in this layer that the relate will be based on: seleccionaremos el nombre del campo que tiene la relación en común con la otra tabla. En nuestro caso, el campo se llama PARCELA.
  2. Choose the table or layer to relate to this layer, or load from disk: seleccionaremos la cartografía que contiene los datos que quedarán vinculados a nuestra tabla. En nuestro caso, se trata de la cartografía de Catrasatro.shp.
  3. Choose the field in the relate table or layer to base the relate on: seleccionaremos el nombre del campo de la segunda tabla que tiene la relación con la primera. Seleccionaremos el nombre del campo denominado PARCELA.
  4. Choose a name for the relate: este campo adicional permite seleccionar un apodo o alias para designar a este tipo de relación. De esta manera, cuando queramos activar el Relate podremos seleccionar el apodo asignado y el Relate se activará. Podemos denominarlo, por ejemplo, con el nombre DOCUMENTACION.

Geo7_9

Pulsaremos OK y abriremos la tabla de registros únicos sobre la que hemos realizado el Relate, es decir la tabla de Propietarios.shp. Observaremos que no existen cambios. Seleccionaremos manualmente aquellos propietarios en los que estemos interesados obtener información espacial sobre sus parcelas, por ejemplo seleccionaremos el propietario Marco Cifuentes. Un total de tres registros deberán ser seleccionados manualmente o mediante las herramientas específicas de selección por atributos.

Geo7_10

Por medio de nuestro Relate, al que hemos denominado con el pseudónimo de “DOCUMENTACION”, obtendremos todas aquellas parcelas que corresponden a un solo propietario. Para activar el relate pulsaremos sobre el icono de relaciones de tablas que se encuentra en la zona superior de la tabla. De esta forma visualizaremos la relación que deseamos ejecutar.

Geo7_11

En el momento que ejecutamos el relate, la tabla de la cartografía Catastro.shp se nos visualizará en primer plano dejando activadas únicamente las parcelas de las que el propietario es dueño. Un total de tres registros quedan activados.

Geo7_12

Alternando las pestañas que se encuentran en la zona inferior de la tabla podremos volver a la tabla de Propietarios para hacer una nueva selección e indicar a ArcMap que nos realice un nuevo Relate pulsando el icono Geo7_13 correspondiente. Seleccionamos ahora, por ejemplo, al propietario Luís María Ferrero.

Geo7_14

Activando nuevamente el Relate obtenemos sus correspondientes fincas.

Geo7_15

No debemos olvidar que las tablas presentan una relación gráfica con las entidades cartográficas. Si visualizamos la cartografía de las fincas podremos observar como, seleccionando al propietario Luís María Ferrero se nos activan las dos fincas de las que es propietario.

Geo7_16

Para eliminar las relaciones de tipo Relate deberás pinchar con el botón derecho del ratón sobre la capa de la tabla principal y seleccionar Joins and Relates > Remove relates.

4. Recomendaciones.

Antes de realizar una relación entre tablas recuerda:

  • Que debe existir un campo común entre ambas tablas y sus registros deberán ser homólogos. Pequeñas variaciones como acentos o espacios implicarán que nuestros registros no queden relacionados.
  • Advierte si existen, o no, registros seleccionados cuando actives un join. En caso de existir elementos seleccionados, el join podrá realizarse sólo sobre esos registros si no indicamos lo contrario.

boton-descargar

728x90_4

Valora este curso

1 Star2 Stars3 Stars4 Stars5 Stars

(5 votos, media: 5,00 sobre 5)

Necesitas registrarte para evaluar el curso
Cargando…