# 模型高阶转换
想要在场景中添加模型资源,首先需要把本地文件上传到BIMFACE并进行轻量化处理,文件转换这一步骤可通过控制台或调用服务端API两种方式来实现,具体可参考文档 (opens new window)。
球体场景内支持添加BIM模型、CAD图纸、GIS数据等多源模型。其中需要注意的是,CAD图纸需指定转换为三维图纸,才可在GIS场景内进行添加应用。
在本篇开发指南中,我们将重点介绍如何通过模型转换的参数配置,实现球体场景内毫米级的位置自动校准。
# BIM模型转换配置
为了实现高精度位置校准,在转换时需要传入准确的建模坐标系信息。项目中常见的坐标系一般为WGS84地理坐标系或高斯-克吕格3度带投影坐标系,针对这两类坐标系的配置,可在控制台 (opens new window)发起文件转换的页面内设置,参数在【高级选项-坐标】模块传入。
# 高级选项-坐标
该配置仅在添加模型至GIS场景中时生效,配置了坐标信息的模型在添加至场景中时,将自动进行高精度位置校准。
坐标配置支持CGCS-2000地理坐标系(可等同于WGS84地理坐标)与高斯-克吕格三度带投影坐标系。在进行转换时,需要先明确模型本身的坐标信息。
# 地理坐标
地理坐标是通过经纬度+高程对地球上的任一点进行准确定位的。
若项目模型建模坐标系是CGCS-2000坐标系,则需要输入校准基点、经纬度、高程来对模型位置进行准确描述。
- 校准基点:模型自身坐标系下的某一点,例(0,0,0)代表模型建模原点;
- 经纬度、高程:校准基点对应的地理坐标,例经纬度(116.39136,39.904964),高程0m,就代表将模型的原点放置在该经纬度处(北京天安门)
如图所示,最终加载该模型至球体GIS场景中时,模型原点会自动放置在北京天安门处。
# 投影坐标
若项目模型建模坐标系是高斯克吕格(GK)3度带投影坐标,则需要在转换时配置对应的投影带号或自定义投影中央经线等参数。
# 标准GK投影
标准的高斯克吕格3度带投影从东经1.5°经线开始,每跨3°经线为一个投影带,各投影带为独立投影坐标。其中,我国领土跨越22个投影带,即24带至45带,主要集中在25带至45带。
若项目模型为标准GK-3度带投影坐标系,则需要输入投影方式、偏移值、旋转值来对模型位置进行准确描述。
- 投影方式:指定带号的高斯克吕格3度带投影
- 偏移值:模型建模原点到投影坐标系原点的偏移量,标准投影带统一规定将纵轴向西偏移500km,即偏移值通常为(500000,0,0)
- 旋转值:模型的旋转角度,大多情况下旋转值为0
需注意的是,标准3度带投影存在两种不同描述,例第25带投影坐标系,一种描述为“3-degree Gauss-Kruger zone 25”,定义统一在横坐标值前再加上带号“25”,即偏移值为(25500000,0,0);另一种描述为“3-degree GaussKruger CM 75E”,则不在横坐标前加带号,偏移值为(500000,0,0)。
如图所示,最终加载该模型至GIS场景中时,模型原点会自动放置在经度75°,纬度0°处。
# 自定义投影坐标
由于高斯克吕格投影存在一定的投影变形,在实际项目中,通常会通过自定义中央子午线的方式来减小变形的影响。
若项目模型为自定义3度带投影,则需要输入投影方式、中央经线、偏移值、旋转值来对模型位置进行准确描述。
- 投影方式:选择自定义3度带投影,即“3-degree GaussKruger 自定义”
- 中央经线:项目上自定义的投影中央子午线
- 纵轴偏移:是否对纵轴进行了西偏500km处理,若有则传入500000
- 偏移值:模型建模原点到投影坐标系原点的偏移量,通常为(0,0,0)
- 旋转值:模型的旋转角度,大多情况下为0
如图所示,最终加载该模型至GIS场景中时,模型原点会自动放置在经度76.4°,纬度0°处。
# CAD图纸转换配置
CAD图纸的转换与BIM模型类似,都需要传入准确的建模坐标系信息来实现高精度位置对齐。需要特殊处理的是:为了能够在球体场景内添加图纸,需转换为三维图纸,即额外配置转换参数:{"viewType":"3D"}
项目图纸的建模坐标系通常为高斯-克吕格3度带投影坐标系,具体配置内容可参考上一小节。
由于控制台-图纸转换页面未配置高级选项-坐标内容,需将参数填入到自定义转换参数内。例图纸为高斯-克吕格三度带自定义投影,中央经线为113°,存在500km纵轴西移。则转换时可传入参数:
{"viewType":"3D","coordinateConvert":"true",
"coordinateSystem":{"geogCS":{"type":"CGCS2000"},"projCS":{"centralMeridian":"113","projection":"Gauss_Kruger_3_Degree","falseEasting":"500000"}},"unit":"m"}
如图所示,最终加载该图纸至GIS场景中时,模型原点会自动放置在经度113°,纬度0°处。
# GIS模型转换配置
OSGB、3DTiles等GIS数据通常在模型内部自带有对应的坐标信息,转换时无需额外进行坐标配置,直接发起转换即可在球体场景内实现自动位置校准。
OSGB的数据格式要求可参考文档 (opens new window)。
完成以上模型转换的配置,即可搭建球体场景进行应用了~