首页 / 浏览问题 / 组件GIS / 问题详情
iObject中怎么实现查询OSGB缓存属性?
17EXP 2017年08月31日

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

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

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

1个回答

您好,您具体想查询OSGB模型的什么属性?OSGB是没有记录集的,您的需求可能需要用其它的方式来实现。
5,985EXP 2017年08月31日
目前我碰到的问题是要获取它的SmUserId、坐标点,后面可能要获取更多的模型自带的参数之类的信息。
如果您的OSGB是矢量数据(带记录集)切的缓存,那么可以通过Layer3DOSGBFile.GetFieldValueOfSelectedObject 方法 ,Layer3DOSGBFile.GetFieldInfos 方法 等来获取对象的属性信息。

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

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

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

...