在超图桌面端9D有相关的参数设置,但是超图组件没有找到相应的接口。如下:
1.文件类型,我想生成s3m格式的
2.点外挂模型生成缓存
3.瓦片边长,组件中是叫【UpdateSize】吗?
您好,你可以参考下面的截图,相关参数都有
你好我这边试了,但是发现一些问题,如下
1.切出来后,在桌面端不能加载,没有数据的样子。
2.切成出来的缓存文件里,只有一个图层下有一个*.s3m文件,但桌面切出来的每个图层文件都有*.s3m文件。
3.组件除了对专题图层生成缓存文件夹了,还对相应的数据集也生成缓存文件夹了。
4.另外,桌面新生成的工作空间为.sxwu,组件就是指定.sxmu也还是生成.smwu
请问是不是还需要设置一些其他参数?还是什么问题,需要怎么解决?
比如场景能不能用工作空间中已经保存好了的?还是说需要新建,然后添加自定义专题图,再生成缓存?
组件生成的目录如下:
桌面端生成的目录如下:
组件生成的一个缓存图层,只有一个.s3m
桌面生成的一个缓存图层,有多个.s3m
组件生成的一个缓存图层,没有.s3m
可以对保存好的场景直接切缓存,建议你先参考范例,成功切出一个缓存,再考虑其它问题
范例在超图技术资源中心
这个demo,我测试了,跟我写的并没有区别,还是出现一样的问题。
还请帮忙咨询下你们那边研发人员,或者说有没有组件成功切场景自定义专题图的范例。
1影像缓存和矢量缓存能成功生成。
2.当我场景中的图层是自定义三维专题图时,生成缓存时。它会生成两个文件夹,其中一个是矢量缓存文件,能够加载显示。 但是我想要的自定义专题图文件里确实空的,只有一个xml文件,还望帮忙解决。
1.生成的缓存文件目录,场景图层中只有一个自定义专题图层,但是也会生成矢量缓存;桌面端并不会,只有一个文件夹。
2.矢量缓存文件,能够加载显示(但我不想要这个)
3.这个是要的,自定义专题图层对应的文件夹,但是没有缓存文件。
4.这是桌面端正常生成的缓存文件,我想要的就是这样的结果,但组件做不到。
自定义专题图生成s3m缓存代码:
WorkspaceConnectionInfo info = new WorkspaceConnectionInfo(@"D:\zhanhui\iserver\supermap-iserver-9.1.0-win64-zip\supermap-iserver-9.1.0-win64-zip\samples\data\Realspace\PipeLine3D\Pipe3D.sxwu"); Workspace workspace = new Workspace(); workspace.Open(info); Scene scene = new Scene(); scene.Workspace = workspace; scene.Open("NetWork@Pipe3D"); Layer3DDataset layer3ddataset0 = scene.Layers[0] as Layer3DDataset;//该图层为自定义专题图 Layer3DDataset layer3ddataset1 = scene.Layers[1] as Layer3DDataset; Layer3DDataset layer3ddataset2 = scene.Layers[2] as Layer3DDataset;//该图层为自定义专题图 Layer3DDataset layer3ddataset3 = scene.Layers[3] as Layer3DDataset; layer3ddataset0.IsBuildOSGBCache = true;//是否生成三维切片缓存 layer3ddataset2.IsBuildOSGBCache = true; layer3ddataset0.IsBuildOSGBPipeCache = false;//自定义专题图不要用点外挂生成 layer3ddataset2.IsBuildOSGBPipeCache = false; layer3ddataset0.FileType = CacheFileType.S3M;//文件类型 layer3ddataset2.FileType = CacheFileType.S3M; layer3ddataset0.TileWidth = 152.87;//瓦片边长 layer3ddataset2.TileWidth = 152.87; layer3ddataset0.FilterPixelSize = 2;//像素过滤值 layer3ddataset2.FilterPixelSize = 2; string[] names=new string[2]{layer3ddataset0.Name,layer3ddataset2.Name};//过滤要生成的图层,这里只生成自定义专题图 SceneCacheBuilder builder = new SceneCacheBuilder(); builder.CompressedTextureType = CompressedTextureType.DDS;//纹理压缩类型 builder.IsCalNormal = false;//不计算法线 builder.OutputFolder = @"C:\Users\hulinPC\Desktop\huancuntest\huancun";//缓存路径 builder.OutputLayerNames = names;//缓存图层名数组 builder.OutputSceneName = scene.Name;//场景名 builder.Scene = scene;//场景 builder.ProcessThreadsCount = 8;//线程数 builder.Build();
注意点如下:
1.不要用点外挂生成
2.生成缓存图层可以过滤,效果如下:
好的,问题已解决了。
有空帮我再看看之前提的一个问题,到现在也没有回复.链接如下。
二维编辑问题