iObject中怎么实现查询OSGB缓存属性?

0 投票

 我之前是想用选择集转换到记录集,然后用GetFieldValue去查询,但是运行中发现貌似OSGB类型的数据没办法转到recordset里面呀。catch抓到说是三维图层必须是Layer3DDataset。所以我现在有点懵逼。

不知道这种办法能否实现,不能的话,麻烦指点一二,感谢

selectionDemo = sceneControlDemo.Scene.FindSelection(true)[0];
recordset = selectionDemo.ToRecordset();

8月 31, 2017 分类:  353次浏览 | 用户: 佚蓝 才疏学浅 (17 分)

1个回答

0 投票
 
已采纳
您好,您具体想查询OSGB模型的什么属性?OSGB是没有记录集的,您的需求可能需要用其它的方式来实现。
8月 31, 2017 用户: 胡林 登峰造极 (5,972 分)
采纳于 9月 15, 2017 用户:佚蓝
目前我碰到的问题是要获取它的SmUserId、坐标点,后面可能要获取更多的模型自带的参数之类的信息。
如果您的OSGB是矢量数据(带记录集)切的缓存,那么可以通过Layer3DOSGBFile.GetFieldValueOfSelectedObject 方法 ,Layer3DOSGBFile.GetFieldInfos 方法 等来获取对象的属性信息。

如果你的OSGB是原始的倾斜摄影模型,那么模型没有属性,当然也就获取不到属性了,只能对模型作单体化后再获取属性。
您好,请问有没有实际的范例呢?我对这两个方法的使用不是很明白。

http://support.supermap.com.cn/product/search.aspx?querystr=osgb选择超图代码,即可看到相应的范例,接口的使用可以查看帮助文档,里面介绍的挺详细的

就是用楼上所说的方法获取选择集某字段

...