gvSIG bugs #2195

Error al reproyectar capa

Added by José Vicente Higón over 10 years ago. Updated over 10 years ago.

Status:Closed% Done:

0%

Priority:HighSpent time:-
Assignee:Ignacio Brodín
Category:Geoprocess
Target version:2.1.0-2218-testing
Severity: Add-on version:
gvSIG version:2.1.0 Add-on build:
gvSIG build:2216 Add-on resolve version:
Operative System:Linux Add-on resolve build:
Keywords: Proyecto:
Has patch:No Hito:
Add-on name:Unknown

Description

Al intentar reproyectar una capa PostGIS desde EPSG:4189 a EPSG:2203 aparece el siguiente mensaje de error

La excepción es la siguiente:

ERROR [AWT-EventQueue-1] (NotificationManager.java:90) - java.lang.ArithmeticException: / by zero
java.lang.ArithmeticException: / by zero
    at es.unex.sextante.gui.algorithm.AnalysisExtentPanel.assignExtent(AnalysisExtentPanel.java:173)
    at es.unex.sextante.gui.algorithm.AlgorithmDialog.assignParameters(AlgorithmDialog.java:432)
    at es.unex.sextante.gui.algorithm.AlgorithmDialog.executeAlgorithm(AlgorithmDialog.java:390)
    at es.unex.sextante.gui.algorithm.AlgorithmDialog$1.actionPerformed(AlgorithmDialog.java:181)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    at java.awt.Component.processMouseEvent(Component.java:6389)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3268)
    at java.awt.Component.processEvent(Component.java:6154)
    at java.awt.Container.processEvent(Container.java:2045)
    at java.awt.Component.dispatchEventImpl(Component.java:4750)
    at java.awt.Container.dispatchEventImpl(Container.java:2103)
    at java.awt.Component.dispatchEvent(Component.java:4576)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4633)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4297)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4227)
    at java.awt.Container.dispatchEventImpl(Container.java:2089)
    at java.awt.Window.dispatchEventImpl(Window.java:2518)
    at java.awt.Component.dispatchEvent(Component.java:4576)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:672)
    at java.awt.EventQueue.access$400(EventQueue.java:96)
    at java.awt.EventQueue$2.run(EventQueue.java:631)
    at java.awt.EventQueue$2.run(EventQueue.java:629)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)
    at java.awt.EventQueue$3.run(EventQueue.java:645)
    at java.awt.EventQueue$3.run(EventQueue.java:643)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:642)
    at org.gvsig.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:50)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:194)
    at java.awt.Dialog$1.run(Dialog.java:1073)
    at java.awt.Dialog$3.run(Dialog.java:1127)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.awt.Dialog.show(Dialog.java:1125)
    at java.awt.Component.show(Component.java:1672)
    at java.awt.Component.setVisible(Component.java:1624)
    at java.awt.Window.setVisible(Window.java:882)
    at java.awt.Dialog.setVisible(Dialog.java:1012)
    at es.unex.sextante.gui.core.DefaultGUIFactory.showAlgorithmDialog(DefaultGUIFactory.java:108)
    at es.unex.sextante.gui.toolbox.AlgorithmsPanel.executeSelectedAlgorithm(AlgorithmsPanel.java:487)
    at es.unex.sextante.gui.toolbox.AlgorithmsPanel$2.mousePressed(AlgorithmsPanel.java:225)
    at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:280)
    at java.awt.Component.processMouseEvent(Component.java:6386)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3268)
    at java.awt.Component.processEvent(Component.java:6154)
    at java.awt.Container.processEvent(Container.java:2045)
    at java.awt.Component.dispatchEventImpl(Component.java:4750)
    at java.awt.Container.dispatchEventImpl(Container.java:2103)
    at java.awt.Component.dispatchEvent(Component.java:4576)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4633)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4294)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4227)
    at java.awt.Container.dispatchEventImpl(Container.java:2089)
    at java.awt.Window.dispatchEventImpl(Window.java:2518)
    at java.awt.Component.dispatchEvent(Component.java:4576)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:672)
    at java.awt.EventQueue.access$400(EventQueue.java:96)
    at java.awt.EventQueue$2.run(EventQueue.java:631)
    at java.awt.EventQueue$2.run(EventQueue.java:629)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)
    at java.awt.EventQueue$3.run(EventQueue.java:645)
    at java.awt.EventQueue$3.run(EventQueue.java:643)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:642)
    at org.gvsig.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:50)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)

error_gvsig_reproyectar.png (109 KB) José Vicente Higón, 01/13/2014 02:54 PM

640

History

#1 Updated by Álvaro Anguix over 10 years ago

  • Assignee set to Juan Lucas Domínguez
  • Priority changed from Normal to High

#2 Updated by José Vicente Higón over 10 years ago

Parecer ser que por defecto la Región de análisis es "Definida por el usuario" y obviamente no está definida. Si se selecciona "Ajustada a los datos de entrada", no da error. Ésta debería ser la opción por defecto o al menos indicar un mensaje de error indicando que el usuario no ha definido las coordenadas.
Tampoco tiene sentido que el geoproceso genere una capa de punto y otra de polígonos si la capa de entrada es únicamente de líneas (esto realmente sería una mejora, no un bug).

#3 Updated by Juan Lucas Domínguez over 10 years ago

Hola, a mí por defecto me pilla la primera "Ajustar a datos de entrada". Alguna vez me ha parecido que esos diálogos mantenían la configuración de usos anteriores más allá de lo razonable. ¿Quizá has usado antes ese geoproceso y usaste esa segunda opción?

#4 Updated by José Vicente Higón over 10 years ago

Juan Lucas Domínguez wrote:

Hola, a mí por defecto me pilla la primera "Ajustar a datos de entrada". Alguna vez me ha parecido que esos diálogos mantenían la configuración de usos anteriores más allá de lo razonable. ¿Quizá has usado antes ese geoproceso y usaste esa segunda opción?

Es posible. Si uso opción "Ajustada a los datos de entrada" funciona correctamente.

#5 Updated by Juan Lucas Domínguez over 10 years ago

  • Assignee changed from Juan Lucas Domínguez to Ignacio Brodín

Tal como hemos hablado, lo reasigno a Nacho.

#6 Updated by Álvaro Anguix over 10 years ago

  • Target version set to 2.1.0-2219-testing

#7 Updated by Ignacio Brodín over 10 years ago

  • Status changed from New to Fixed

Este error ya no puede suceder en siguientes versiones. Parece que esa comprobación en la extesión de analisis fue comentada por Ben en los últimos commits. Ese algoritmo siempre utiliza la extensión completa de la capa de entrada. Dejo como feature ver si podemos informar cuando la bounding box no intersecta con la capa de entrada.

Lo de generar una capa de lineas y otra de puntos de regalo me temo que es un limitación del framework de geoprocesos. Al definir el algoritmo tienes que decir cuales serán las salidas. A priori no puedes saber de que tipo será la capa que va a reproyectar el usuario. La única solución sería tener tres algoritmos (reproyectar capa de lineas, reproyectar capa de poligonos y reproyectar capa de puntos), que es casi peor que lo que hay. En un futuro podría ver que el framework no genere esas salidas, pero no se como estará el tema de enlazar algoritmos.

#8 Updated by Álvaro Anguix over 10 years ago

  • Target version changed from 2.1.0-2219-testing to 2.1.0-2218-testing

#9 Updated by Álvaro Anguix over 10 years ago

  • Status changed from Fixed to Closed

Also available in: Atom PDF