Hola, sí que era eso, ya funciona. 

¡Muchísimas gracias! 

El 05-01-2017 08:42 PM, Joaquin Jose del Cerro Murciano escribió:

> El 5 de enero de 2017, 17:27, Iago Alonso Alonso <ialo...@enxenio.es> 
> escribió:
> 
>> Hola, revisando código he visto en una clase un método donde se usa una 
>> función marcada como Deprecated. En concreto es: 
>> 
>> PUBLIC DYNOBJECTSET GETINFO(JAVA.AWT.POINT P, DOUBLE TOLERANCE, CANCELLABLE 
>> CANCEL) THROWS LOADLAYEREXCEPTION, DATAEXCEPTION; 
>> 
>> De la interfaz InfoByPoint. En el javadoc pone que se uitilice ésta en su 
>> lugar: 
>> 
>> PUBLIC DYNOBJECTSET GETINFO(POINT P, DOUBLE TOLERANCE) THROWS 
>> LOADLAYEREXCEPTION, DATAEXCEPTION; 
>> 
>> En este caso se usa org.gvsig.fmap.geom.primitive.Point 
>> 
>> El problema surge cuando en el método que utiliza la función _getInfo_ 
>> Deprecated la cambio por la nueva. La funcionalidad del plugin ya no 
>> funciona, no se abre la ventana con la información del elemento pulsado. 
>> 
>> El código original se usa primero: 
>> 
>> (java.awt.Point) POINT IMAGEPOINT = NEW POINT((INT) EVENT.GETPOINT().GETX(), 
>> (INT) EVENT.GETPOINT().GETY()); 
>> 
>> y después más adelante: 
>> 
>> DYNOBJECTSET BIT = ((VECTORLAYER) LACAPA).GETINFO(IMAGEPOINT,
>> MAPCTRL.GETMAPCONTEXT().GETVIEWPORT().TOMAPDISTANCE(3), NEW CANCELLABLE() {
>> PUBLIC BOOLEAN ISCANCELED() {
>> RETURN FALSE;
>> } 
>> 
>> PUBLIC VOID SETCANCELED(BOOLEAN CANCELED) {
>> }
>> }); 
>> 
>> Donde CANCELLABLE es _org.gvsig.tools.task.Cancellable_ (Deprecated 
>> también). Si ahora intento cambiarlo por el método nuevo recomendado: 
>> 
>> GEOMETRYMANAGER GEOMETRYMANAGER = GEOMETRYLOCATOR.GETGEOMETRYMANAGER();
>> (org.gvsig.fmap.geom.primitive.Point) POINT IMAGEPOINT = 
>> GEOMETRYMANAGER.CREATEPOINT((INT) EVENT.GETPOINT().GETX(), (INT) 
>> EVENT.GETPOINT().GETY(), SUBTYPES.GEOM2D); 
>> 
>> y después más adelante: 
>> 
>> DOUBLE TOLERANCE = MAPCTRL.GETMAPCONTEXT().GETVIEWPORT().TOMAPDISTANCE(3);
>> DYNOBJECTSET BIT = ((VECTORLAYER)LACAPA).GETINFO(IMAGEPOINT, TOLERANCE); 
>> 
>> Para DYNOBJECTSET utilizo ORG.GVSIG.TOOLS.DYNOBJECT.DYNOBJECTSET. 
>> 
>> Si ahora ejecuto gvSIG con las extensiones, cuando pincho en un elemento de 
>> la capa para obtener su información ya no se abre una ventana con los datos 
>> del elemento pero con el código antiguo marcado como Deprecated sí. 
>> 
>> ¿Por qué al realizar el cambio no funciona, tiene que ver algo con usar 
>> org.gvsig.fmap.geom.primitive.Point en lugar de java.awt.Point? ¿Estoy 
>> creando, gerenando, usando o importando algo que no es correcto?
> 
> Hola, 
> a ver de forma muy rapida...
> no puedes convertir alegremente un java.awt.Point a una geometria 
> de tipo Point. Depende de donde hayas sacado ese java.awt.Point puede
> irte o no. Si el punto de java lo has obtenido de una interaccion 
> con el interface de usuario probablemente estara en coordenadas
> de pantalla. Es decir hablara de una X e Y que definen el pixel 
> de la pantalla sobre el que has pinchado, mientras que la geometria
> de tipo Point habla de un punto con su X e Y en el mundo real, estaran
> por ejemplo en metros o lat/long segun el sistema de referencia usado
> en la vista.
> 
> Tirando de imaginacion...
> Si lo que tienes desarrollado es un tool de gvSIG con su listener y
> su behavior, probablemente ese event que tienes por ahi, sea un 
> PointEvent de gvSIG, y ademas del metodo getPoint, que estas usando,
> tendra un getMapPoint que en lugar de devolver un punto de java
> devuelbe ya una geometria contruida a partir del punto en pixels
> de la pantalla en el que se hizo click pero ya con las transformaciones
> adecuadas para representar un punto en el mundo real.
> 
> Si no es un PointEvent de gvSIG lo que tienes, pero lo que si tienes
> son unas coordenadas en pixels sobre la vista y quieres saber el punto
> en unidades geograficas a las que se refiere puedes usar algo como:
> 
> mapControl.getViewPort().convertToMapPoint(javaPointInPixels)
> 
> A ver si te sirve.
> 
> Un saludo
> Joaquin
> 
>> Un saludo y gracias. 
>> 
>> _______________________________________________
>> gvSIG_desarrolladores mailing list
>> gvSIG_desarrolladores@listserv.gva.es
>> Para ver histórico de mensajes, editar sus preferencias de usuario o darse 
>> de baja en esta lista, acuda a la siguiente dirección: 
>> https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores [1]
> 
> -- 
> --------------------------------------
> Joaquin Jose del Cerro Murciano
> Development and software arquitecture manager at gvSIG Team
> jjdelce...@gvsig.com
> jjdelce...@gvsig.org
> gvSIG Association
> www.gvsig.com [2]
> www.gvsig.org [3] 
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores@listserv.gva.es
> Para ver histórico de mensajes, editar sus preferencias de usuario o darse de 
> baja en esta lista, acuda a la siguiente dirección: 
> https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
 

Links:
------
[1]
https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
[2] http://www.gvsig.com
[3] http://www.gvsig.org
_______________________________________________
gvSIG_desarrolladores mailing list
gvSIG_desarrolladores@listserv.gva.es
Para ver histórico de mensajes, editar sus preferencias de usuario o darse de 
baja en esta lista, acuda a la siguiente dirección: 
https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores

Responder a