[Gvsig_desarrolladores] MapOverview / Info de objectos
seleccionados
Carlos Sánchez Periñán
csanchez en prodevelop.es
Mie Ago 20 09:44:12 CEST 2008
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
Más información sobre la lista de distribución gvSIG_desarrolladores