[Gvsig_desarrolladores] Funcionamiento extraño en capa de eventos
David Alda Fernandez de Lezea
dalda en hazi.es
Mie Mayo 30 10:43:29 CEST 2012
Hola Francisco,
Gracias por la respuesta. Tenía implementado un método para refrescar que consistía en mover el extent 100 metros y luego volver a la posición inicial. Me faltaba refrescar el extent del mapcontext, pero aún así hay ocasiones en las que me sigue ocurriendo lo mismo. El método que he implementado es el siguiente:
IView view = (IView) PluginServices.getMDIManager().getActiveWindow();
MapControl mc = view.getMapControl();
mc.getMapContext().beginAtomicEvent();
Rectangle2D oldExtent = mc.getViewPort().getAdjustedExtent();
double upperLeftCornerX = oldExtent.getMinX()-100;
double upperLeftCornerY = oldExtent.getMinY()-100;
double width = oldExtent.getWidth();
double height = oldExtent.getHeight();
Rectangle2D extent = new Rectangle2D.Double(upperLeftCornerX, upperLeftCornerY, width, height);
mc.getViewPort().setExtent(extent);
com.iver.andami.ui.mdiManager.IWindow view2 = PluginServices.getMDIManager().getActiveWindow();
if (!(view2 instanceof View))
return;
View vista=(View)view2;
((ProjectDocument)vista.getModel()).setModified(true);
mc.drawMap(true);
GraphicLayer gl = mc.getMapContext().getGraphicsLayer();
gl.clearAllGraphics();
// SET EXTENT and be sure the viewport reflects it.
mc.getViewPort().refreshExtent();
upperLeftCornerX = oldExtent.getMinX()+100;
upperLeftCornerY = oldExtent.getMinY()+100;
extent = new Rectangle2D.Double(upperLeftCornerX, upperLeftCornerY, width, height);
gl = mc.getMapContext().getGraphicsLayer();
gl.clearAllGraphics();
// SET EXTENT and be sure the viewport reflects it.
mc.getViewPort().setExtent(extent);
mc.getViewPort().refreshExtent();
view2 = PluginServices.getMDIManager().getActiveWindow();
if (!(view2 instanceof View))
return;
vista=(View)view2;
((ProjectDocument)vista.getModel()).setModified(true);
mc.drawMap(true);
mc.getMapContext().endAtomicEvent();
La verdad es que no consigo saber por qué ocurre esto.
Gracias.
Un saludo,
David Alda Fernández de Lecea
GIS Analista Programadorea / Analista Programador GIS
KONTSULTORIA UNITATEA / UNIDAD DE CONSULTORÍA
Granja Modelo s/n
01192 Arkaute Araba
T 945 003 295 F 945 003 290
dalda en hazi.es | www.hazi.es
********************* LEGE OHARRA ******************* AVISO LEGAL ******************* DISCLAIMER ******************
Mezu hau pertsonala eta isilpekoa da eta baimenik gabeko erabilera debekatua dago legalki. Jasotzailea ez bazara ezabatu mezua, bidali eta kontserbatu gabe.
Este mensaje es personal y confidencial y su uso no autorizado está prohibido legalmente. Si usted no es el destinatario, proceda a borrarlo, sin reenviarlo ni conservarlo.
This message is personal and confidential, unauthorised use is legally prohibited. If you are not the intended recipient, delete it without resending or backing it.
-----Mensaje original-----
De: gvsig_desarrolladores-bounces en listserv.gva.es [mailto:gvsig_desarrolladores-bounces en listserv.gva.es] En nombre de Francisco Puga
Enviado el: lunes, 28 de mayo de 2012 16:12
Para: Lista de Desarrolladores de gvSIG
Asunto: Re: [Gvsig_desarrolladores]Funcionamiento extraño en capa de eventos
Creo que estos dos hilos pueden ayudarte:
http://osgeo-org.1560.n6.nabble.com/Error-en-FFrameView-al-generar-un-mapa-td4368631.html
http://osgeo-org.1560.n6.nabble.com/Get-image-from-view-problems-integrating-it-with-viewport-setExtent-td4175839.html
El 22 de mayo de 2012 09:51, David Alda Fernandez de Lezea <dalda en hazi.es> escribió:
>
> Hola,
>
> Estoy trabajando en una extensión sobre gvSIG 1.11 en la que se tienen que borrar unos puntos de una capa de eventos. Esta capa de eventos tira de un access a través de ODBC. El borrado lo hago bien a través de SQL contra la BD, pero tengo un problema con el refresco del viewport. A pesar de que borro los puntos en la BD, en el viewport no desaparecen. Llegan a desaparecer si hago un zoom menos, o si clicko en otra parte del mapa. A veces si que se eliminan los puntos del viewport, pero no sigue un comportamiento estable. No sé si me he explicado bien.
>
> A parte de eso, he intentado hacer un reload de la capa pero me lanza
> la excepcion
>
> ReloadLayerException
>
> ¿Qué puede estar ocurriendo?
>
> Gracias.
>
> Un saludo,
>
>
> David Alda Fernández de Lecea
> GIS Analista Programadorea / Analista Programador GIS KONTSULTORIA
> UNITATEA / UNIDAD DE CONSULTORÍA
>
> Granja Modelo s/n
> 01192 Arkaute Araba
> T 945 003 295 F 945 003 290
> dalda en hazi.es | www.hazi.es
>
> ********************* LEGE OHARRA ******************* AVISO LEGAL
> ******************* DISCLAIMER ******************
>
> Mezu hau pertsonala eta isilpekoa da eta baimenik gabeko erabilera debekatua dago legalki. Jasotzailea ez bazara ezabatu mezua, bidali eta kontserbatu gabe.
>
> Este mensaje es personal y confidencial y su uso no autorizado está prohibido legalmente. Si usted no es el destinatario, proceda a borrarlo, sin reenviarlo ni conservarlo.
>
> This message is personal and confidential, unauthorised use is legally prohibited. If you are not the intended recipient, delete it without resending or backing it.
>
>
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en 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:
> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
>
--
Francisco Puga
Grupo de Desarrollo
Cartolab - Laboratorio de Ingeniería Cartográfica.
http://www.cartolab.es
ETS Ingeniería de Caminos, Canales y Puertos Universidade da Coruña Campus de Elviña - 15071 A Coruña (España) (34)981167000 ext. 5493 _______________________________________________
gvSIG_desarrolladores mailing list
gvSIG_desarrolladores en 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: http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
Más información sobre la lista de distribución gvSIG_desarrolladores