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