[Gvsig_desarrolladores] Copiar y Pegar una feature de una capa a
otra
Domingo Baeza
dbaeza en grafos.es
Jue Sep 7 09:22:02 CEST 2006
Buenos días,
Tengo dos capas con distintos atributos , pero siendo del mismo tipo de
geometría. Existe alguna forma de copiar una feature que tengo
seleccionada en una capa y llevarla a la otra? Con el siguiente código
puedo detectar todas las geometrías de la capa origen:
View vista = (View) f;
ProjectView model = vista.getModel();
FMap mapa = model.getMapContext();
FLayer layer = mapa.getLayers().getLayer("LAYER1.SHP");
FLayer layer2 = mapa.getLayers().getLayer("LAYER2.SHP");
//Leer la Feature del layer 1
AlphanumericData co = (AlphanumericData) layer;
ProjectExtension ext = (ProjectExtension)
PluginServices.getExtension(ProjectExtension.class);
ProjectTable projectTable = ext.getProject().getTable(co);
EditableAdapter ea=null;
ReadableVectorial rv=((FLyrVect)layer).getSource();
ILayerDefinition iLyrdef=null;
try {
int nFeatures = (int) co.getRecordset().getRowCount();
for (int i=0;i<nFeatures;i++){
IGeometry geo = rv.getFeature(i).getGeometry();
}
Pero no sé como pasarlas a la capa de destino, he estado mirando
.createFeature con las siguientes líneas y
iLyrdef=DefinitionUtils.createLayerDefinition((FLyrVect)layer2);
Value[] featureAttr = new Value[0];
IFeature xx =
FeatureFactory.createFeature(featureAttr,geo,iLyrdef);
Y la clase java no da problemas pero no añade las features al shape.
Un Saludo,
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://runas.cap.gva.es/pipermail/gvsig_desarrolladores/attachments/20060907/fab511bc/attachment-0001.htm
Más información sobre la lista de distribución gvSIG_desarrolladores