[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