Hola a todos de nuevo, <br><br> Estoy intentando cargar una capa WMS desde
código, que me funcionaba perfectamente en la version 1.1 y en la version 1.11 no funciona, concretamente la de Catastro y me aparece un error. Mi código es
el siguiente:<br><br>if (actionCommand.compareTo("<div id=":10u">CARGARCAPASWMS") == 0){<br>
View v;<br> MapControl mapCtrl;<br> <br> <br> try {<br> Map<String, Object> args= new HashMap<String,Object>();<br>
<br> args.put("host","<a href="http://ovc.catastro.meh.es/Cartografia/WMS/ServidorWMS.aspx" target="_blank">http://ovc.catastro.meh.es/Cartografia/WMS/ServidorWMS.aspx</a>");<br>
args.put("layer", "Catastro");<br> args.put("SRS", "EPSG:23030");<br> args.put("wmsTransparency",true);<br>
<br> <br> FLyrWMS capaWMS;<br> v = (View) PluginServices.getMDIManager().getActiveWindow();<br> mapCtrl = v.getMapControl();<br>
<br> FLayers lyrs = mapCtrl.getMapContext().getLayers();<br> lyrs.setAllActives(false);<br> <br> <br>
<br> capaWMS = new FLyrWMS(args);<br> <br> <br> capaWMS.setTransparency(95);<br> capaWMS.setActive(true);<br>
mapCtrl.getMapContext().getLayers().addLayer(capaWMS);<br> <br> } catch (LoadLayerException e) {<br> // TODO Auto-generated catch block<br>
e.printStackTrace();<br> } <br> <br> }<br clear="all"><br><br>El error que me aparece en consola es el siguiente:<br><br>DEBUG [AWT-EventQueue-1] (MDIFrame.java:673) - Execute command:CARGARCAPASWMS<br>
20-jul-2011 11:14:46 org.gvsig.remoteClient.utils.Downloader run<br>INFO: downloading '<a href="http://ovc.catastro.meh.es/Cartografia/WMS/ServidorWMS.aspx?REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.1.1" target="_blank">http://ovc.catastro.meh.es/Cartografia/WMS/ServidorWMS.aspx?REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.1.1</a>' to: C:\DOCUME~1\usuario\CONFIG~1\Temp\tmp-andami\wms_capabilities1311153286937.xml<br>
DEBUG [AWT-EventQueue-1] (NotificationManager.java:104) - Error no capturado por el usuario<br>java.lang.NullPointerException<br> at com.iver.cit.gvsig.fmap.layers.FLyrWMS.getServerMinScale(FLyrWMS.java:1307)<br> at com.iver.cit.gvsig.fmap.layers.FLyrWMS.getCorrectedServerMinScale(FLyrWMS.java:1280)<br>
at com.iver.cit.gvsig.fmap.layers.FLyrWMS.initServerScale(FLyrWMS.java:1258)<br> at com.iver.cit.gvsig.fmap.layers.FLyrWMS.<init>(FLyrWMS.java:302)<br> at com.iver.cit.gvsig.myplugin.LoadProvinciasExtension.execute(LoadProvinciasExtension.java:1689)<br>
at com.iver.andami.plugins.ExtensionDecorator.execute(ExtensionDecorator.java:89)<br> at com.iver.andami.ui.mdiFrame.MDIFrame.actionPerformed(MDIFrame.java:674)<br> at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)<br>
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)<br> at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)<br> at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)<br>
at javax.swing.AbstractButton.doClick(AbstractButton.java:357)<br> at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1170)<br> at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1211)<br>
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)<br> at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)<br> at java.awt.Component.processMouseEvent(Component.java:6038)<br>
at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)<br> at java.awt.Component.processEvent(Component.java:5803)<br> at java.awt.Container.processEvent(Container.java:2058)<br> at java.awt.Component.dispatchEventImpl(Component.java:4410)<br>
at java.awt.Container.dispatchEventImpl(Container.java:2116)<br> at java.awt.Component.dispatchEvent(Component.java:4240)<br> at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)<br> at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)<br>
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)<br> at java.awt.Container.dispatchEventImpl(Container.java:2102)<br> at java.awt.Component.dispatchEvent(Component.java:4240)<br> at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)<br>
at com.iver.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:58)<br> at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)<br> at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)<br>
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)<br> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)<br> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)<br>
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)<br> WARN
[AWT-EventQueue-1] (PluginServices.java:136) - Plugin com.iver.core --
No se encontró la traducción para Consola de información<br> WARN [AWT-EventQueue-1] (PluginServices.java:136) - Plugin com.iver.core -- No se encontró la traducción para Activa la ventana<br>
DEBUG [AWT-EventQueue-1] (NewSkin.java:413) - Activando Consola de información<br>DEBUG [AWT-EventQueue-1] (MDIFrame.java:1224) - Memoria usada 64951 KB<br>DEBUG [AWT-EventQueue-1] (MDIFrame.java:1224) - Memoria usada 65109 KB<br>
DEBUG [AWT-EventQueue-1] (MDIFrame.java:1224) - Memoria usada 65167 KB<br>Viewport despues: Datos del viewPort:<br>Extent=java.awt.geom.Rectangle2D$Double[x=100479.007812,y=3988001.25,w=521220.492188,h=300898.75]<br>adjustedExtent=java.awt.geom.Rectangle2D$Double[x=100479.007812,y=3950088.763961762,w=521220.492188,h=376723.7220764752]<br>
imageSize=java.awt.Dimension[width=1111,height=803]<br>escale=0.0021315355337166433<br>trans=AffineTransform[[0.002131535533717, 0.0, -214.17457554387016], [0.0, -0.002131535533717, 9222.754561719352]]<br>Cambiando tamaño.<br>
Ancho del tree=194 1<br>Ancho del TOC=150<br>Tiempo de dibujado:94 mseg. Memoria libre:38197 KB<br><br><br>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:<br>
<b> double minScale = getCorrectedServerMinScale();<br> double maxScale = getCorrectedServerMaxScale(); </b><br><br>Cuyos métodos son los siguientes:<br> public double getCorrectedServerMinScale() {<br> return (getServerMinScale()*MapContext.getScreenDPI())/WMS_DPI;<br>
}<br> public double getCorrectedServerMaxScale() {<br> return (getServerMaxScale()*MapContext.getScreenDPI())/WMS_DPI;<br> }<br> <br><br>Porque ocurre esto, tengo que pasarle algún otro argumento para que no falle.<br>
<br>Por favor necesito ayuda. <br><br>Gracias.<br></div><br clear="all"><br>-- <br><br><br>