首页 / 浏览问题 / 桌面GIS / 问题详情
iDesktop10i 批量导入模型到数据集,模型显示异常
53EXP 2021年09月11日

产品版本:

异常情况:

qingxie_little 三维缓存图层是直接加载的三维切片文件

TarDataset@test 模型图层是将三维切片缓存批量导入到模型数据集中生成的

结果TarDataset@test 图层显示的时候不正常

这是为什么呢?

1个回答

您好,倾斜数据不推荐导入模型数据集,纹理会错乱,一般就是在场景加载scp,然后进行操作的。如果要到前端使用,直接对原始osgb文件进行倾斜入库,生成s3mb三维缓存即可。
jjz
1
4,720EXP 2021年09月13日

但前有导入过可以正常显示的模型数据集,是iDesktop的版本原因或是数据的原因吗?

会纹理错乱的那份数据就是基于已导入的模型数据集制作三维缓存生成的三维缓存文件

一般很少有人把缓存作为模型数据集导入,您是需要做什么操作吗?如果必须要导入为模型数据集,您可以把数据上传百度云,我这边测试一下,如果纹理有问题可以报缺陷给研发。
因为数据需要入库到数据源型数据源提供给其他用户预览,就需要把它导入到数据源中,

之前导入正常的貌似是iDesktop 10i 10.1.0的

链接:https://pan.baidu.com/s/1_xZfp_QIm7rA6Ric2VilnQ
提取码:85a7

在不同角度不同比例尺下,某些部分有时候显示又是可以的

我这边测试了,确实有几层纹理错乱、加载不全。您分享的链接不要取消,我们这边系统上传有最大文件大小限制,我直接把您的链接一块上报。
好的,非常感谢!
缺陷已经上报,如果研发那边解决了或者有回复,我会继续和您反馈。目前我用您的文件导入到10.1.0版本 iDesktop 中,发现也是纹理错乱的,推测是因为 s3m 缓存和新版 s3mb 缓存不一样。建议您用原始的osgb,在10.1.0版本生成一下,然后再导入,看下是否正常,如果正常可以暂时用老版本继续使用。如果不行,您可以关注下后续发布的版本是否解决。
您好,研发那边需要原始的osgb数据才能判断,麻烦您上传下百度云,然后回复我下,谢谢!
想问下至少需要多大呢?只给一小部分是否可以呢?不方便提供过多
能复现问题就可以。

链接:https://pan.baidu.com/s/1PwyZq7wR3TBiUQCGPf3cDA 
提取码:zzp6

异常重现步骤已在保存到txt文本中。

还有想问下你这边知道往【场景】中的添加【Mongodb】的【3维瓦片】到【普通图层】这一功能,是否可用【.Net 开发】的函数实现呢? 在【地图】中有【Layers.AddCache】 方法,但并不适用与场景的【Layer3Ds】,有的话,应该使用哪个函数呢?

新的数据我这边测试了,全都用10.1.2,然后按照您的步骤,最后导入数据及后没有错乱的情况,只是模型表面没有缓存那么光滑了,您能截个图具体新的数据是哪里错乱吗?

另外昨天研发那边反馈,缓存导入数据集这个功能,不具备将大规模数据存入的能力,单纯是为了检查小块数据问题存在的,如果您要把大范围的数据存到数据集中,建议再考虑一下。如果您用的是MongoDB,有个MongoDB瓦片管理的功能,可以将scp存入库中,帮助文档可以搜关键字,“保存到MongoDB"。

组件的问题,请复制一下问题和图片,然后新建一个组件GIS分类的问题进行提问,我这里负责的是桌面GIS哈,组件那边也有专人负责。

我这边的导入数据集录屏:

链接:https://pan.baidu.com/s/18bcvV4RA3LEqsFo0uy8GGA 
提取码:v7v6

不知道是否因为操作有误? 还是软件环境设置导致的呢?

启用GPU计算是安装之前使用iDesktopX中的要求和连接下载相应的软件配置的如果不具备将大规模数据存入的能力,那如果能实现组件GIS打开MongoDB的三维缓存,就会改到那边去了

我按照您的环境设置改了之后重新入库,再导入数据集,也没有错乱。建议您重新解压一个10.1.2.0331 iDesktop,有可能是使用过程中有文件损坏。

卸载后重新安装也是同样的结果,不过其实导入的是osgb格式的缓存文件的话,是正常的,

就是用模型数据集生成s3mb格式的再导入的出现这个问题,也有可能是机器原因,既然你们那边都可以,我也不打算再深入了

但如果不是导入为模型数据集,存储到mongodb再预览,还可以修改模型数据吗?

还是说如果不导入为模型数据集的话,倾斜数据必须在其他软件中修改,然后再超图桌面端的场景中 加载预览?
可以修改,您看三维地理设计那边,倾斜部分的操作,对osgb格式和s3mb格式的倾斜缓存都是有效的,例如裁剪、镶嵌等。其他的操作您可以直接帮助文档中搜索倾斜,或者三维缓存等关键字进行查看。
我这里明白哪一步出问题了,您是把osgb导入然后生成的缓存再导入,我这里是osgb入库生成的缓存然后再导入数据源。建议您看下倾斜入库这个功能,倾斜只支持这种方式生成三维缓存 。
因为现在的场景是:

在一台电脑中把模型数据入库,然后其他电脑也能访问、编辑该模型数据,并且可以导出使用。

目前的思路是

1. 把模型数据导入到pg库数据源中;

2. 其他电脑打开pg数据源预览;

3. 选中模型数据集生成s3mb缓存

所以当完成第1步时,osgb或s3mb的数据已经不重要了,因为其他电脑不能直接访问到原始的缓存文件,只能操作模型数据集。

按你这边的意思的话,也就是说倾斜摄影数据不支持这个思路的第3步对吧?

因为【倾斜入库】功能是把osgb转为s3mb,除此之外其他方式生成的倾斜数据s3mb缓存都不支持,只能在第1步中使用(第2、3步已经和osgb、s3mb文件无关)
iDesktop 10i (10.0.0以及之后)都是用的倾斜入库来生成s3m或者s3mb缓存,从来没有任何教程或者帮助文档支持过把倾斜导入到模型数据集,生成模型缓存这个操作。如果后续不需要发布到超图的WebGL中,其实您不生成s3m或者s3mb直接使用osgb就可以了,因为osgb自带lod,加载速度是最快的。模型生成缓存只针对例如Revit、3Ds Max制作的BIM,精模或是普通模型,不能对倾斜生成缓存。另外针对第2步,研发专门强调不建议把大块倾斜导入的模型数据集,这个功能是为了检查小块数据是否正常存在的,不是为了存储倾斜存在的。

简言之,倾斜缓存只支持通过倾斜入库生成。

目前只有MongoDB才能保存瓦片,其他数据库没有这个能力。瓦片是专门为了发布到前端浏览速度快才切的,一般都是直接上传iServer,然后能访问到iServer的人可以:
1. 直接iServer预览
2. 自行加载到WebGL
3. 把iServer服务在iDesktop中打开
明白了,也就是说,如果需要对倾斜摄影数据进行这种 【入库】->【预览编辑】->【导出】数据管理流程,只能基于原始的osgb或s3mb文件进行。

如果说保存到MongoDB的话,是只支持预览吧?不支持导出,编辑也只是编辑预览的效果,并没有编辑到Mongodb中的物理数据
是的,只能基于原始缓存进行编辑等操作。

MongoDB保存三维瓦片后,基本能只能发布服务查看,以及从MongoDB中将瓦片删除。
明白了,非常感谢!
...