LISP写的高斯投影正反算及七参数投影变换相关程序
作者:z.kklt 日期:2010-02-14
这个是用LISP写的高斯投影正反算及七参数投影变换的相关程序。
主要功能:
1、内置54、80、84、2000椭球基本参数
2、上述椭球的标准高斯正反算;
3、上述椭球上具有高程抵偿面的任意带高斯投影正反算;
4、7参数投影变换;
5、上述椭球的大地坐标和空间直角坐标的转换;
辅助功能:
1、D.MMSS格式的度分秒和弧度的互相转换;
2、54、80、84、2000椭球的基本参数及计算常用参数的获取;
利用这些可以做的其他事情:
1、GPS测得的WGS84坐标和地方坐标的转换;
2、换带计算;
3、经过组合,可以实现不同坐标系、不同坐标形式的自动转换。
程序下载z.kklt_cotr.rar:
程序需要在AUTOCAD下运行,运行说明如下:
;**************************************************
;;DUTOHU
;将D.MMSS格式的角度转换为弧度
;用法:
;(dutohu du)
;**************************************************
;;HUTODU
;将弧度计的角度转换为D.MMSS格式的角度
;用法:
;(hutodu hu)
;**************************************************
;;GPP
;获取椭球基本参数,与位置无关
;用法:
;gpp (gn gp)
;gn为椭球名称,可接受54、80、84、2000
;gp为待获取的参数,可接受a、b、e、e1
;如:
;(gpp 54 a)
;意为取54椭球长半轴a的值
;**************************************************
;;GPF
;获取椭球的辅助参数,与位置有关
;gn椭球名
;gp待获取的参数
;gb点的大地纬度B
;gl点的大地经度L
;gu点的单位格式,1为度.分秒;2为十进制度;3为弧度
;gp选择
;w
;v
;dn
;n卯酉圈曲率半径
;r平均曲率半径
;**************************************************
;;BLHTOXYZ
;将大地坐标转为空间直角坐标
;旋转角单位为弧度
;输入大地坐标B、L、H
;用法为:
;(blhtoxyz gn blhb blhl blhh)
;gn可选54、80、84、2000
;输出空间直角坐标,分别为xyzx,xyzy,xyzz,全局变量
;**************************************************
;;XYZTOBLH
;将空间直角坐标转为大地坐标
;输入空间直角坐标
;用法为:
;(xyztoblh gn xyzx xyzy xyzz)
;输出大地坐标B、L、H,分别为BLHB、BLHL、BLHH,全局变量,以弧度计
;**************************************************
;;BURSA
;空间直角坐标七参数转换
;用法为:
;(bursa tx ty tz wx wy wz m gn1x gn1y gn1z)
;tx、ty、tz为三个平移参数,单位为米
;wx、wy、wz为三个旋转参数,单位为弧度
;m为尺度比差异,如0.000004,单位为1,不是ppm
;输出gn2x、gn2y、gn2z为转换后的空间直角坐标,外部变量
;**************************************************
;;BLTOXY
;高斯正算
;子午线弧长lb、xyx、xyy为外部变量,其余为内部变量
;单位均为弧度
;用法为:
;(bltoxy gn gl0 blb bll)
;gn可选54、80、84、2000
;gl0为中央经度
;输入blb、bll为大地经纬度
;输出xyx、xyy为高斯正算后的坐标,全局变量
;**************************************************
;;XYTOBL
;高斯反算
;底点纬度bf、blb、bll为外部变量,其余为内部变量
;单位均为弧度
;用法为:
;(xytobl gn gl0 xyx xyy)
;gn可选54、80、84、2000
;gl0为中央经度
;输入xyx、xyy为平面坐标
;输出blb、bll为高斯反算后的大地经纬度,全局变量,以弧度计
;**************************************************
;;DFBLTOXY
;具有高程抵偿面的任意带高斯投影的高斯正算
;用法为:
;(dfbltoxy gn b0 l0 dx dy m blb bll)
;gn可选54、80、84、2000
;b0为中央纬度
;l0为中央经度
;dx为X加常数
;dy为Y加常数
;m为尺度比
;输入blb、bll为待解算的大地经纬度
;输出xyx、xyy为高斯正算后的坐标,全局变量
;**************************************************
;;DFXYTOBL
;具有高程抵偿面的任意带高斯投影的高斯反算
;用法为:
;(dfxytobl gn b0 l0 dx dy m xyx xyy)
;gn可选54、80、84、2000
;b0为中央纬度
;l0为中央经度
;dx为X加常数
;dy为Y加常数
;m为尺度比
;输入xyx、xyy为平面坐标
;输出xyx、xyy为高斯反算后的大地经纬度,全局变量,以弧度计
主要功能:
1、内置54、80、84、2000椭球基本参数
2、上述椭球的标准高斯正反算;
3、上述椭球上具有高程抵偿面的任意带高斯投影正反算;
4、7参数投影变换;
5、上述椭球的大地坐标和空间直角坐标的转换;
辅助功能:
1、D.MMSS格式的度分秒和弧度的互相转换;
2、54、80、84、2000椭球的基本参数及计算常用参数的获取;
利用这些可以做的其他事情:
1、GPS测得的WGS84坐标和地方坐标的转换;
2、换带计算;
3、经过组合,可以实现不同坐标系、不同坐标形式的自动转换。
程序下载z.kklt_cotr.rar:
程序需要在AUTOCAD下运行,运行说明如下:
;**************************************************
;;DUTOHU
;将D.MMSS格式的角度转换为弧度
;用法:
;(dutohu du)
;**************************************************
;;HUTODU
;将弧度计的角度转换为D.MMSS格式的角度
;用法:
;(hutodu hu)
;**************************************************
;;GPP
;获取椭球基本参数,与位置无关
;用法:
;gpp (gn gp)
;gn为椭球名称,可接受54、80、84、2000
;gp为待获取的参数,可接受a、b、e、e1
;如:
;(gpp 54 a)
;意为取54椭球长半轴a的值
;**************************************************
;;GPF
;获取椭球的辅助参数,与位置有关
;gn椭球名
;gp待获取的参数
;gb点的大地纬度B
;gl点的大地经度L
;gu点的单位格式,1为度.分秒;2为十进制度;3为弧度
;gp选择
;w
;v
;dn
;n卯酉圈曲率半径
;r平均曲率半径
;**************************************************
;;BLHTOXYZ
;将大地坐标转为空间直角坐标
;旋转角单位为弧度
;输入大地坐标B、L、H
;用法为:
;(blhtoxyz gn blhb blhl blhh)
;gn可选54、80、84、2000
;输出空间直角坐标,分别为xyzx,xyzy,xyzz,全局变量
;**************************************************
;;XYZTOBLH
;将空间直角坐标转为大地坐标
;输入空间直角坐标
;用法为:
;(xyztoblh gn xyzx xyzy xyzz)
;输出大地坐标B、L、H,分别为BLHB、BLHL、BLHH,全局变量,以弧度计
;**************************************************
;;BURSA
;空间直角坐标七参数转换
;用法为:
;(bursa tx ty tz wx wy wz m gn1x gn1y gn1z)
;tx、ty、tz为三个平移参数,单位为米
;wx、wy、wz为三个旋转参数,单位为弧度
;m为尺度比差异,如0.000004,单位为1,不是ppm
;输出gn2x、gn2y、gn2z为转换后的空间直角坐标,外部变量
;**************************************************
;;BLTOXY
;高斯正算
;子午线弧长lb、xyx、xyy为外部变量,其余为内部变量
;单位均为弧度
;用法为:
;(bltoxy gn gl0 blb bll)
;gn可选54、80、84、2000
;gl0为中央经度
;输入blb、bll为大地经纬度
;输出xyx、xyy为高斯正算后的坐标,全局变量
;**************************************************
;;XYTOBL
;高斯反算
;底点纬度bf、blb、bll为外部变量,其余为内部变量
;单位均为弧度
;用法为:
;(xytobl gn gl0 xyx xyy)
;gn可选54、80、84、2000
;gl0为中央经度
;输入xyx、xyy为平面坐标
;输出blb、bll为高斯反算后的大地经纬度,全局变量,以弧度计
;**************************************************
;;DFBLTOXY
;具有高程抵偿面的任意带高斯投影的高斯正算
;用法为:
;(dfbltoxy gn b0 l0 dx dy m blb bll)
;gn可选54、80、84、2000
;b0为中央纬度
;l0为中央经度
;dx为X加常数
;dy为Y加常数
;m为尺度比
;输入blb、bll为待解算的大地经纬度
;输出xyx、xyy为高斯正算后的坐标,全局变量
;**************************************************
;;DFXYTOBL
;具有高程抵偿面的任意带高斯投影的高斯反算
;用法为:
;(dfxytobl gn b0 l0 dx dy m xyx xyy)
;gn可选54、80、84、2000
;b0为中央纬度
;l0为中央经度
;dx为X加常数
;dy为Y加常数
;m为尺度比
;输入xyx、xyy为平面坐标
;输出xyx、xyy为高斯反算后的大地经纬度,全局变量,以弧度计
评论: 0 | 引用: 0 | 查看次数: -
发表评论
上一篇
下一篇

文章来自:
Tags: