2.10.2 坐标转换

坐标转换

屏幕坐标转经纬度坐标

//将屏幕坐标(100,200)转换为经纬度
var pos = CooWasm.Conversion.xyToLlh(100,200);
console.log("转换后经纬度坐标:"+pos.x+','+pos.y+','+pos.z);

屏幕坐标转经纬度坐标(批量)

//批量转换
var posArr = CooWasm.Conversion.vec2ArrayToLlhArray([
    new CooWasm.Vec2Obj(100, 200),
    new CooWasm.Vec2Obj(200, 200),
    new CooWasm.Vec2Obj(100, 300),
    new CooWasm.Vec2Obj(300, 200)
]);
// 遍历 Vec3Obj 数组并格式化输出
for (let i = 0; i < posArr.length; i++) {
  const point = posArr[i];
  console.log(
    `[${i}]: x=${point.x}, y=${point.y}, z=${point.z}`
  );
}

经纬度坐标转屏幕坐标

//将经纬度坐标(120.2210638516, 30.2109931702, 0.01)转为屏幕坐标
var pos = CooWasm.Conversion.llhToVec2(120.2210638516, 30.2109931702, 0.01);
console.log("转换后屏幕坐标:"+pos.x+','+pos.y);

实时经纬度坐标转屏幕坐标

系统将按照指定时间间隔自动返回以下数据:

  • 经纬度坐标点对应的屏幕像素坐标
  • 每个坐标点与相机位置的实时距离
    var posArr = CooWasm.Conversion.llhArrayToVec2Array([
      new CooWasm.Vec3Obj(120.22106, 30.210994, 0.01),
      new CooWasm.Vec3Obj(120.22107, 30.210995, 0.01),
      new CooWasm.Vec3Obj(120.22108, 30.210996, 0.01),
      new CooWasm.Vec3Obj(120.22109, 30.210997, 0.01)
    ],
    30,// 数据更新间隔(每30ms返回一次)
    info =>{
      const { distanceArr, vec2Arr } = info;
      console.log("实时坐标转换 (共" + vec2Arr.length + "个点):");
      vec2Arr.forEach((vec, index) => {
          console.log(`点${index + 1}: 屏幕坐标(${pixelCoord.x}, ${pixelCoord.y}) | 距离相机: ${distanceArr[index]}米`);
      });
    });
    

CooWasm开发者中心操作指南(坐标转换)

演示系统

1.选择功能模块: 在开发者中心左侧列表中,依次选择辅助工具坐标转换

2.不同坐标系转换: 点击屏幕坐标转三维坐标/三维坐标转屏幕坐标,会将转换后的坐标显示出来。

2-12-1-1

3.批量屏幕坐标转三维坐标: 点击批量屏幕坐标转三维坐标,按下f12,会在控制台将转换后的坐标输出出来。

2-12-1-2

4.实时坐标转换: 点击实时三维坐标转屏幕坐标,按下f12,会实时将转换后的坐标输出在控制台。

2-12-1-3

CopyrightFile Modify: 2025-07-10 09:04:25

results matching ""

    No results matching ""