1.7 KiB
1.7 KiB
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 坐标转换过程
- 将WGS84经纬度转换为地心地固坐标系(ECEF)
- 计算机场中心点的ECEF坐标
- 计算目标点相对于机场中心点的偏移向量
- 应用旋转矩阵将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坐标转换库文档