以下代码示范如何修改记录集当前位置的几何对象。假设打开一个工作空间 workspace 对象,工作空间中存在一个数据源 datasource 对象
public void recordsetTest()
{
// 从中取出名为“World”的矢量数据集 dataset_world 和名为“Ocean”的矢量数据集 dataset。
DatasetVector dataset_world = (DatasetVector) datasource.getDatasets().get("World");
DatasetVector dataset = (DatasetVector) datasource.getDatasets().get("Ocean");
// 得到“World”中 SmID<6 的记录以及“Ocean”中 6<=SMID<11 的记录
Recordset recordset_world = dataset_world.query("SmID<6", CursorType.STATIC);
Recordset recordset = dataset.query("SMID >=6 and SMID<11", CursorType.STATIC);
// 将记录位置移到第一位
recordset.moveFirst();
// 将“Ocean”中 6<=SMID<11 的记录替换为“World”中 SmID<6 的记录,并提交
// 在编辑修改几何对象的过程中建议不要插入其它操作,否则可能导致几何对象修改失败。
Geometry geometry = recordset_world.getGeometry();
recordset.edit();
recordset.setGeometry(geometry);
recordset.update();
// 关闭记录集,释放几何对象、记录集
geometry.dispose();
recordset.dispose();
recordset_world.dispose();
recordset.close();
recordset_world.close();
}