[Gvsig_desarrolladores] Carga de capa Raster

mj.gomez en telvent.abengoa.com mj.gomez en telvent.abengoa.com
Jue Nov 9 09:11:58 CET 2006


Hola, pretendía incluir la traza de la excepción pero se ve que se me 
olvidó. De todas las opciones que me comentas, creo que no está ocurriendo 
ninguna, la ruta "c:\ecw" existe en el servidor, así que no sé qué más 
puede ser. La traza del error es la siguiente:

Excepcion generica:  java.lang.NullPointerException: null 
    com.iver.cit.gvsig.fmap.drivers.raster.CmsRasterDriver.createPxRaster(CmsRasterDriver.java:146) 
    com.iver.cit.gvsig.fmap.drivers.raster.CmsRasterDriver.initialize(CmsRasterDriver.java:129) 
    com.iver.cit.gvsig.fmap.layers.RasterFileAdapter.start(RasterFileAdapter.java:96) 
    com.iver.cit.gvsig.fmap.layers.FLyrRaster.load(FLyrRaster.java:197) 
    com.iver.cit.gvsig.fmap.layers.LayerFactory.createLayer(LayerFactory.java:263) 
    es.chg.sig.gui.wizards.CapasWizard.getLayer(CapasWizard.java:218) 
    com.iver.cit.gvsig.AddLayer.addLayers(AddLayer.java:333) 
    com.iver.cit.gvsig.AddLayer.execute(AddLayer.java:174) 
    com.iver.andami.plugins.ExtensionDecorator.execute(ExtensionDecorator.java:87) 
    com.iver.andami.ui.mdiFrame.MDIFrame.actionPerformed(MDIFrame.java:608) 
    javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786) 
    javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839) 
    javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420) 
    javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258) 
    javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245) 
    java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231) 
    java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231) 
    java.awt.Component.processMouseEvent(Component.java:5100) 
    java.awt.Component.processEvent(Component.java:4897) 
    java.awt.Container.processEvent(Container.java:1569) 
    java.awt.Component.dispatchEventImpl(Component.java:3615) 
    java.awt.Container.dispatchEventImpl(Container.java:1627) 
    java.awt.Component.dispatchEvent(Component.java:3477) 
    java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483) 
    java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198) 
    java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128) 
    java.awt.Container.dispatchEventImpl(Container.java:1613) 
    java.awt.Window.dispatchEventImpl(Window.java:1606) 
    java.awt.Component.dispatchEvent(Component.java:3477) 
    java.awt.EventQueue.dispatchEvent(EventQueue.java:456) 
    com.iver.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:58) 
    java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201) 
    java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151) 
    java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145) 
    java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137) 
    java.awt.EventDispatchThread.run(EventDispatchThread.java:100) 

Saludos y gracias



Nacho Brodin <brodin_ign en gva.es>
Nacho Brodin
Enviado por: gvsig_desarrolladores-bounces en runas.cap.gva.es
09/11/2006 08:12
Por favor, responda a Lista de Desarrolladores de gvSIG 

Para:
Lista de Desarrolladores de gvSIG <gvsig_desarrolladores en runas.cap.gva.es>
cc:

Asunto:
Re: [Gvsig_desarrolladores] Carga de capa Raster



Hola, ese código puede devolver null por varias razones. O el formato que 
intentas abrir no está soportado, o el raster no existe donde le dices que 

está, o las librerías Jni (jar o nativas) no están accesibles, o el raster 

está corrupto (no se si me dejo algún caso más). No se si te muestra algún 

mensaje de error cuando devuelve este null, quizás esto te de alguna 
pista. 
Después de hacer esta llamada puede salirte algún mensaje del tipo "Error 
en 
GdalOpen", "Extension not supported" o una traza de una excepción. El 
error 
más común de todos es que o no encuentra los jar de Jni o los binarios de 
jgdal, jecw o jmrsid no están accesibles. A ver si con esto lo arreglas o 
nos 
da alguna pistilla más y te seguimos ayudando.

Saludos.

Nacho Brodin

El Miércoles 08 Noviembre 2006 18:06, mj.gomez en telvent.abengoa.com 
escribió:
> Buenas tardes, estoy intentando abrir una capa ráster. Para ello tengo 
el
> siguiente código:
>
> CmsRasterDriver driver = new CmsRasterDriver();
>         driver.setProjection(proj);
>         driver.open(fich);
>         if (driver instanceof RasterDriver)
>         {
>                 layer = LayerFactory.createLayer(layerCHG.getNombre(),
> (RasterDriver)driver, fich, proj);
>
>         }
>
> El método create layer, hace una llamada a initialize de la clase
> CmsRasterDriver y dentro a openFile de GeoRasterFile. Ese método 
devuelve
> a la variable rasterFile de CmsRasterDriver un null y por eso me falla 
la
> siguiente instrucción de createPxRaster.
>
> El código que me devuelve null es el siguiente:
>
>         public static GeoRasterFile openFile(IProjection proj, String
> fName) {
>                 String ext =
> fName.toLowerCase().substring(fName.lastIndexOf('.')+1);
>                 GeoRasterFile grf = null;
>                 // TODO NotSupportedExtensionException
>                 if (!supportedExtensions.containsKey(ext)) return grf;
>                 /**/
>                 Class clase = (Class) supportedExtensions.get(ext);
>                 Class [] args = {IProjection.class, String.class};
>                 try {
>                         Constructor hazNuevo = 
clase.getConstructor(args);
>                         Object [] args2 = {proj, fName};
>                         grf = (GeoRasterFile) 
hazNuevo.newInstance(args2);
>                 } catch (SecurityException e) {
>                         // TODO Auto-generated catch block
>                         e.printStackTrace();
>                 } catch (NoSuchMethodException e) {
>                         // TODO Auto-generated catch block
>                         e.printStackTrace();
>                 } catch (IllegalArgumentException e) {
>                         // TODO Auto-generated catch block
>                         e.printStackTrace();
>                 } catch (InstantiationException e) {
>                         // TODO Auto-generated catch block
>                         e.printStackTrace();
>                 } catch (IllegalAccessException e) {
>                         // TODO Auto-generated catch block
>                         e.printStackTrace();
>                 } catch (InvocationTargetException e) {
>                         // TODO Auto-generated catch block
>                         e.printStackTrace();
>                 }
>
>                 return grf;
>         }
>
> A ver si sabeis que ocurre.
> Saludos y gracias

_______________________________________________
gvSIG_desarrolladores mailing list
gvSIG_desarrolladores en runas.cap.gva.es
http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://runas.cap.gva.es/pipermail/gvsig_desarrolladores/attachments/20061109/0faec41a/attachment-0001.htm


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