首页 / 浏览问题 / 组件GIS / 问题详情
替换模型图元
38EXP 2018年04月17日
应用Recordset.AddNew方法将图元追加到模型中,追加到模型后,为什么由追加前的圆柱变成了方柱?

1个回答

您好,方便的话把您追加的图元数据发我,数据较大的话建议先传到百度云盘,然后把下载地址私信给我,我这边看看呢。
5,985EXP 2018年04月17日
您好,相关内容给您私信发过去了。
您好,您传的模型文件夹里面是空的,烦请确认一下,再传一份。
给你重新发了一份。

您好,看了数据和代码,首先你的第一个数据集有4个方柱,第三个数据集中有一个圆柱,替换代码修改如下:

publicvoidRecordsetSampleB(Workspace workspace)
        { DatasetVectordataset_world = workspace.Datasources[0].Datasets["圆柱"] asDatasetVector;
Recordset recordset_world = dataset_world.GetRecordset(false, CursorType.Dynamic);//获取圆柱记录集


DatasetVector dataset = workspace.Datasources[0].Datasets["柱"] asDatasetVector;   
Recordset R= dataset.GetRecordset(false, CursorType.Dynamic)//获取方柱记录集
        
Recordset recordset = dataset_world.Query("SmID=3", CursorType.Static);           
recordset.MoveFirst(); 
recordset.delete(); //删除掉目标方柱
recordset.Update();                      
recordset.Close();
         
Geometrygeometry = recordset_world.GetGeometry();//获取圆柱对象
R.AddNew(geometry);//将圆柱对象添加至原方柱数据集
geometry.Dispose();
recordset.Dispose();
recordset_world.Dispose();

效果如下:

另外推荐使用球面场景,平面场景渲染性能不好
好的,非常感谢!
您好,按您说的方法,试了下,仍然是那个问题,追加到模型后,圆柱变成了方柱。
麻烦上传一下图片,我看看你追加之后的效果。
那个链接是追加后的效果图。
这情况确实比较奇怪,我这边拿你的数据无法重现。建议使用桌面产品iDesktop追加行功能,追加过去看看有没有问题,功能位于:数据选项卡---数据处理---追加行。
在桌面版上将记录追加过去后,是圆柱。自己做的程序是不是因为属性信息没有全部追加过去的原因。
1.试试DatasetVector.Append

2.还不行的话,直接在程序引用iDesktop安装目录下的Bin包中的dll试试
...