首页 / 浏览问题 / 组件 / 问题详情
桌面属性中Geoposition表示的是什么?
佚蓝  (17分)  才疏学浅
9月4日, 2017

由于OSGB没法转到记录集去通过Geometry去获取模型的中心位置点,所以我想知道这个东西是不是用来表示位置的?有没有什么办法获得OSGB数据中某个模型的中心点?

1个回答

您好,您的OSGB是模型生成的缓存,还是倾斜摄影的数据。

如果是前者,也只能获取到原始模型属性表中的属性,获取不到模型本身的属性,如果需要做查询的话,建议先把先关信息存在属性表中,再切OSGB缓存。

如果是后者,建议对倾斜摄影数据进行单体化,单体化意味着在模型上面贴了一层矢量面,通过对矢量面的属性进行查询,来实现相应的功能。
胡林  (5,985分)  登峰造极
9月4日, 2017

OSGB是模型生成的缓存。

意思是不能获取到模型本身在整个场景中的位置信息吗?

那就只能通过原始的属性表中的经纬度和标高来确定他的位置吗?

那这个Geoposition是干什么用的呢?感觉是一个表达位置的值呀。

image

GeoPosition<!--StartFragment -->是UDB数据源存储的时候,内部可能存在数据量大或者数据特殊,需要分块存储的情况,这个字段是用来指向块的位置的。OSGB模型跟其它三维模型的存储方式不一样,不能当做单个模型来使用它。

那如果我要获取选择的模型的中心坐标,有没有什么办法可以解决这个问题呢?

而且我用获取出来的经纬度再加标高的方法确定坐标,这样出来的坐标好像是错的,并不是选中模型的中心,而且偏了很远。
切缓存之前,先把模型的Position存在属性表里面(新建字段),切缓存之前的GeoModel.Position属性,就是模型的锚点。
...