Skip to content

GIS常见问题记录

坐标系转换

问题背景

需要对倾斜摄影执行开挖, 给出的开挖文件里的坐标点若是深圳独立坐标系中的坐标点, 需要最终转换为经纬度(cesium)来执行开挖.

解决方案/实现方法

大致步骤

  1. 需要深圳独立坐标的参数信息
  2. 转换到EPSG坐标系下
  3. 使用proj4.jsEPSG下的坐标转换为经纬度
  4. 执行开挖

深圳独立坐标系转换为2000国家大地坐标系(CGCS2000)

  1. 确定转换参数

    需要了解深圳独立坐标系和2000坐标系之间的七参数转换参数。这些参数通常包括三个平移参数、三个旋转参数和一个尺度参数。这些参数可以通过测量深圳独立坐标系和2000坐标系的一组对应点来确定。

  2. 坐标转换公式

    一般采用 Bursa-Wolf 模型来进行转换,具体公式如下:

    (X2000Y2000 Z2000)=(Xsz+ΔX Ysz+ΔY Zsz+ΔZ)+(1+μωzωyωz1+μωxωyωx1+μ)(XszYszZsz)

    其中:

    • (Xsz,Ysz,Zsz) 是深圳独立坐标系中的坐标。
    • (ΔX,ΔY,ΔZ) 是平移参数。
    • (ωx,ωy,ωz) 是旋转参数(弧度)。
    • (μ) 是尺度参数。
    图形学基础/坐标转换
  3. 具体转换步骤

    • 测量和计算:通过测量已知点,确定转换参数。如果已有参数,可以直接使用。
    • 应用转换公式:利用上述公式,将深圳独立坐标系的坐标转换为2000坐标系。
    • 验证和校准:转换后,需要对结果进行验证,确保精度。
  4. 工具和软件 可以使用专业的地理信息系统(GIS)软件,如ArcGIS、MapInfo等,或者使用自定义编程工具,如Python、Matlab等,实现坐标转换。

示例

假设有以下已知参数:

  • 平移参数:(ΔX=50,ΔY=50,ΔZ=100) [单位:m(米)]
  • 旋转参数:(ωx=0.0001,ωy=0.0002,ωz=0.0003) [单位:rad(弧度)]
  • 尺度参数:(μ=1×106)

假设深圳独立坐标系的点坐标为 (Xsz,Ysz,Zsz)=(500000,3000000,50)

转换步骤如下:

  1. 计算平移后的坐标:

    (XY Z)=(50000050300000050 50+100)=(4999502999950 150)
  2. 计算旋转和尺度变换后的坐标(忽略高阶小量):

    (X2000Y2000 Z2000)(499950+μ499950ωz2999950+ωy1502999950+μ2999950+ωz499950ωx150 150+μ150+ωx2999950ωy499950)
  3. 代入参数并计算:

    (X2000Y2000 Z2000)(499950+0.499950.00032999950+0.00021502999950+2.99995+0.00034999500.0001150 150+0.00015+0.000129999500.0002499950)

最终得到转换后的2000坐标系坐标。

注意

实际转换中,由于旋转角度和尺度参数较小,旋转和尺度的高阶小量可以忽略,但在高精度要求下,需进行详细计算。

参考

为了更精确和权威的参数信息,建议查阅深圳市或相关地理信息部门发布的资料,或者使用测量软件的内置功能完成坐标转换。