[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