首页 / 浏览问题 / WebGIS / 问题详情
scene.open加载的layers如何对应数据服务
18EXP 2023年02月20日
求解答!

2 个回答

您好,一般来说Scene.Open打开的图层layers里的都是缓存图层,是三维切片缓存,已经不是数据集本身的矢量数据了。

所以只能说您这边有存储或者已知缓存图层使用的数据源和数据集(可以尝试从图层名称获取),才使用对应的数据服务。

这些layers本身都是矢量数据集切得三维切片缓存,在数据上直接对应的是缓存不是数据集了。

希望可以帮助到您。
10,758EXP 2023年02月20日

这个是加载单个图层关联数据服务的方法,我想问scene.open加载多个layer,如何让多个layer和数据集对应

scene.open打开场景后,在scene.layers.find()打开逐个图层来绑定你的数据服务。
我想问的是有没有那个字段可以对应上相应的数据集
切缓存和缓存是独立存在的了,没有和源数据集关联的,也正是因此查询关联才需要使用setQueryParameter来设置建立的。

如果您数据集中的数据添加到场景中未修改图层名,是默认的图层名,切缓存时各个图层也未特殊设置缓存名称,是默认的缓存名称。

那么缓存的图层名称格式会是****@****的形式,@前是数据集名称@后是数据源名称。

但是过程中有过各种修改是没看到的,所以图层名称只是可以辅助获取。

一般切得单图层缓存或者场景缓存,正常情况设置setQueryParameter是需要您自己清楚哪一份名称的缓存图层它本身对应的数据集是什么。

您好,

1、scene.open()加载的url可以是iserver发布的服务地址,以官网加载倾斜模型为例,示例地址:http://support.supermap.com.cn:8090/webgl/examples/webgl/editor.html#S3MTiles_suofeiya

2、访问该服务地址,在scenes-未命名场景-layers目录下可以查看到对应的图层“Config”(不同用户发布的服务目录是不同,此处仅为官网示例),即示例中需要定位的图层:var layer = scene.layers.find('Config'); 

1,865EXP 2023年02月20日
...