gvSIG bugs #4837
Campos vacíos al unir tablas
Status: | Closed | % Done: | 0% | |
---|---|---|---|---|
Priority: | Normal | Spent time: | - | |
Assignee: | - | |||
Category: | Document table | |||
Target version: | 2.5.0-2913 (rev. org.gvsig.desktop-2.0.241) | |||
Severity: | Minor | Add-on version: | ||
gvSIG version: | 2.4.0 | Add-on build: | ||
gvSIG build: | Add-on resolve version: | |||
Operative System: | Add-on resolve build: | |||
Keywords: | Proyecto: | |||
Has patch: | Hito: | |||
Add-on name: | Unknown |
Description
Cuando se intenta unir una tabla de atributos de un shape cargado en la vista con otra tabla (dbf, csv o xls) se realiza la unión de los campos de la segunda tabla, pero aparecen todos los registros vacíos. Ocurre tanto en windows como en linux.
Si se realiza la unión de dos tablas sin que estas estén cargadas en la vista (sólo dentro del ámbito de tablas) sí lo realiza correctamente. Sin embargo, lo ideal sería poder realizar la unión de una tabla externa con una capa ya cargada en la vista.
Associated revisions
History
#1 Updated by Álvaro Anguix over 5 years ago
- Target version set to 2.5.0-2930-final
- Category set to Document table
#2 Updated by Joaquín del Cerro Murciano over 5 years ago
- Target version changed from 2.5.0-2930-final to 2.5.0-2913 (rev. org.gvsig.desktop-2.0.241)
#3 Updated by Joaquín del Cerro Murciano over 5 years ago
- File datos-join.zip.nc added
#4 Updated by Joaquín del Cerro Murciano over 5 years ago
Los pasos que estoy siguiendo:
- Cargo la tabla "coordenadas.dbf"
- Le aplico una transformacion de "thema de eventos" para obtener una capa.
- Se me crea en la vista la capa "Event layer"
- Desde la vista muestro la tabla asociada a la capa "Event layer", para que me aparezca en la lista de documentos tabla.
- Cargo la tabla "Avistamientos.csv". He de cambiar el separador que viene por defecto y poner la coma.
- Creo un join (tools->Transform->create) y seleccion "join".
- Selecciono como primera tabla "Table of attributes: Event layer"
- Selecciono como segunda tabla "Avistamientos"
- Dejo los valores por defecto y selecciono el atributo "CHOHESION"
- Siguiente y finish
Se produce el siguiente error:
INFO 326818 [AWT-EventQueue-0] (DefaultActionInfo.java:304) - org.gvsig.daltransform.app.mainplugin:org.gvsig.daltransform.app.mainplugin.DataTransformExtension.execute('CREATE') INFO 449781 [AWT-EventQueue-0] (FeatureTableModel.java:349) - DelayAction.run[1] begin INFO 449826 [AWT-EventQueue-0] (FeatureTableModel.java:380) - DelayAction.run[0] end ERROR 556749 [AWT-EventQueue-0] (DataTransformSelectionAction.java:145) - Error loading the layer org.gvsig.fmap.mapcontext.exceptions.LoadLayerException: Can´t load the layer Join. at org.gvsig.fmap.mapcontext.layers.LayerFactory.createLayer(LayerFactory.java:190) at org.gvsig.fmap.mapcontext.impl.DefaultMapContextManager.createLayer(DefaultMapContextManager.java:581) at org.gvsig.daltransform.swing.impl.DataTransformSelectionAction.performAction(DataTransformSelectionAction.java:126) at jwizardcomponent.DefaultJWizardComponents.finishButton_actionPerformed(Unknown Source) at jwizardcomponent.DefaultJWizardComponents$4.actionPerformed(Unknown Source) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967) at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308) at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405) at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:270) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6589) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342) at java.desktop/java.awt.Component.processEvent(Component.java:6354) at java.desktop/java.awt.Container.processEvent(Container.java:2261) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4966) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2319) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4798) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4914) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4543) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4484) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2305) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4798) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772) at java.desktop/java.awt.EventQueue.access$600(EventQueue.java:97) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) at org.gvsig.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:50) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117) at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190) at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235) at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233) at java.desktop/java.awt.Dialog.show(Dialog.java:1070) at java.desktop/java.awt.Component.show(Component.java:1674) at java.desktop/java.awt.Component.setVisible(Component.java:1621) at java.desktop/java.awt.Window.setVisible(Window.java:1031) at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1005) at org.gvsig.coreplugin.mdiManager.NewSkin.addJDialog(NewSkin.java:692) at org.gvsig.coreplugin.mdiManager.NewSkin.addWindow(NewSkin.java:301) at org.gvsig.daltransform.app.mainplugin.DataTransformExtension.execute(DataTransformExtension.java:69) at org.gvsig.andami.actioninfo.impl.DefaultActionInfo.execute(DefaultActionInfo.java:307) at org.gvsig.andami.actioninfo.impl.DefaultActionInfo.actionPerformed(DefaultActionInfo.java:352) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967) at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308) at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405) at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:369) at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:980) at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1024) at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297) at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6589) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342) at java.desktop/java.awt.Component.processEvent(Component.java:6354) at java.desktop/java.awt.Container.processEvent(Container.java:2261) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4966) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2319) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4798) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4914) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4543) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4484) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2305) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4798) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772) at java.desktop/java.awt.EventQueue.access$600(EventQueue.java:97) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) at org.gvsig.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:50) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) Caused by: The attribute CRS does not exist in a DynObject of the DynClass transform at org.gvsig.fmap.dal.feature.AbstractFeatureStoreTransform.getDynValue(AbstractFeatureStoreTransform.java:166) at org.gvsig.fmap.dal.feature.impl.DefaultFeatureStoreTransforms.getDynValue(DefaultFeatureStoreTransforms.java:360) at org.gvsig.fmap.dal.feature.impl.DefaultFeatureStore.getDynValue(DefaultFeatureStore.java:2544) at org.gvsig.fmap.mapcontext.layers.LayerFactory.createLayer(LayerFactory.java:183) ... 94 more
#5 Updated by Joaquín del Cerro Murciano over 5 years ago
Bueno, despues de corregir algunos errores que se habian generado a raiz de las corecciones relacionadas con #4946, obtengo ya la union de las tablas en la que, efectivamente, observo que la mayoria de los campos de la union salen en blanco, curiosamente todos menus uno.
Mirando mas detenidamente las tablas veo, que efectivamente solo hay un registro en el que coincidan los valores ID y AVISTAMIEN ¿¿??
#6 Updated by Joaquín del Cerro Murciano over 5 years ago
Vale, al cargar la tabla CSV hay que indicar en la "Configuracion regional" "Español".
Con eso ya carga la tabla correctamente, y tras el join sale lo que se esperaba.
Ya que el error que me estaba dando estaba relacionado con una correccion posterior al alta del ticket, me inclino a pensar que cuando le dio el error al usuario, le paso lo mismo que a mi, y no selecciono correctamente la configuracion regional al cargar el CSV.
#7 Updated by Joaquín del Cerro Murciano over 5 years ago
- Status changed from New to Fixed
#8 Updated by Álvaro Anguix over 5 years ago
- Status changed from Fixed to Closed