CollisionAvoidanceSystem/doc/design/coordinate_transformation.md

1.7 KiB
Raw Blame History

WGS84到自定义参考点坐标系的转换

1. 坐标系说明

1.1 源坐标系WGS84-EPSG:4326

  • 经度longitude地球表面上一点与本初子午线的角度差东经为正西经为负
  • 纬度latitude地球表面上一点与赤道平面的角度差北纬为正南纬为负
  • 高度height相对于WGS84椭球面的高度单位为米

1.2 目标坐标系(自定义局部坐标系)

  • 原点:机场中心点(由配置文件指定的经纬度)
  • X轴指向东方单位为米
  • Y轴指向北方单位为米
  • Z轴指向天顶单位为米

2. 转换步骤

2.1 初始化

  • 设置机场中心点经纬度作为坐标系原点
  • 建立局部坐标系ENU - East, North, Up

2.2 坐标转换过程

  1. 将WGS84经纬度转换为地心地固坐标系ECEF
  2. 计算机场中心点的ECEF坐标
  3. 计算目标点相对于机场中心点的偏移向量
  4. 应用旋转矩阵将ECEF偏移向量转换为局部ENU坐标

3. 注意事项

3.1 精度考虑

  • 当距离机场中心点较远时(>100km需考虑地球曲率影响
  • 建议在较小范围内使用半径10km以内以保持较高精度

3.2 高度处理

  • 默认使用WGS84椭球高度
  • 如需使用海拔高度,需额外考虑大地水准面差异

4. 代码示例

// 坐标转换服务初始化
CoordinateSystemService service = new CoordinateSystemService(properties);

// WGS84经纬度转换为局部坐标
double[] localCoord = service.convertToLocalCoordinate(longitude, latitude);
// localCoord[0] 为东向坐标X
// localCoord[1] 为北向坐标Y

5. 参考资料

  • WGS84坐标系EPSG:4326规范
  • 《大地测量学基础》
  • PROJ坐标转换库文档