JavaScript SDK版本3.6.302

2025-01-22

球体场景
  • 二维图纸以三维进行转换后,可在球体场景中以图层、图元为单位进行显隐、着色操作。尤其在图纸与地形叠加展示的场景下,能够快速切换需要展示的图层内容,隐藏不关键的琐碎图层。
// 图纸转为三维的配置项说明,设置正确的情况下,球体场景内加入图纸即能够自动放置到准确位置
// 坐标系配置有一定业务门槛,如有需要可联系BIMFACE客服协助进行场景搭建
{
  "config": {
    "viewType": "3D",  // 图纸转为三维
    "mesh_lod_count": 0,  // 图纸lod设置,可默认填入
    "coordinateConvert": true,  // 开启投影坐标到地理坐标的转换
    "coordinateSystem": {  // 当前图纸的具体坐标系描述,示例为标准高斯投影的坐标
      "geogCS": {  // 椭球体信息
        "type": "CGCS2000"  // 投影所用的椭球体,一般新项目都使用CGCS2000,可默认填入
      },
      "projCS": {  // 投影方式信息
        "projection": "Gauss_kruger_3_Degree",  // 高斯-克吕格3度带投影,工程项目大部分使用该投影,可默认填入
        "falseEasting": 500000,  // 东偏移值,标准高斯投影默认东偏移500km
        "centralMeridian": 113  // 投影的中央经线,建议由勘测、设计方提供
      }
    },
    "unit": "m"  // 图纸中单位长度的量纲单位,基建类平面图一般以米为单位
  }
}
/*
示例为隐藏场景中图纸内的“文字注释”、“放坡线”图层内容
转为三维的图纸,BIMFACE会将图纸的图层名称(LayerName)、图层ID(LayerId)作为前端可快速筛选的字段,与Viewer3D中的ObjectData概念一致
因此,用户也可以用相同方式实现基于图层、图元的着色、隔离等操作
*/

// 获取指定的图纸对象
let drawingLayer = viewer.getLayerManager().getLayer(drawingLayerId);
// 隐藏所有图层为“文字注释”或“放坡线”的图元内容
drawingLayer.getComponentManager().hide({
  objectData: [{layerName: "文字注释"}, {layerName: "放坡线"}]
});
viewer.render();
  • 提供了基于工程坐标系转为标准高斯投影坐标的模型处理方法,设置后可将三维模型自动、准确放置到球体场景中
/*
示例为将工程坐标系转为标准高斯投影坐标系的转换配置方法,
如果用户希望模型放置到球体GIS场景时,其位置能够自动计算,就需要在发起模型转换时填入相关信息

工程坐标系:
无论是项目平面图纸还是三维模型,都会基于一个水平面作为基准进行建模,这个面向具体项目的坐标系可认为是工程坐标系
为了将地球这个椭球体简化为工程项目所在地的平面坐标系,且保障误差在工程建设允许的范围内,需要对这部分区域进行投影,一般采用高斯投影法
这种高斯投影法不同于标准高斯投影,而是在标准高斯投影基础上考虑额外的投影面高程、平移、旋转等变化
以下的所有参数即为了准确描述两个问题:1)标准高斯投影的描述;2)工程坐标到标准高斯投影过程中的纠偏参数

如何获得参数:
1)项目设计初始即可获得项目所在区域的地形图,可向地形图提供单位咨询
2)项目施工进场后,一般会通过RTK等设备进行现场测绘,可直接使用RTK设备导出的参数

坐标系配置有一定业务门槛,如有需要可联系BIMFACE客服协助进行转换配置
*/

{
  "config": {
    "coordinateSystem": {
      "customProjectCS": {  // 新增自定义工程坐标的描述
        "target": {  // 目标坐标系,即标准高斯投影
          "centralMeridianLongitude": 105,  // 高斯投影的中央经线
          "surfaceheight": 560,  // 投影面高程
          "xoffset": 500000,  // 东偏移
          "yoffset": 0,  // 北偏移
          "ellipsoid": "cgcs2000"  // 椭球体,一般默认为CGCS2000
        },
        "planeparam": {  // 平面纠偏参数
          "offsetx": -0.0045112249790691,
          "offsety": -1.0281285387463868,
          "rotate": 0.00010538833333333334,
          "scale": 0.9999992467696618,
          "starty": 3500208.736928539,
          "startx": 504358.7509112249
        },
        "altparam": {  // 高程纠偏参数
          "starty": 3500207.7088,
          "startx": 504358.74639999995,
          "ppmN": 0.1818812837711071,
          "ppmE": -0.2585564437195884,
          "altbase": 2.87324156e-8
        }
      }
    }
  }
}
服务端API