[Gvsig_desarrolladores] ERROR CARGAR CAPA WMS VERSION 1.11

Ana Belen Garcia belen.garcia en e-sig.es
Mie Jul 20 11:27:22 CEST 2011


Hola a todos,

   Estoy intentando cargar una capa WMS desde código, concretamente la de
Catastro y me aparece un error. Mi código es el siguiente:

if (actionCommand.compareTo("CARGARCAPASWMS") == 0){
             View v;
             MapControl mapCtrl;


                        try {
                             Map<String, Object> args= new
HashMap<String,Object>();

                                args.put("host","
http://ovc.catastro.meh.es/Cartografia/WMS/ServidorWMS.aspx");
                                args.put("layer", "Catastro");
                                args.put("SRS", "EPSG:23030");
                                args.put("wmsTransparency",true);


                            FLyrWMS capaWMS;
                            v = (View)
PluginServices.getMDIManager().getActiveWindow();
                            mapCtrl = v.getMapControl();

                            FLayers  lyrs =
mapCtrl.getMapContext().getLayers();
                            lyrs.setAllActives(false);



                            capaWMS = new FLyrWMS(args);


                            capaWMS.setTransparency(95);
                            capaWMS.setActive(true);

mapCtrl.getMapContext().getLayers().addLayer(capaWMS);

                        } catch (LoadLayerException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }

        }


El error que me aparece en consola es el siguiente:

DEBUG [AWT-EventQueue-1] (MDIFrame.java:673) - Execute
command:CARGARCAPASWMS
20-jul-2011 11:14:46 org.gvsig.remoteClient.utils.Downloader run
INFO: downloading '
http://ovc.catastro.meh.es/Cartografia/WMS/ServidorWMS.aspx?REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.1.1'
to:
C:\DOCUME~1\usuario\CONFIG~1\Temp\tmp-andami\wms_capabilities1311153286937.xml
DEBUG [AWT-EventQueue-1] (NotificationManager.java:104) - Error no capturado
por el usuario
java.lang.NullPointerException
    at
com.iver.cit.gvsig.fmap.layers.FLyrWMS.getServerMinScale(FLyrWMS.java:1307)
    at
com.iver.cit.gvsig.fmap.layers.FLyrWMS.getCorrectedServerMinScale(FLyrWMS.java:1280)
    at
com.iver.cit.gvsig.fmap.layers.FLyrWMS.initServerScale(FLyrWMS.java:1258)
    at com.iver.cit.gvsig.fmap.layers.FLyrWMS.<init>(FLyrWMS.java:302)
    at
com.iver.cit.gvsig.myplugin.LoadProvinciasExtension.execute(LoadProvinciasExtension.java:1689)
    at
com.iver.andami.plugins.ExtensionDecorator.execute(ExtensionDecorator.java:89)
    at
com.iver.andami.ui.mdiFrame.MDIFrame.actionPerformed(MDIFrame.java:674)
    at
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
    at
javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
    at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
    at
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
    at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
    at
javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1170)
    at
javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1211)
    at
java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
    at
java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
    at java.awt.Component.processMouseEvent(Component.java:6038)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
    at java.awt.Component.processEvent(Component.java:5803)
    at java.awt.Container.processEvent(Container.java:2058)
    at java.awt.Component.dispatchEventImpl(Component.java:4410)
    at java.awt.Container.dispatchEventImpl(Container.java:2116)
    at java.awt.Component.dispatchEvent(Component.java:4240)
    at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
    at java.awt.Container.dispatchEventImpl(Container.java:2102)
    at java.awt.Component.dispatchEvent(Component.java:4240)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    at
com.iver.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:58)
    at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
    at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
    at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
 WARN [AWT-EventQueue-1] (PluginServices.java:136) - Plugin com.iver.core --
No se encontró la traducción para Consola de información
 WARN [AWT-EventQueue-1] (PluginServices.java:136) - Plugin com.iver.core --
No se encontró la traducción para Activa la ventana
DEBUG [AWT-EventQueue-1] (NewSkin.java:413) - Activando Consola de
información
DEBUG [AWT-EventQueue-1] (MDIFrame.java:1224) - Memoria usada 64951 KB
DEBUG [AWT-EventQueue-1] (MDIFrame.java:1224) - Memoria usada 65109 KB
DEBUG [AWT-EventQueue-1] (MDIFrame.java:1224) - Memoria usada 65167 KB
Viewport despues: Datos del viewPort:
Extent=java.awt.geom.Rectangle2D$Double[x=100479.007812,y=3988001.25,w=521220.492188,h=300898.75]
adjustedExtent=java.awt.geom.Rectangle2D$Double[x=100479.007812,y=3950088.763961762,w=521220.492188,h=376723.7220764752]
imageSize=java.awt.Dimension[width=1111,height=803]
escale=0.0021315355337166433
trans=AffineTransform[[0.002131535533717, 0.0, -214.17457554387016], [0.0,
-0.002131535533717, 9222.754561719352]]
Cambiando tamaño.
Ancho del tree=194 1
Ancho del TOC=150
Tiempo de dibujado:94 mseg. Memoria libre:38197 KB


Por lo que he podido observar en el código de la FLyrWMS me falla cuando
ejecuta el initServerScale() y dentro de este método en:
     *  double minScale = getCorrectedServerMinScale();
       double maxScale = getCorrectedServerMaxScale(); *

Cuyos métodos son los siguientes:
 public double getCorrectedServerMinScale() {
       return (getServerMinScale()*MapContext.getScreenDPI())/WMS_DPI;
   }
  public double getCorrectedServerMaxScale() {
       return (getServerMaxScale()*MapContext.getScreenDPI())/WMS_DPI;
   }


Porque ocurre esto, tengo que pasarle algún otro argumento para que no
falle.

Por favor necesito ayuda.

Un saludo a todos y muchas gracias de antemano.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20110720/1a5bcd35/attachment.htm 


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