[Gvsig_desarrolladores] Como saber si una capa no es visible por una restriccion de escala

Jose Manuel Vivó (Chema) josemanuel.vivo en iver.es
Mar Oct 21 16:27:10 CEST 2008


Hola Manuel:

Creo que lo que buscas es esto:

com.iver.cit.gvsig.fmap.layers.FLayer

	/**
	 * <p>Returns if the value of <code>scale</code> argument
	 *  is within the maximum and minimum scale of this layer.</p>
	 *
	 * @param scale the scale > 0
	 *
	 * @return <code>true</code> if the <code>scale</code> argument is within the 
range of scales of this layer; <code>false</code> otherwise
	 *
	 * @see #setMinScale(double)
	 * @see #setMaxScale(double)
	 */
	public boolean isWithinScale(double scale);

La escala la puedes sacar del MapContext (mapContext.getScaleView())

Con todo esto, para saber si una capa se ve puedes comprobarlo de la siguiente 
forma:

MapContext = mapControl.getMapContext();
boolean isVisible = layer.isVisible() &&
       layer.isWithinScale(mapContext.getScaleView());

Espero que te sirva.

Un Saludo.
Chema.

El Tuesday 21 October 2008 15:02:11 Manuel Casas Alaminos escribió:
> Jorge Piera escribió:
> > Hola Manuel.
> >
> > Los métodos que comentas afectan a una capa de gvSIG que puedes
> > visualizar en la lista de capas pero eso no tiene nada que ver con la
> > restricción de escala. Lo que deberías decirnos es qué tipo de formato
> > estás intentado cargar. En el caso del WMS (por ejemplo) si que
> > devuelve una imagen u otra en función de la escala.
> >
> > Un saludo.
> >
> > Jorge.
> >
> > Manuel Casas Alaminos escribió:
> >> Buenas tardes!
> >>
> >> Me hace falta saber si una capa de mi MapControl NO se encuentra
> >> visible debido a que tiene definidas una escala minima/maxima de
> >> visualización. He probado con los métodos isVisible() o isAvailable()
> >> pero no me valen, porque la capa puede estar seleccionada como
> >> visible y no verse debido a la restricción de escala ... Alguien
> >> podría ayudarme¿?¿?
> >>   Espero haber explicado bien mi problema!
> >> 1 Saludo!
> >> --
> >> ------------------------------------------------------------------------
> >>
> >> _______________________________________________
> >> gvSIG_desarrolladores mailing list
> >> gvSIG_desarrolladores en runas.cap.gva.es
> >> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
> >>
> >> ------------------------------------------------------------------------
> >>
> >>
> >> No virus found in this incoming message.
> >> Checked by AVG - http://www.avg.com Version: 8.0.173 / Virus
> >> Database: 270.8.2/1735 - Release Date: 20/10/2008 14:52
>
> Buenas tardes Jorge.
>
> Tengo un visor cartográfico que trabaja por debajo con gvSIG.
> En un momento de la ejecución me hace falta saber si un SHAPE que tengo
> cargado en mi visor, no es visible debido a su restricción de escala.
> Por poner un ejemplo: Tengo una capa shape cargada con una restricción
> de escala mínima/máxima ( 0 - 900.000 ) y en mi visor la escala de
> visualización es 2.306.757, con lo que esta capa no se ve en mi visor.
> Me hace falta saber si esa capa, aunque esté seleccionada como visible
> en mi TOC, no está siendo mostrada en mi visor debido a esa restricción.
> En definitiva, quiero saber que capas de mi TOC no son mostradas debido
> a que tienen una restricción de escala de visualización.
>
> Espero que ahora me haya explicado mejor!
> 1 Saludo y muchas gracias!



-- 
=============
Jose Manuel Vivó(Chema)
Equipo de gvSIG

IVER T.I. S.A.
C/ Lérida, 20
46009-Valencia
Tlf.+34902252540
Spain
www.iver.es
www.gvsig.com

Este mensaje y sus archivos son confidenciales. No está permitida su reproducción o distribución sin la autorización expresa de "IVER Tecnologías de la Información". Si usted no es el destinatario previsto, queda desautorizado cualquier uso, acceso o copia de este mensaje. Si ha recibido este mensaje por error, por favor bórrelo e infórmenos por esta misma vía.





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