//得到被切割的面数据集
DatasetVectordatasetvector1=workspace1.Datasources[0].Datasets["SplitRegion"]asDatasetVector;
//得到用于切割的线数据集
DatasetVectordatasetvector2=workspace1.Datasources[0].Datasets["SplitLine"]asDatasetVector;
//得到对应的记录集,以及几何对象.SplitRegion为被分割对象
Recordsetrecordset1=datasetvector1.GetRecordset(false,CursorType.Dynamic);
GeoRegionsplitRegion=recordset1.GetGeometry()asGeoRegion;
//得到对应的记录集,以及几何对象.SplitLine为分割对象.
Recordsetrecordset2=datasetvector1.GetRecordset(false,CursorType.Dynamic);
GeometrysplitLine=recordset2.GetGeometry();
//分割后的结果几何对象
GeoRegiontargetGeoRegion1=newGeoRegion();
GeoRegiontargetGeoRegion2=newGeoRegion();
//面分割
Geometrist.SplitRegion(splitRegion,splitLine,targetGeoRegion1,targetGeoRegion2);
//处理分割后的结果
//第一个对象更新替换原有数据集中的几何对象
recordset1.MoveFirst();
recordset1.Edit();
recordset1.SetGeometry(targetGeoRegion1);
recordset1.Update();
//第二个对象添加到数据集中
recordset1.AddNew(targetGeoRegion2);
recordset1.Update();
//将数据显示在地图窗口中
mapControl1.Map.Layers.Add(datasetvector1,true);
mapControl1.Map.ViewEntire();
mapControl1.Map.Refresh();
分 --> |