[Gvsig_desarrolladores] Carga de capa Raster
Alvaro Zabala
azabala en gmail.com
Jue Nov 9 09:43:16 CET 2006
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);
grf.setFileSize(new File(fName).length());
} 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 falta de poder debugear, tiene toda la pinta de que el null pointer viene
de este metodo, que grf se devuelve como null (debido a que se produzca
alguna de las excepciones anteriores)
¿En el stack trace no sale ninguna de estas excepciones capturadas?
2006/11/9, mj.gomez en telvent.abengoa.com <mj.gomez en telvent.abengoa.com>:
>
>
> 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.comescribió:
> > 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
>
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en runas.cap.gva.es
> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>
>
>
--
Alvaro Zabala Ordóñez
Teléfono: 954939528
Plaza de España, sector II.
SEVILLA
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://runas.cap.gva.es/pipermail/gvsig_desarrolladores/attachments/20061109/50f44986/attachment.htm
Más información sobre la lista de distribución gvSIG_desarrolladores