罗泳
(南昌县土地测量队 江西南昌 330200)
浅谈平面坐标系间的转换及程序设计
罗泳
(南昌县土地测量队江西南昌330200)
摘要:推导不同坐标系间的之间的简便转换关系,用VC++语言编制转换程序,从而解决了实际工作中的问题。对于各类坐标变换及城市坐标系统的统一的借鉴作用。
关键词:坐标转换;坐标旋转;坐标平移;平面四参数法
在城市建设中,经常会遇到坐标系统不统一的问题。如建筑设计部门通常采用独立坐标系统,规划测绘部门大多采用城市地方坐标系,有的却采用国家坐标系。有的城市国土部门也有自己的一套独立的坐标系统。许多城市都会存在多套坐标系统共存的问题,这给相互间的资源共享带来不少麻烦。本人基于以上原因,并根据两套坐标系的旋转、平移、比例缩放关系,利用VC++语言编制了转换程序以解决坐标系的变换问题。
2.1控制网联测
为确保转换精度应以现有坐标系下的高等级控制点为起算点,尽可能多(最少不少于3个点)的联测原坐标系下的等级控制点。联测点的点位分布要尽量均匀,避免集中在一起,否则周边变形难以控制。
2.2求转换参数
根据联测的坐标及其在原坐标系下的坐标,利用最小二乘法原理求出平面坐标转换的四个参数Δx,Δy,m,θ(x0,y0),这就是我们通常讲的平面四参数法坐标转换。其中:
Δx:x方向平移量
Δy:y方向平移量
m:缩放比例因子
θ:旋转角
x0:旋转中心X坐标
y0:旋转中心Y坐标
2.3转换数字化地形图数据
通常我们需要转换的地形图数据量非常大,测点数有几十万。用原始的计算方法难以满足实际生产的需要,编制转换程序是非常必要的。
利用计算机编程技术可以实现数字化地形图的批量转换,对于历史成果资料需要转换的可先通过扫描矢量化,然后再进行转换。
3.1坐标平移
x=x'+Δx;
y=y'+Δy;
3.2坐标旋转
x=x0+cos(Φ-θ)·L;
y=y0+sin(Φ-θ)·L;
其中Φ:旋转中心到转换点的方位角;
L:旋转中心到转换点的距离;
3.3比例缩放
x=x0+L·m·cos(Φ);
y=y0+L·m·cos(Φ);
4.1程序流程
4.2程序设计界面及主要功能描述
主要功能:
该软件在VC++语言环境下编写,输入必要的转换参数后能够将外业测点文件转化为新的坐标系统文件;
输入的参数可以保存,并可导入已经建立好的转换模版避免输入参数错误;
4.3主要代码
x_2.x=x_2.x+m_xpy;/*x_2.x:x;m_xpy:Δx*/
x_2.y=x_2.y+m_ypy;/*x_2.y:y;m_ypy:Δy*/
xp=m_zxx+m_xpy;/*m_zxx:x0*/
yp=m_zxy+m_ypy;/*m_zxy:y0*/
af=fwj(xp,yp,x_2.x,x_2.y)+StoHD(m_xzj);
/*fwj():计算方位角函数*/
l=jl(xp,yp,x_2.x,x_2.y);
/*StoHD():度转化为弧度函数*/
l=l+m_bl*l;
/*jl():距离计算函数;m_bl:m*/
x_2.x=xp+l*cos(af);
x_2.y=yp+l*sin(af);
4.4实例
假设某两套坐标系统经控制点联测后,求得转换参数如下:
x0=81280.6458;y0=69327.5537;θ=-3.2744;Δx =-0.8469;Δy=-0.386;m=-4.0643e-006
原始坐标列表:56988.477,37628.906
57031.934,37636.719
57030.469,37732.422
57084.668,37720.703
转换后坐标列表:56987.525,37628.964
57030.982,37636.775
57029.519,37732.478
57083.718,37720.759
利用该坐标变换原理,对某网进行了成功的改造。在实际工作中共接测四等点20余个,利用GPS平差解算软件进行转换参数计算,并采用本人编制的坐标系变换程序对大面积的数字地形图进行了批量转换,取的了较好的效果。
参考文献:
[1]孔祥元,梅是义编,《控制测量学》下册,武汉出版社
[2]《VisualC++6.0MFC类库参考手册》人民邮电出版社