[Gvsig_desarrolladores] Problemas con archivos ecw y gvsig 1.1.1 compilado en Linux.

Vanesa Hernández vanesahernandez en gmail.com
Mar Feb 5 20:07:18 CET 2008


Hola.

Estoy intentando cargar unos ecw en gvsig pero me lanza una excepción, estoy
en Fedora Core 6, con Eclipse 3.2.0 y los fuentes de gvsig1.1.1.

El código es el siguiente:

CmsRasterDriver driver = new CmsRasterDriver();
driver.setProjection(mapCtrl.getProjection());
File carpetaECW = new File("/home/Vanesa/java/datos/ortofotos/" +
strNum.toString() +"/");
File archivo;
if( carpetaECW.exists())
{
String[] listaArchivos = carpetaECW.list();
FLyrRaster lyr;
for(int i=0;i< listaArchivos.length; i++)
{
  if(listaArchivos[i].endsWith("ecw"))
{
archivo = new File(carpetaECW.getAbsolutePath() + listaArchivos[i]);

driver.open(archivo);
//La excepción se lanza en la línea de abajo
lyr = LayerFactory.createLayer(listaArchivos[i], driver, archivo,
mapCtrl.getProjection());

if (lyr != null)
{
lyr.setVisible(true);
mapCtrl.getMapContext().getLayers().addLayer(lyr);
}
}
}
}

Y la traza de la excepción es:

Abriendo /home/Vanesa/java/datos/ortofotos/77-3o5-07711.ecw
Extension not supported!!!
com.iver.cit.gvsig.fmap.DriverException:
com.iver.cit.gvsig.fmap.drivers.DriverIOException: java.io.IOException:
Formato no valido
at com.iver.cit.gvsig.fmap.layers.LayerFactory.createLayer(LayerFactory.java
:404)
at com.iver.cit.gvsig.ortofotosCHD.LoadOrtofotosExtension.execute(
LoadOrtofotosExtension.java:69)
at com.iver.andami.plugins.ExtensionDecorator.execute(
ExtensionDecorator.java:88)
at com.iver.andami.ui.mdiFrame.MDIFrame.actionPerformed(MDIFrame.java:616)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java
:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(
DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.AbstractButton.doClick(AbstractButton.java:302)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1051)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(
BasicMenuItemUI.java:1092)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)
at java.awt.Component.processMouseEvent(Component.java:5517)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3135)
at java.awt.Component.processEvent(Component.java:5282)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3984)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3819)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Component.dispatchEvent(Component.java:3819)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at com.iver.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java
:58)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(
EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(
EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Caused by: com.iver.cit.gvsig.fmap.drivers.DriverIOException:
java.io.IOException: Formato no valido
at com.iver.cit.gvsig.fmap.layers.RasterFileAdapter.start(
RasterFileAdapter.java:100)
at com.iver.cit.gvsig.fmap.layers.FLyrRaster.load(FLyrRaster.java:207)
at com.iver.cit.gvsig.fmap.layers.LayerFactory.createLayer(LayerFactory.java
:402)
... 30 more
Caused by: java.io.IOException: Formato no valido
at com.iver.cit.gvsig.fmap.drivers.raster.CmsRasterDriver.initialize(
CmsRasterDriver.java:152)
at com.iver.cit.gvsig.fmap.layers.RasterFileAdapter.start(
RasterFileAdapter.java:96)
... 32 more
DEBUG [AWT-EventQueue-1] (MDIFrame.java:991) - Memoria total: 17 MB
DEBUG [AWT-EventQueue-1] (MDIFrame.java:991) - Memoria total: 17 MB

Esta parte de código me tiene algo confundida, el resto del programa lo he
hecho siguiendo el tutorial para crear una extensión desde 0 que hay en la
web de gvsig, pero no he encontrado ningún ejemplo sobre cargar un raster (o
un ecw más concretamente).

También me he planteado que sea algún problema de librerías, porque cuando
ejecuto el gvsig desde Eclipse e intento abrir una imagen (he probado con un
ecw y un jpg) directamente desde el gvsig me lanza lo siguiente:

Error no capturado por el usuario
java.lang.NullPointerException
    at com.iver.cit.gvsig.AddLayer.loadFileLayers(AddLayer.java:351)
    at com.iver.cit.gvsig.AddLayer.addLayers(AddLayer.java:463)
    at com.iver.cit.gvsig.AddLayer.execute(AddLayer.java:194)
    at com.iver.andami.plugins.ExtensionDecorator.execute(
ExtensionDecorator.java:88)
    at com.iver.andami.ui.mdiFrame.MDIFrame.actionPerformed(MDIFrame.java
:616)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java
:1849)
    at javax.swing.AbstractButton$Handler.actionPerformed(
AbstractButton.java:2169)
    at javax.swing.DefaultButtonModel.fireActionPerformed(
DefaultButtonModel.java:420)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java
:258)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(
BasicButtonListener.java:236)
    at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java
:231)
    at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java
:231)
    at java.awt.Component.processMouseEvent(Component.java:5517)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3135)
    at java.awt.Component.processEvent(Component.java:5282)
    at java.awt.Container.processEvent(Container.java:1966)
    at java.awt.Component.dispatchEventImpl(Component.java:3984)
    at java.awt.Container.dispatchEventImpl(Container.java:2024)
    at java.awt.Component.dispatchEvent(Component.java:3819)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java
:4212)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
    at java.awt.Container.dispatchEventImpl(Container.java:2010)
    at java.awt.Window.dispatchEventImpl(Window.java:1791)
    at java.awt.Component.dispatchEvent(Component.java:3819)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
    at com.iver.andami.ui.AndamiEventQueue.dispatchEvent(
AndamiEventQueue.java:58)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(
EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(
EventDispatchThread.java:163)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

He cambiado las librerías que había en binaries/Linux por las que traía un
gvsig1.1.1 instalado (bajado directamente de la web) y he cambiado los .jar
que tenían "ecw" en el nombre (algunos del código fuente sí eran más
pequeños que los del instalado) pero sigue igual.

También sé que el fichero ecw no está corrupto porque con el gvsig instalado
se abre sin problemas.

Ya no se me ocurre qué más probar. ¿Alguna idea?

Muchas gracias.
Vanesa Hernández.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://runas.cap.gva.es/pipermail/gvsig_desarrolladores/attachments/20080205/86f7aa58/attachment-0001.htm


Más información sobre la lista de distribución gvSIG_desarrolladores