[Gvsig_desarrolladores] insertar punto a shape por codigo.

Jesús García Villar jgarci50 en tragsa.es
Lun Abr 20 10:20:55 CEST 2009


Hola a todos,

 

Tengo el siguiente problema. 

Necesito insertar un punto a un shapefile que genero por códico. Con el código de "crearcapa1" genero el shapefile pero no se como insertar el punto "Point2D point"

 

Un saludo y gracias.

 

________________________________________________________________________________________

 

public void creaCapa1(MapControl mControl, Point2D point){

 

DriverManager writerManager = LayerFactory.getDM();

com.hardcode.driverManager.Driver driver = writerManager.getDriver("gvSIG shp driver");

FLyrVect lyr = null;

 

mControl.getMapContext().beginAtomicEvent();

File newFile = new File("c:\\cartografia\\punto.shp");

String layerName = "punto";

String selectedDriver = "gvSIG shp driver";

int geometryType = 1; //puntos

FieldDescription[] fieldsDesc = getFieldsDescription();

com.hardcode.driverManager.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();

 

                  

            //IGeometry geometry = ShapeFactory.createPoint2D(point.getX(),point.getY());

                  

            writer.postProcess();

      } catch (EditionException e) {

            e.printStackTrace();

 

      }

            lyr = (FLyrVect) LayerFactory.createLayer(layerName,

            (VectorialFileDriver) drv, newFile, mapCtrl.getProjection());

 

      }

}




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