[Gvsig_desarrolladores] Pintar capa WMS

Jose Manuel Diaz Bossini jmdiaz en andago.com
Vie Dic 21 13:35:50 CET 2007


jaume domínguez faus wrote:
> Y aclarando un poco...
>
> A ver WMSLayer no es una capa de FMap (que son las capas que se 
> pintan). WMSLayer es un objeto de la librería de servicios remotos. Es 
> decir, es lo que se usa para intercambiar información entre FMap y el 
> servidor WMS y contiene las propiedades necesarias para mantener el 
> diálogo con el servidor y alimentar de datos a FMap a traves del 
> WMSClient y FMapWMSDriver (el driver).
>
> Cuando hablo de alimentar de datos a FMap me refiero a que contiene 
> las propiedades que FMap necesita para funcionar. Y lo que respecta la 
> funcionalidad de WMS, en FMap existe una capa WMS per se que extiende 
> de FLayer (y por eso puede ser añadida al MapContext), que respeta su 
> interfaz y cuya fuente de datos la obtiene del driver.
>
>
> Jose Manuel Vivó (Chema) wrote:
>> Hola Jose Manuel:
>>
>> El problema está en la configuración de arranque de la aplicación 
>> desde eclipse:
>>
>>  
>>> java.lang.UnsatisfiedLinkError: no jgdal in java.library.path
>>>     at java.lang.ClassLoader.loadLibrary(Unknown Source)
>>>     
>>
>> No encuentra la librería 'jgdal', que es la librería que usa gvSIG 
>> para cargar datos raster. Por eso, cuando ejecutas en la instalación 
>> funciona. ¿Como estas arrancando el codigo?. En el workspace en el 
>> que se distribuye los
>> fuentes hay preparada una configuración de aranque de la aplicación (una
>> por cada S.O.) en la que ya tiene definada la ruta a esas librerías 
>> (comprueba la pestaña 'Environment').
>>
>> Un Saludo.
>> Chema.
>>
>> On Friday 21 December 2007 11:40:08 Jose Manuel Diaz Bossini wrote:
>>  
>>> jaume domínguez faus wrote:
>>>    
>>>> Mmmm... No entiendo, yo diría que es justo eso lo que se tiene que 
>>>> hacer
>>>>
>>>> ¿Qué quiere decir que no se pinta? ¿que aparece en el TOC pero no se
>>>> dibuja o que ni siquiera aparece?
>>>>
>>>> Bueno, si es la primera, seguramente tendrás definido un extent para
>>>> la capa que cae fuera de la vista actual, o que alguno de los
>>>> parámetros son incorrectos y el servidor no te entrega la capa.
>>>>
>>>> Envianos el fichero .log (en el directorio de tu
>>>> usuario/gvSIG/gvSIG.log) y trataremos de encontrar la explicación
>>>>
>>>> Jose Manuel Diaz Bossini wrote:
>>>>      
>>>>> Hola de nuevo ,
>>>>>
>>>>> finalmente he conseguido recuperar una capa suministrada por un
>>>>> servidor WMS , pero soy incapaz de pintarla, siguiendo ejemplos de
>>>>> extensiones utilzan :
>>>>>
>>>>> mapCtrl.getMapContext().getLayers().addLayer(layer)
>>>>>
>>>>> pero mi Layer es de tipo WMSLAyer y no puedo pintarla así , alguna
>>>>> idea ??
>>>>>
>>>>> Muchas gracias , un saludo.
>>>>> _______________________________________________
>>>>> gvSIG_desarrolladores mailing list
>>>>> gvSIG_desarrolladores en runas.cap.gva.es
>>>>> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>>>>>         
>>> Hola de nuevo , creo que he conseguido arreglarlo , utilizando para 
>>> ello
>>> este código que utiliza la clase  FLyrWMS en vez de WMSLayer :
>>>
>>> try {
>>>                 Map<String, Object> args= new HashMap<String,Object>();
>>>                 args.put("host",
>>> "http://ide.getafe.es/cgi-bin/mapserv?map=/opt/apache-tomcat-5.5.20/webapps 
>>>
>>> /IDEGetafe/data/base/IDEEGetafe.map"); args.put("layer", 
>>> "Zonas_Verdes");
>>>                 args.put("SRS", "EPSG:23030");
>>>                 args.put("wmsTransparency", false);
>>>
>>>                     FLyrWMS capaWMS = new FLyrWMS(args);
>>>                     
>>> mapCtrl.getMapContext().getLayers().addLayer(capaWMS);
>>>
>>> el problema ahora es que si meto el plugin directamente en la 
>>> carpeta de
>>> la aplicacion ( no en mi workspace local sino en la aplicacion en si 
>>> ) y
>>> funciona pero si intento ejecutar desde el workspace obtengo el
>>> siguiente error :
>>>
>>> java.lang.UnsatisfiedLinkError: no jgdal in java.library.path
>>>     at java.lang.ClassLoader.loadLibrary(Unknown Source)
>>>     at java.lang.Runtime.loadLibrary0(Unknown Source)
>>>     at java.lang.System.loadLibrary(Unknown Source)
>>>     at es.gva.cit.jgdal.JNIBase.<clinit>(JNIBase.java:120)
>>>     at org.cresques.io.GdalFile.<init>(GdalFile.java:68)
>>>     at
>>> com.iver.cit.gvsig.fmap.layers.FLyrWMS.rasterProcess(FLyrWMS.java:1091)
>>>     at 
>>> com.iver.cit.gvsig.fmap.layers.FLyrWMS.drawTile(FLyrWMS.java:932)
>>>     at com.iver.cit.gvsig.fmap.layers.FLyrWMS.draw(FLyrWMS.java:689)
>>>     at com.iver.cit.gvsig.fmap.layers.FLayers.draw(FLayers.java:653)
>>>     at com.iver.cit.gvsig.fmap.layers.FLayers.draw(FLayers.java:464)
>>>     at com.iver.cit.gvsig.fmap.MapContext.draw(MapContext.java:840)
>>>     at
>>> com.iver.cit.gvsig.fmap.MapControl$PaintingRequest.paint(MapControl.java:52 
>>>
>>> 6) at
>>> com.iver.cit.gvsig.fmap.MapControl$Drawer2$Worker.run(MapControl.java:627) 
>>>
>>>     at java.lang.Thread.run(Unknown Source)
>>> DEBUG [Thread-5] (NotificationManager.java:99) - no jgdal in
>>> java.library.path
>>> java.lang.UnsatisfiedLinkError: no jgdal in java.library.path
>>>     at java.lang.ClassLoader.loadLibrary(Unknown Source)
>>>     at java.lang.Runtime.loadLibrary0(Unknown Source)
>>>     at java.lang.System.loadLibrary(Unknown Source)
>>>     at es.gva.cit.jgdal.JNIBase.<clinit>(JNIBase.java:120)
>>>     at org.cresques.io.GdalFile.<init>(GdalFile.java:68)
>>>     at
>>> com.iver.cit.gvsig.fmap.layers.FLyrWMS.rasterProcess(FLyrWMS.java:1091)
>>>     at 
>>> com.iver.cit.gvsig.fmap.layers.FLyrWMS.drawTile(FLyrWMS.java:932)
>>>     at com.iver.cit.gvsig.fmap.layers.FLyrWMS.draw(FLyrWMS.java:689)
>>>     at com.iver.cit.gvsig.fmap.layers.FLayers.draw(FLayers.java:653)
>>>     at com.iver.cit.gvsig.fmap.layers.FLayers.draw(FLayers.java:464)
>>>     at com.iver.cit.gvsig.fmap.MapContext.draw(MapContext.java:840)
>>>     at
>>> com.iver.cit.gvsig.fmap.MapControl$PaintingRequest.paint(MapControl.java:52 
>>>
>>> 6) at
>>> com.iver.cit.gvsig.fmap.MapControl$Drawer2$Worker.run(MapControl.java:627) 
>>>
>>>     at java.lang.Thread.run(Unknown Source)
>>>
>>>
>>> He leido en mensajes anteriores de la lista y dicen que la solucion es
>>> importar el jar al path del sistema y ya lo he hecho pero sigo teniendo
>>> el mismo error . os pego el log por si acaso os sirve de algo. Muchas
>>> gracias a to2.
>>>
>>> _______________________________________________
>>> gvSIG_desarrolladores mailing list
>>> gvSIG_desarrolladores en runas.cap.gva.es
>>> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>>>     
>>
>>
>>
>>   
>
>
Hola gracias por las respuestas , ahora tengo un poco mas claro lo que 
me pasa. Yo ejecuto la aplicación lanzando directamente la clase 
launcher.java como java application , y las fuentes que me baje son las 
de la version 1.1 voy a ver si encuentro la configuracion que me comentas .

Muchas gracias a los 2


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