[Gvsig_desarrolladores] Acceso a los shape mediante una consulta sin mapPoint

Eduardo Cristóbal Enríquez edu_ce_1988 en hotmail.com
Vie Mayo 21 21:39:36 CEST 2010


Hola, me podeis decir como puedo acceder hacer a los shape?
Yo ahora mismo conozco el método de acceder con una consulta registrando el 
click del rato en una variable mapPoint:
Point2D pReal = event.getPoint();
Point2D mapPoint = 
mapControl.getViewPort().toMapPoint((int)pReal.getX(),(int)pReal.getY());
try {
FBitSet selection = lyrProvincias.queryByPoint(mapPoint,tol);
if (!selection.isEmpty()){
DataSource ds = ((AlphanumericData)lyrProvincias).getRecordset();
ds.start();
int idAtributo = ds.getFieldIndexByName("NombreAtributo");
Value strNombre = ds.getFieldValue(selection.nextSetBit(0),idAtributo);
ds.stop();

Y la idea no es trabajar con clicks, sino con shapes, los obtengo así:
FLayers capas = mapCtrl.getMapContext().getLayers();
int numeroCapas = capas.getLayersCount();
FLayer[] listaCapas = new FLayer[numeroCapas];
for(int i=0; i<numeroCapas;i++)
listaCapas[i] = capas.getLayer(i);
if(numeroCapas !=0){
String[] nombreCapas = new String[numeroCapas];
for(int i=0; i < numeroCapas; i++)
nombreCapas[i] = listaCapas[i].getName();

Le pongo la lista de shapes al usuario y el selecciona uno, entonces me 
gustaría acceder a la información del shapes seleccionado porque uso 
Sextante y el Gestor de GeoProcesos y trabajo con atributos que se crean con 
estas 2 aplicaciones. Y poder testearlas para si por ejemplo no están 
decirle al usuario los pasos para que las cree.
Además con una opción del Gestor de Geoprocesos me divide ese shape y aún 
siendo el mismo, las zonas en las que se ha dividido tienen datos con los 
que tengo que operar, por eso me es importante conocer como puedo acceder a 
los shapes.
Así que si me podeis indicar como realizo la consulta de otra manera y como 
accedería a los datos de un shape cuando esté dividido en zonas, y también 
acceder a las coordenadas o vertices que lo delimitan se agradecería 
muchísimo.
Saludos.

Edu 



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