53 lines
1.7 KiB
Plaintext
53 lines
1.7 KiB
Plaintext
# 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. 代码示例
|
||
|
||
```java
|
||
// 坐标转换服务初始化
|
||
CoordinateSystemService service = new CoordinateSystemService(properties);
|
||
|
||
// WGS84经纬度转换为局部坐标
|
||
double[] localCoord = service.convertToLocalCoordinate(longitude, latitude);
|
||
// localCoord[0] 为东向坐标(X)
|
||
// localCoord[1] 为北向坐标(Y)
|
||
```
|
||
|
||
## 5. 参考资料
|
||
- WGS84坐标系(EPSG:4326)规范
|
||
- 《大地测量学基础》
|
||
- PROJ坐标转换库文档 |