[Gvsig_desarrolladores] Problemas al crear una capa en memoria a partir de una geometria
raisel
rcastellanos en habana.geocuba.cu
Mie Nov 10 22:33:48 CET 2010
Hola a todos
Estoy tratando de crear una capa a partir de un objeto seleccionado en otra.
Al parecer se crea bien y se muestra pero no he logrado que herede los
atributos (campos) del objeto anterior, o sea que cuando voy a ver su tabla
de atributos esta vacia.
Aqui dejo mi codigo por si alguien quiere echarle el vistazo
ConcreteMemoryDriver driver = new ConcreteMemoryDriver();
driver.setShapeType(FShape.LINE);
try {
BitSet sel = ((FLyrVect)lyr).getSelectionSupport().getSelection();
DataSource ds = ((AlphanumericData)lyr).getRecordset();
ds.start();
for (int i = sel.nextSetBit(0); i >= 0; i = sel.nextSetBit(i+1))
{
//obtengo la geometria del feature
IGeometry geom = ((FLyrVect)lyr).getSource().getShape(i);
Shape shp = geom.getInternalShape();
GeneralPathX gp = new GeneralPathX(shp);
FShape linea = new FPolyline2D(gp);
Value[] row = ds.getRow(i);
driver.addShape(linea, row);
FLayer ltemp = LayerFactory.createLayer("Rio", driver,
CRSFactory.getCRS("EPSG:2085"));
AlgUtils.addLayertoView(ltemp);
}//fin ciclo
} catch (ReadDriverException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
He probado ademas cambiar la parte que esta antes de crear la capa por el
siguiente codigo pero tampoco se crean los atributos de la nueva capa :
...
IGeometry geom = ((FLyrVect)lyr).getSource().getShape(i);
Value[] row = ds.getRow(i);
driver.addGeometry(geom, row);
...
Si alguien puede ayudarme lo agradecere desde ahora
Saludos, Raisel
--
View this message in context: http://osgeo-org.1803224.n2.nabble.com/Problemas-al-crear-una-capa-en-memoria-a-partir-de-una-geometria-tp5726626p5726626.html
Sent from the gvSIG desarrolladores mailing list archive at Nabble.com.
Más información sobre la lista de distribución gvSIG_desarrolladores