经纬度转换
实时把经纬度转换为数字孪生体中的坐标,并赋予GPS系统实时定位显示
参数
new MMSDT.GISconversion(standard, altitude)
standard: 基准点校准参数
altitude: 固定数字孪生体中的高层高度数值
属性
.amend[latitude,latitude]
latitude:经度整体偏差修正
latitude:维度整体偏差修正
一般用于三维模型构建的位置偏差修正
.LAL(group)
group: 经纬度实时数据
返回得到数字孪生虚拟场景中的坐标值
代码示例
//经度、纬度坐标信息(模拟接口数据)
var groups = [
[114.03088580997468, 22.531346260867647],
[114.02994167240143, 22.531167882474634],
[114.02910482318879, 22.534031818828048],
[114.02842890651704, 22.536717324561742],
[114.03262388141633, 22.53734162284042],
[114.03304767044068, 22.5348790965729],
[114.03012942703248, 22.53438361314341],
[114.03085898788453, 22.531351215821037]
]
//基准点校准(场景有效范围内)
var standard = {
GISeast: [114.02912091644288, 22.533987225117066], //经纬度东(经度、维度)
GISwest: [114.03311204345704, 22.534720542066307], //经纬度西(经度、维度)
GISsouth: [114.03058003814698, 22.52849713398749], //经纬度南(经度、维度)
GISnorth: [114.03263997467042, 22.537316849151736], //经纬度北(经度、维度)
VReast: [-142.299,177.800], //对应的数字孪生体东(Z轴、X轴)
VRwest: [139.997,209.224], //对应的数字孪生体西(Z轴、X轴)
VRsouth: [-42.804,-254.411], //对应的数字孪生体南(Z轴、X轴)
VRnorth: [124.507,377.817] //对应的数字孪生体北(Z轴、X轴)
}
//初始化经纬度校正(基准点校准参数,固定数字孪生体中的高层)
var transform = new MMSDT.GISconversion(standard, -0.666);
//位置修正(经度,维度)
transform.amend = [-15,0];
//实时把经纬度转换为数字孪生体中的坐标
var arrayData = transform.LAL(groups);
//GPS定位系统的车辆参数
var jsonData = [
{
id: 'MG9528', //车辆ID号
arrayData: arrayData, //生成的数字孪生体中坐标
interval:10000, //每条坐标数据间隔的时间,毫秒
}
]
//GPS定位系统设置
var parameters = {
model: 'models/car.gltf', //需要定位的车辆三维模型
scale: 1.3, //三维模型缩放大小
rotation: -Math.PI*0.51, //车头向前,旋转偏移(注意经纬度校正后有偏差)
icon: 'textures/gps.png', //显示图标
color: 0xff0000, //图标默认颜色
height: 13, //图标相对高度
size: 1.5, //图标缩放大小
id: ['MG9528'], //数组,车辆ID号
}
var positioning = new MMSDT.GPSpositioning( parameters, callback ); //初始化GPS定位构建函数(车辆参数,加载完成回调函数)
function callback(){
console.log("定位车辆加载完成");
positioning.locations( jsonData ); //定位接口,传入实时数据
setInterval(function(){
positioning.locations(jsonData); //测试,传入下一条实时数据
},71000);
}
在线演示
Powered by mms3D