首页 / 浏览问题 / 云GIS / 问题详情
WebGL中管线的彩色不见了。
91EXP 2018年08月30日

场景发布为缓存,在桌面中加载是彩色的?在webgl中加载是黑色的

<!--StartFragment -->

image

管线颜色没有了,但是管井的颜色是正常的,奇怪。

1个回答

您好,管线颜色应该是您在我们桌面设置的风格,而webgl目前只加载数据,不加载风格,而你的管井颜色是模型的纹理贴图,是模型自带的属性,当然会保留下来。您需要做的是重新在webgl端给管线设置风格,参考接口:

s3mtileslayer.style3D和s3ltileslayer.setObjsColor(ids, color)
5,985EXP 2018年08月31日
几个问题:

1、管线和管点都是通过桌面生成自定义专题图加载的符号库,一样的方法啊?

2、这个只能设置颜色,我原来管线上有流动的箭头怎么搞?

3、这个是根据图元ID设置,我原来是根据属性生成不同的symbolID来设置,这个图元在webgl中怎么做条件查询?
1.管线设置的是风格(主要是我们系统自带的颜色,线性),而点符号设置的是模型(其它平台做好的纹理贴图,而非我们平台提供的风格)

2.流动箭头没法弄,应该webgl中GIF不能动态的渲染

3.发数据服务,用iserver数据服务接口查ID。
这个ID是SmID吗?
是的,smid

http://support.supermap.com.cn:8090/webgl/examples/editor.html#showUnderGround

例子里面的管线是彩色的,没有看见它设颜色、样式啊。

那你先在桌面打开缓存看看,线的样式丢了嘛
桌面打开是缓存是正常的,彩色。
你在webgl打开场景是scene.open打开的吗?
是的,使用scene.open打开的。
直接用在线范例试试呢,把里面的url替换成你自己的,还是不行的话,你把管线流动的箭头先去掉,再切缓存看看呢。

好的,另外请教个问题,我查询方法用对了么?只返回了1000条数据?

  doSqlQuery(url, sql, dsName, onComplete, onFailed) {
    try {
      var getFeatureParam, getFeatureBySQLService, getFeatureBySQLParams;
      getFeatureParam = new SuperMap.REST.FilterParameter({
        attributeFilter: sql
      });
      getFeatureBySQLParams = new SuperMap.REST.GetFeaturesBySQLParameters({
        queryParameter: getFeatureParam,
        toIndex: -1,
        datasetNames: dsName
        // datasetNames: ["二维数据:" + "Building"]
      });
      // var url = 'http://www.supermapol.com/realspace/services/data-cbd/rest/data';
      getFeatureBySQLService = new SuperMap.REST.GetFeaturesBySQLService(url, {
        eventListeners: {
          "processCompleted": onComplete,
          "processFailed": onFailed
        }
      });
      getFeatureBySQLService.processAsync(getFeatureBySQLParams);
    } catch (ex) {
      console.log("doQuery Exception ", ex)
    }
  }

iServer做了限制,可以修改所发布服务提供者的config节点下,新增/修改queryExpectCount配置项,如: >queryExpectCount<2000>/queryExpectCount<   设置默认返回记录数。
使用setObjsColor方法,远处看有颜色,拉近了是黑色的。
GIF去掉了吗,我估计跟这个有关系。
我把gif去掉就是根细线,管径没有了。
是桌面查看缓存都没有管径了吗
是在桌面看的。

需要给线指定线型三维符号才行。

我没用gif,用了jpg,但是有的高度显示,有的高度不显示贴图,时隐时现,而且我的专题图scene.open报404错误,而通过scene.addS3MTilesLayerByScp可以打开。

404错,是因为图层名中带特殊字符  #

你做自定义专题图时,桌面会自动给相同命名的图层加#

并且图层名无法修改,只能修改图层别名

你需要做的是先将自定义专题图图层别名改为无 #

然后切缓存,之后在新的场景打开缓存文件(不要直接用缓存的场景,不然图层名还是带#的)

效果如下图:

好的,多谢,但是贴图时隐时现问题怎么解决,我发现有时候换个角度又有贴图,再换一个又没有了。

你说的时隐时现的现象我未能重现,我这边现象时有些管线有贴图,有些没有,总的来说是对管线贴图支持得不友好,我已经上报缺陷处理,缺陷号:ICRS-427

...