[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