[Gvsig_desarrolladores] Detectar la feature de una capa que
contiene a un punto dado
Domingo Baeza
dbaeza en grafos.es
Lun Sep 25 09:34:29 CEST 2006
Buenos días,
Al final lo he resuelto de otra forma, pero no sé si será la más
adecuada, pero lo que he hecho es lo siguiente:
- Primero, me quedo con la geometría que tengo como origen.
o geoOrigen =
rv.getFeature(nIndice).getGeometry().toJTSGeometry();
- Después recorro todas las geometrías de la capa de la que
quiero obtener la información, y cuando alguna geometría de la capa de
destino contenga a la del origen, con ella me quedo.
- Geometry geoDestino=null;
- AlphanumericData co2 = (AlphanumericData) layer;
- ReadableVectorial
rv2=((FLyrVect)layer).getSource();
- try {
- int nFeatures = (int)
co2.getRecordset().getRowCount();
- for (int i=0;i<nFeatures;i++){
- IGeometry geo =
rv2.getFeature(i).getGeometry();
-
- geoDestino =
geo.toJTSGeometry();
- if
(geoDestino.contains(geoOrigen)){
- return
co2.getRecordset().getFieldValue(i,co2.getRecordset().getFieldIndexByNam
e(sCodigo)).toString();
- }
- }
-
- } catch
(com.hardcode.gdbms.engine.data.driver.DriverException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- } catch (DriverException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
Un Saludo
Domingo Baeza
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://runas.cap.gva.es/pipermail/gvsig_desarrolladores/attachments/20060925/01ceb01d/attachment-0001.htm
Más información sobre la lista de distribución gvSIG_desarrolladores