超图supermap iobject.net开发 数据集总是出问题,运行时总报错,说没有将对象设置到引用实例

[复制链接]
查看11 | 回复0 | 2021-1-27 05:04:54 | 显示全部楼层 |阅读模式
//得到被切割的面数据集
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();


分 -->
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行