[Gvsig_desarrolladores] Añadir puntos a un shape file por código

Jorge Piera jorge.piera en iver.es
Lun Ene 12 09:07:13 CET 2009


Hola.

El método getDM() devuelve un objeto del tipo 
com.hardcode.driverManager.DriverManager

Un saludo.

Jorge

fsalas escribió:
> Jose, saludos ,
>  
>  
>  
> yo declare esta : *import* com.iver.cit.gvsig.fmap.layers.*;
> * *
>
> *import* com.iver.cit.gvsig.fmap.drivers.*;
>
>  
>
> pero:
> en esta linea DriverManager writerManager = LayerFactory./getDM/(); me 
> da como error Type mismatch : cannot convet from DriverManager to 
> DriveManager
> y en el resto de las lineas da otros errores,
>  
> Para que este codigo funcione ok ¿ que clases tengo que importar?
>  
> saludos Salas
>
>     ----- Original Message -----
>     *From:* jose Diez Pastor <mailto:namberwuan en hotmail.com>
>     *To:* gvsig_desarrolladores en runas.cap.gva.es
>     <mailto:gvsig_desarrolladores en runas.cap.gva.es>
>     *Sent:* Thursday, January 08, 2009 1:38 PM
>     *Subject:* [Gvsig_desarrolladores] Añadir puntos a un shape file
>     por código
>
>
>     Hola a todos.
>
>     Resulta que he creado una capa por código con el siguiente código
>     inspirado en la extension extCAD, lo pongo por si alguien quiere
>     crear alguna vez una capa por código.
>
>     public void creaCapa(){
>                    
>            
>     //LayerFactory.setDriversPath("gvSIG\\extensiones\\com.iver.cit.gvsig\\drivers");
>             DriverManager writerManager = LayerFactory.getDM();
>             Driver driver = writerManager.getDriver("gvSIG shp driver");
>            
>            
>             FLyrVect lyr = null;
>             MapControl mapCtrl = v.getMapControl();
>            
>                 // ChooseWriteDriver driverPanel = (ChooseWriteDriver)
>     myWizardComponents.getWizardPanel(0);
>                 mapCtrl.getMapContext().beginAtomicEvent();           
>        
>                 File newFile = new File("d:\\provando.shp");
>                 String layerName = "prueba";
>                 String selectedDriver = "gvSIG shp driver";
>                 int geometryType = 1; //puntos
>                 FieldDescription[] fieldsDesc = getFieldsDescription();
>                 Driver drv =
>     LayerFactory.getDM().getDriver(selectedDriver);
>
>                 SHPLayerDefinition lyrDef = new SHPLayerDefinition();
>                 lyrDef.setFieldsDesc(fieldsDesc);
>                 lyrDef.setFile(newFile);
>                 lyrDef.setName(layerName);
>                 lyrDef.setShapeType(geometryType);
>                 ShpWriter writer=
>     (ShpWriter)LayerFactory.getWM().getWriter("Shape Writer");
>                 writer.setFile(newFile);
>                 try {
>                     writer.initialize(lyrDef);
>                     writer.preProcess();
>                     writer.postProcess();
>                 } catch (EditionException e) {
>                     // TODO Auto-generated catch block
>                     e.printStackTrace();
>                 }
>                
>
>                 lyr = (FLyrVect) LayerFactory.createLayer(layerName,
>                       (VectorialFileDriver) drv, newFile,
>     mapCtrl.getProjection());
>                
>      
>                
>                
>                
>         }
>        
>     // la capa que creo va a tener 3 attributos
>         private FieldDescription[] getFieldsDescription() {
>             FieldDescription[] fieldsDesc = new FieldDescription[3];
>             fieldsDesc[0] = new FieldDescription();
>             fieldsDesc[0].setFieldName("ID");
>             fieldsDesc[0].setFieldType(Types.VARCHAR);    //STRING
>             fieldsDesc[0].setFieldLength(5);
>            
>             fieldsDesc[1] = new FieldDescription();
>             fieldsDesc[1].setFieldName("ANGLE");
>             fieldsDesc[1].setFieldType(Types.VARCHAR);    //STRING
>             fieldsDesc[1].setFieldLength(5);
>            
>             fieldsDesc[2] = new FieldDescription();
>             fieldsDesc[2].setFieldName("SENTIDO");
>             fieldsDesc[2].setFieldType(Types.VARCHAR);    //STRING
>             fieldsDesc[2].setFieldLength(5);
>            
>             return fieldsDesc;
>         }
>
>
>     Esto de arriba funciona correctamente.
>     El problema es que ahora necesito crear unos puntos, pero no
>     quiero crear esos puntos a partir de eventos del ratón,
>     quiero crearlos a partir de unos calculos mios.
>     No soy capaz de encontrar la manera de insertar un punto a partir
>     del código
>
>     Muchas gracias.
>
>     ------------------------------------------------------------------------
>     Charlas más divertidas con el nuevo Windows Live Messenger
>     <http://download.live.com>
>
>     ------------------------------------------------------------------------
>     _______________________________________________
>     gvSIG_desarrolladores mailing list
>     gvSIG_desarrolladores en runas.cap.gva.es
>     http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>
>
> ___________________________________
> Dpto de Sistemas Informáticos
> Oficina Central Grupo Empresarial GEOCUBA
> Este mensaje esta libre de virus.
> Revisado por Kaspersky Antivirus
> ----------------------------------------------------------------------
> Engine version: 4.0.1.14 Engine date: 2002/06/25 Definition count: 
> 1427809 Definition date: 2009/01/09 MDAV version: 2.2.8
> ------------------------------------------------------------------------
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en runas.cap.gva.es
> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>   
> ------------------------------------------------------------------------
>
>
> No virus found in this incoming message.
> Checked by AVG - http://www.avg.com 
> Version: 8.0.176 / Virus Database: 270.10.6/1887 - Release Date: 11/01/2009 17:57
>
>   


Este mensaje y sus archivos son confidenciales. No está permitida su reproducción o distribución sin la autorización expresa de "IVER Tecnologías de la Información". Si usted no es el destinatario previsto, queda desautorizado cualquier uso, acceso o copia de este mensaje. Si ha recibido este mensaje por error, por favor bórrelo e infórmenos por esta misma vía.




Más información sobre la lista de distribución gvSIG_desarrolladores