AW: [Gvsig_desarrolladores] MapOverview / Info de objectos seleccionados

Web.DE carlos.v en web.de
Mie Ago 20 12:37:25 CEST 2008


Hola Carlos,

 

gracias por tu pronta respuesta. Creo que no he esplicado que tipo de información es la que necesito. Lo que necesito no es la geometría, sino la información dinámica. Realmente necesito la misma información del tool info, pero para todos los elementos seleccionados. O sea algo parecido a la implementación de la función point(..) en la clase InfoListener, pero para todos los elementos seleccionados. 

 

Quizá tienes una idea.

 

Saludos

Carlos

 

-----Ursprüngliche Nachricht-----
Von: gvsig_desarrolladores-bounces en runas.cap.gva.es [mailto:gvsig_desarrolladores-bounces en runas.cap.gva.es] Im Auftrag von Carlos Sánchez Periñán
Gesendet: Mittwoch, 20. August 2008 09:44
An: Lista de Desarrolladores de gvSIG
Betreff: RE: [Gvsig_desarrolladores] MapOverview / Info de objectos seleccionados

 

Hola Carlos,

 

Voy a ver si puedo resuelver al menos parte de tus dudas.

 

En este caso acerca de demandar la información de los objetos seleccionados en un layer WFS.

 

Los layer WFS son vectoriales, por tanto una vez descargados en memoria está almacenado en una capa vectorial que será instanciando un objeto de la clase FLyrVect.

 

La información geométrica de la selección se define en una clase "SelectionSupport" ya que se almacenan en la misma como una lista de Shape's accesibles a partir de un índice con el método...

 

      lyrA.getShape(i); //accedes a las geometrías de una capa.

 

Existe en libFmap una interfaz llamada ReadableVectorial que la implementan la clase VectorialAdapter, ahí tienes ese método que es getShape(i); Desde el Layer vectorial puedes acceder a tu adapter. En este caso si lyrA es un FLyrVect será con lyrA.getSource(); para obtener el adapter y a partir de el el getShape(i);

 

Para acceder a las seleccionadas necesitas... 

 

BitSet sel = layerA.getSelectionSupport().getSelection();

for (int i = sel.nextSetBit(0); i >= 0; i = sel.nextSetBit(i+1)) {

            //Para ver que está dentro la geometría del BoundingBox                //seleccionado.         

            Rectangle2D bb = lyrA.getShapeBounds(i);

            // si intersecta el Rectangle2D con el Rectangle2D reproyectado

            // la geometría en esa posición pertenece a las seleccionadas.

            ViewPort _vp;

            if (Utils.rectanglesItersect(bb, _vp.getAdjustedExtent())) {

                  //Obtenemos la geometria     

                  IGeometry ig = lyrA.getShape(i);

            }

}

 

Espero que te ayude.

Saludos.

 

Carlos Sánchez Periñán

Equipo desarrollo GIS

Prodevelop S.L.

Tel :  963510612

E-mail : csanchez en prodevelop.es

________________________________________

De: gvsig_desarrolladores-bounces en runas.cap.gva.es [mailto:gvsig_desarrolladores-bounces en runas.cap.gva.es] En nombre de Web.DE Enviado el: martes, 19 de agosto de 2008 15:55

Para: gvsig_desarrolladores en runas.cap.gva.es

Asunto: [Gvsig_desarrolladores] MapOverview / Info de objectos seleccionados

 

Hola a todos!

 

Soy nuevo en esta lista, así que no sé muy bien cómo funciona. Bueno estoy desarrollando una aplicación con gvSIG y tengo dos preguntas, quizá alguien me pueda ayudar.

 

Preámbulo: Estoy desarrollando una aplicación sin utilizar el MDIFrame y sin utilizar la clase Launch.java para arrancar la aplicación, ya que no necesito toda la extensibilidad del Framework, sino su funcionalidad básica. Es decir estoy mostrando diferentes mapas y tools dentro de mi propia aplicación. Realmente casi todo ha sido muy fácil y funciona muy bien. Sin embargo tengo los siguientes problemas/preguntas.

 

1. MapOverview y TOC → no he podido hacer funcionar estos dos componentes y realmente no sé que me hace falta. No hay ningún error, solo que no muestran nada.

 

       // Initialize tree of layers

            tOC = new TOC();

            tOC.setMapContext(mapControl.getMapContext());

            tOC.setVisible(true);

            tOC.setBackground(Color.WHITE);

            tOC.getTree().setBackground(Color.WHITE);

 

            // Initialize map overview

            mapOverview = new MapOverview(mapControl);

            mapOverview.setPreferredSize(new Dimension(150, 200));

            mapOverview.setVisible(true);

 

2. Quiero demandar la información de los objetos seleccionados en un layer WFS.

 

Si alguien me puede dar una pista de cómo proseguir estaría muy agradecido.

 

Gracias

Carlos

 

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://runas.cap.gva.es/pipermail/gvsig_desarrolladores/attachments/20080820/a189d4e4/attachment.htm


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