1.3DTiles数据格式
其他数据转3DTiles方式
官网地址:http://www.cesiumlab.com/
2.加载3DTiles数据方式
DXKJ: {
DXKJ20200304GX: [
"Model/20200415/GX/YXLINE/tileset.json",// 中国移动管线
"Model/20200415/GX/LXLINE/tileset.json",// 中国联通管线
"Model/20200415/GX/TXLINE/tileset.json",// 中国铁通管线
"Model/20200415/GX/DTLINE/tileset.json",// 供电通讯管线
"Model/20200415/GX/TVLINE/tileset.json",// 有限电视管线
"Model/20200415/GX/SSLINE/tileset.json",// 饮用水管线
"Model/20200415/GX/GDLINE/tileset.json",// 供电管线
"Model/20200415/GX/AQLINE/tileset.json",// 暗渠管线
"Model/20200415/GX/LDLINE/tileset.json",// 路灯管线
"Model/20200415/GX/RSLINE/tileset.json",// 热水管线
"Model/20200415/GX/TRLINE/tileset.json",// 天然管线
"Model/20200415/GX/WSLINE/tileset.json",// 污水管线
"Model/20200415/GX/YSLINE/tileset.json",// 雨水管线
]
},
// 加载3DTiles模型
UrlsDXKJ.forEach(item => {
let longitude = 119.76355644470617;
let latitude =35.70324967971085;
let height = -31;
let heading = 0;
let scale = 1;
let degrees = -2.036954362399994;
let tileset2 = new NF.Cesium3DTileset({
url: ImageUrl + item,
maximumScreenSpaceError: 2,
luminanceAtZenith: 0.2,
show: false,
});
let DXKJGX =ZhiYunGisProperty.ZhiYunViewer.scene.primitives.add(tileset2);
ZhiYunGisProperty.DXKJ20200304GX20200415.push(DXKJGX);
tileset2.readyPromise.then(function (argument) {
ZhiYunGisProperty.changeModelTilesetPosition2(tileset2, longitude, latitude, height, heading, scale, degrees);
});
});
// 使用矩阵对3DTiles的高度、位置转换
changeModelTilesetPosition2(tileset, lon, lat, height, heading, scale, degree) {
let position = NF.Cartesian3.fromDegrees(lon, lat, height);
let mat = NF.Transforms.eastNorthUpToFixedFrame(position);
let rotationX = NF.Matrix4.fromRotationTranslation(NF.Matrix3.fromRotationZ(NF.Math.toRadians(heading)));
NF.Matrix4.multiply(mat, rotationX, mat);
let m = NF.Matrix4.fromUniformScale(scale);
NF.Matrix4.multiply(mat, m, mat);
tileset.root.transform = mat;
},