Indice de Foros
Foro Cartesia
Geomática y Topografía 
  Cartesia · Crea tu Blog · Cursos · Contacta · Publicidad   · Cartesia twitter ·
 Avanzada
 Indice  FAQFAQ  Registrarse EntrarEntrar 


Unir un shape con una tabla excel   
Publicar nuevo tema   Responder al tema    Indice de Foros -> SIG y Cartografía
Tema Anterior :: Tema siguiente  
Autor Mensaje
roge1980



Registrado: 30 Sep 2010
Mensajes: 4

MensajePublicado: Jue 30 Sep 2010, 12:21    Asunto: Unir un shape con una tabla excel Responder citando

Buenas, necesito ayuda urgente sobre un tema, del que espero podáis ayudarme, os comento:

por un lado tengo una tema shape de polígonos, cada polígono con un código en l atabla de atributos.

por otro lado tengo una tabla excel, en la que aparecen estos mismo códigos para relacionarlos con los plígonos anteriores, con lo que podría utilizar un "join". El pobrema es que existe más de un código de la tabla excel por cada codígo de la tabla de atributos del sahpe. No sé si me explico, pongo un ejemplo simple:

Códigos tabla de atributos codigos tabla excel columna adjunt
1 1 a
2 1 b
3 1 c
4 2 a
5 4 a
. 4 b
. .

La cosa es que si hago un "join" sólo me relaciona un código de la tabla de atributos del shape con un único código de la tabla excel, por tanto, en el ejemplo anteiror sólo me aparecían los datos adjuntos al primer "1", es decir, la "a", peridendo la información "b" y "c" de la otra columna del excel.


Otro ejemplo,por un lado tengo un shape de municipios, cada uno con un código en la tabla de atributos, y por otro una tabla excel, con ese mismo código, pero repetido dos veces en en dos filas del excel, en uno me dice la población existente en su núcleo urbano principal y en otro me dice la población del resto del municipio, y yo quiero obtener una tabla de atributos del shape en el que me aparezcan esas las dos filas del excel.

¿existe alguna froma, alguna herramienta, para que me apareczcan todos los datos sin perder información?

perdonad por le rollo, espero podías ayudarme, gracias de antemano.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
geopaco



Registrado: 10 Jun 2009
Mensajes: 8

MensajePublicado: Lun 04 Oct 2010, 10:50    Asunto: Responder citando

hola
Me parece que no te queda otra más que reparar tus datos de excel. En realidad los join deberían hacerse con códigos que fuera clave primaria, es decir, que no se repitan. De ahí la utilidad de las uniones
Pero claro, si tienes un código de municipio, por ejemplo MAD en el shp y luego tienes dos filas en el excel, las dos con MAD pero cada una con unos datos asociados diferentes, esto es un error en los datos
Debes prepararlos de forma que el código de unión sea único en los dos archivos, el excel y el shp. POn a continuación en la misma fila del excel todos los datos del mismo municipio
Es decir, si te he entendido bien, tienes algo así
SHP EXCEL
--- -----
MAD MAD, 1324 (dato 1)
MAD, 25.678 (dato 2)

Pues ponlo así:
SHP EXCEL
--- -----
MAD MAD, 1324 (dato 1); 25.678 (dato 2)

Así no tendrás problema

saludos
Volver arriba
Ver perfil de usuario Enviar mensaje privado
roge1980



Registrado: 30 Sep 2010
Mensajes: 4

MensajePublicado: Lun 04 Oct 2010, 13:00    Asunto: Responder citando

geopaco escribió:
hola
Me parece que no te queda otra más que reparar tus datos de excel. En realidad los join deberían hacerse con códigos que fuera clave primaria, es decir, que no se repitan. De ahí la utilidad de las uniones
Pero claro, si tienes un código de municipio, por ejemplo MAD en el shp y luego tienes dos filas en el excel, las dos con MAD pero cada una con unos datos asociados diferentes, esto es un error en los datos
Debes prepararlos de forma que el código de unión sea único en los dos archivos, el excel y el shp. POn a continuación en la misma fila del excel todos los datos del mismo municipio
Es decir, si te he entendido bien, tienes algo así
SHP EXCEL
--- -----
MAD MAD, 1324 (dato 1)
MAD, 25.678 (dato 2)

Pues ponlo así:
SHP EXCEL
--- -----
MAD MAD, 1324 (dato 1); 25.678 (dato 2)

Así no tendrás problema

saludos


En realidad lo que tengo es algo así:

Shape excel
Madrid Madrid, 1324 (dato uno)
Barcelona MAdrid,25678 (Dato dos)
Sevilla BArcelona, 2500
Málaga Sevilla, 1000

y yo quiero que me apreciera algo así:
Shape excel
Madrid Madrid, 1324
Madrid MAdrid, 25678
BArcelona BArcelona, 2500

Tal y como tú me has comentado me aparecería todos los datos en el amisma fila, y creo que así no se podría trabajar bien con ellos. Además, estoy hablando de miles de datos, por lo que no sería factible hacerlo así.

ME han comentado que con arcview tambíen hay alguna forma de hacerlo. Me valdría también con arcgis o con arcview

POr Favor ayuda!!me corre mucha prisa...

gracias
Volver arriba
Ver perfil de usuario Enviar mensaje privado
raneh



Registrado: 12 Jul 2006
Mensajes: 151
Ubicación: Santander

MensajePublicado: Lun 04 Oct 2010, 14:15    Asunto: Responder citando

Hola,
A mi se me ocurren dos opciones:
1. Agregar los datos para que a cada registro único del shape le corresponda un registro único del excel. Por ejemplo sumando el dato y contando el número de veces que aparece en el excel, añadiendo la media, desviación típica o lo que consideres oportuno para no perder tanta información. Esto puedes hacerlo con la función Summarize de arcgis sobre el excel dando como resultado una tabla dbf que usarías para hacer el join al shape. Al final la tabla de atributos sería algo así:
Registro - Frecuencia - Suma - Media - Desvest ...
Madrid - 5 - 15 - 3 - ... - ...


2. Utilizar la opción Relate tables de Arcgis. En este caso es posible hacer una relación de uno a muchos, de modo que al seleccionar Madrid en el shape se seleccionen todos los "Madrid" del excel. Para visualizar las dos tablas a la vez en arcgis abre primero la tabla de atributos del shape y luego ve a options - relates.

Espero que te sirva.
Un saludo.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
roge1980



Registrado: 30 Sep 2010
Mensajes: 4

MensajePublicado: Lun 04 Oct 2010, 19:52    Asunto: Responder citando

raneh escribió:
Hola,
A mi se me ocurren dos opciones:
1. Agregar los datos para que a cada registro único del shape le corresponda un registro único del excel. Por ejemplo sumando el dato y contando el número de veces que aparece en el excel, añadiendo la media, desviación típica o lo que consideres oportuno para no perder tanta información. Esto puedes hacerlo con la función Summarize de arcgis sobre el excel dando como resultado una tabla dbf que usarías para hacer el join al shape. Al final la tabla de atributos sería algo así:
Registro - Frecuencia - Suma - Media - Desvest ...
Madrid - 5 - 15 - 3 - ... - ...


2. Utilizar la opción Relate tables de Arcgis. En este caso es posible hacer una relación de uno a muchos, de modo que al seleccionar Madrid en el shape se seleccionen todos los "Madrid" del excel. Para visualizar las dos tablas a la vez en arcgis abre primero la tabla de atributos del shape y luego ve a options - relates.

Espero que te sirva.
Un saludo.


Creo que en el punto 2 que me has dado está la clave, pero no sé cómo se hace. Podrías explicarme un poco más detalladamente cómo lo hago, paso a paso, si no es mucho molestia...no veo en la opción Relate esa opción "uno a muchos" que comentas. Hago el relate y cuadno voy a "relate table" me aparece el relate hecho pero en gris (inactivo9, sin marcar, por lo que no puedo darle.

Un saludo
Volver arriba
Ver perfil de usuario Enviar mensaje privado
raneh



Registrado: 12 Jul 2006
Mensajes: 151
Ubicación: Santander

MensajePublicado: Mar 05 Oct 2010, 14:33    Asunto: Responder citando

Hola,
Te digo los pasos de memoria porque ahora no puedo consultar arcgis, así que si falta algo dime y lo busco.
1. En arcmap, añade el shp y la hoja de excel con add data.
2. Pincha con el botón derecho sobre el shp y ve a "joins & realtes" - relates - new relate
Te tiene que aparecer un menú donde eliges los campos clave del shp y de la hoja excel y donde puedes indicar "one to one2 or "one to many". También le das un mobre a la relación. Puede que sea necesario que los dos campos clave sean del mismo tipo (texto mejor).
3. Ahora abre la tabla de atributos del shp y pincha en options (botón al final de la tabla). Ve a Relates - elige la relación que acabas de crear.
4. Se te tiene que abrir la tabla del excel y al seleccionar en la tabla del shp se seleccionan los registros asociados del excel.
Si te da problemas, prueba a guardar el excel como dbf (con guardar como desde excel 2003 o exportando la tabla desde arcgis (con excel 2007 no se puede guardar en dbf).
Espero que te sirva,
Un saludo
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
roge1980



Registrado: 30 Sep 2010
Mensajes: 4

MensajePublicado: Mie 06 Oct 2010, 08:07    Asunto: Responder citando

raneh escribió:
Hola,
Te digo los pasos de memoria porque ahora no puedo consultar arcgis, así que si falta algo dime y lo busco.
1. En arcmap, añade el shp y la hoja de excel con add data.
2. Pincha con el botón derecho sobre el shp y ve a "joins & realtes" - relates - new relate
Te tiene que aparecer un menú donde eliges los campos clave del shp y de la hoja excel y donde puedes indicar "one to one2 or "one to many". También le das un mobre a la relación. Puede que sea necesario que los dos campos clave sean del mismo tipo (texto mejor).
3. Ahora abre la tabla de atributos del shp y pincha en options (botón al final de la tabla). Ve a Relates - elige la relación que acabas de crear.
4. Se te tiene que abrir la tabla del excel y al seleccionar en la tabla del shp se seleccionan los registros asociados del excel.
Si te da problemas, prueba a guardar el excel como dbf (con guardar como desde excel 2003 o exportando la tabla desde arcgis (con excel 2007 no se puede guardar en dbf).
Espero que te sirva,
Un saludo


El fallo estaba en que la tabla estaba en excel. AL pasarla a DBF4 ya no me ha dado problemas...lo digo por si a alguien le pasa lo mismo. De cualquier forma, la opción "uno a muchos" que me comentas creo que no existe en relate. Si la he visto en algoparecido que viene en Arccatalog.

No es excatamente lo que quería, pero es que creo que lo que quería no se puede hacer y con esto me va a ser suficiente.

Gracias por tu ayuda, un abrazo
Volver arriba
Ver perfil de usuario Enviar mensaje privado
raneh



Registrado: 12 Jul 2006
Mensajes: 151
Ubicación: Santander

MensajePublicado: Mie 06 Oct 2010, 08:30    Asunto: Responder citando

Hola,
releyendo el tema me ha surgido una idea, ¿has probado con las tablas dinámicas de excel? a mi me han resuelto varios problemas de organización de datos en tablas. Sigo sin poder mirar lo del relate en arcgis, pero estoy casi segura de que se puede establecer una relación "one to many" (creo que no "many to many"). Igual en su día lo hice abriendo la herramienta desde arctoolbox.
Suerte.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mostrar mensajes de anteriores:   

Temas similares
Tema Autor Foro Respuestas Ultimo Mensaje
No hay mensajes nuevos NO PUEDO EDITAR UN SHAPE A PARTIR DE ... Lourdes SIG y Cartografía 1 Lun 28 May 2007, 09:14 Ver último mensaje
brl
No hay mensajes nuevos Pasar Tabla de Excel a ArcGis 9 Lourdes SIG y Cartografía 22 Dom 23 Oct 2011, 00:56 Ver último mensaje
adir
No hay mensajes nuevos Importar tabla de excel al arcview 3.2 yola SIG y Cartografía 2 Mar 09 Jun 2009, 10:56 Ver último mensaje
yola
No hay mensajes nuevos [Arcmap]Traspasar valores de tabla de... forestra SIG y Cartografía 1 Dom 19 Abr 2009, 18:45 Ver último mensaje
raneh
No hay mensajes nuevos Añadir columnas a tabla de atributos ... forestra SIG y Cartografía 5 Vie 08 May 2009, 16:03 Ver último mensaje
forestra
No hay mensajes nuevos [Civil3D] pasar el Contenido Textual... Arq.bob Topografía 2 Jue 15 Oct 2009, 11:43 Ver último mensaje
joantopo
No hay mensajes nuevos Unir dos shape con herramienta Merge ... mariadelmar SIG y Cartografía 0 Mar 02 Jun 2009, 12:39 Ver último mensaje
mariadelmar
No hay mensajes nuevos datos de excel a shape arcgis Juanfer_23 SIG y Cartografía 0 Mar 21 Ago 2012, 23:00 Ver último mensaje
Juanfer_23

Publicar nuevo tema   Responder al tema    Indice de Foros -> SIG y Cartografía Todas las horas son CET (Europa)
Página 1 de 1

 
Cambiar a:  
Puede publicar nuevos temas en este foro
No puede responder a temas en este foro
No puede editar sus mensajes en este foro
No puede borrar sus mensajes en este foro
No puede votar en encuestas en este foro
No puede adjuntar archivos en este foro
No Puede descargar archivos de este foro


Powered by Cartesia ©