lilele1
路人甲
路人甲
  • 注册日期2005-05-31
  • 发帖数1
  • QQ
  • 铜币106枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:4417回复:8

谁有WGS84转北京54的程序啊,搞了好几天啦,没成果

楼主#
更多 发布于:2005-05-31 18:39
谁有WGS84转北京54的程序啊,搞了好几天啦,没成果
喜欢0 评分0
wangjh
论坛版主
论坛版主
  • 注册日期2003-08-22
  • 发帖数994
  • QQ55359982
  • 铜币2579枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2005-06-03 14:24
<P>我有VB的代码,你自己参考一下吧:</P>
<P>'经纬度BL换算到高斯平面直角坐标XY(高斯投影正算)<BR>Private Function Deg2XY(ByRef F2 As Double, ByRef E2 As Double, _<BR>                ByRef s2 As Double, ByRef t2 As Double) As Boolean<BR>                'A2 输入中央子午线,以度.分秒形式输入,如115度30分则输入115.30; 起算数据L0<BR>                'F2 以度小数形式输入经度值, L<BR>                'E2 以度小数形式输入纬度值,B<BR>                'S2 计算结果,横坐标Y,,请特别注意,这里生成的是高斯坐标<BR>                'T2 计算结果,纵坐标X<BR>                '投影带号计算 n=[L/6]+1   如:兰州测得经度103.XXXX,故n=[103.X/6]+1=17+1=18<BR>                '中央经线经度 L0 = n*6-3 = [L/6]*6+3<BR>                <BR>    'ByRef A2 As Double,<BR>    Dim A2 As Double<BR>    Dim B2 As Double<BR>    'Dim G2 As Double<BR>    Dim H2 As Double<BR>    Dim i2 As Double<BR>    Dim J2 As Double<BR>    Dim K2 As Double<BR>    Dim l2 As Double<BR>    Dim M2 As Double<BR>    Dim n2 As Double<BR>    Dim O2 As Double<BR>    Dim P2 As Double<BR>    Dim Q2 As Double<BR>    Dim R2 As Double<BR>    Dim NN As Integer '投影代号<BR>'    A2 = CInt(F2 / 6) * 6 - 3<BR>    <BR>'    B2 = Int(A2) + (Int(A2 * 100) - Int(A2) * 100) / 60 + (A2 * 10000 - Int(A2 * 100) * 100) / 3600<BR>    '把L0化成度(A2)<BR>    NN = CInt(F2 / 6) + 1 '投影代号n=[L/6]+1 '<BR>    B2 = NN * 6 - 3 '中央经线<BR>    'G2 = F2 - B2 ' L -L0<BR>    'H2 = G2 / 57.2957795130823 '化作弧度<BR>    H2 = (F2 - B2) / 57.2957795130823 '将经差的单位化为弧度<BR>    i2 = Tan(E2 / 57.2957795130823) 'Tan (B)<BR>    J2 = Cos(E2 / 57.2957795130823) ' Cos (B)<BR>    K2 = 0.006738525415 * J2 * J2<BR>    l2 = i2 * i2<BR>    M2 = 1 + K2<BR>    n2 = 6399698.9018 / Sqr(M2)<BR>    O2 = H2 * H2 * J2 * J2<BR>    P2 = i2 * J2<BR>    Q2 = P2 * P2<BR>    R2 = (32005.78006 + Q2 * (133.92133 + Q2 * 0.7031))<BR>    s2 = ((((l2 - 18) * l2 - (58 * l2 - 14) * K2 + 5) * O2 / 20 + M2 - l2) * O2 / 6 + 1) * n2 * (H2 * J2)<BR>    <BR>    '计算结果,横坐标Y,这里生成的是高斯坐标<BR>    s2 = s2 + NN * 1000000 + 500000 '18500000 '在计算的基础上加上了“带号”(18)和“东移”(500KM)<BR>    '计算结果,纵坐标X<BR>    t2 = 6367558.49686 * E2 / 57.29577951308 - P2 * J2 * R2 + ((((l2 - 58) * l2 + 61) * _<BR>        O2 / 30 + (4 * K2 + 5) * M2 - l2) * O2 / 12 + 1) * n2 * i2 * O2 / 2<BR>    <BR>    Deg2XY = True<BR>End Function</P>
网 站: www.52xoo.com (3S,信息融合,数字图像处理,模式识别与人工智能等专业电子书、学术文章及源代码共享) E-mail: Jianhong72@163.com QQ: 88128745 (55359982用了近10年,最近被盗了,郁闷!!!)
举报 回复(0) 喜欢(0)     评分
lixuebao09
路人甲
路人甲
  • 注册日期2005-03-08
  • 发帖数19
  • QQ
  • 铜币184枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2005-06-04 09:18
谢谢老大
举报 回复(0) 喜欢(0)     评分
hupa
路人甲
路人甲
  • 注册日期2006-09-28
  • 发帖数9
  • QQ
  • 铜币138枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2007-07-07 22:31
感谢。。。
举报 回复(0) 喜欢(0)     评分
wt1118
路人甲
路人甲
  • 注册日期2008-05-08
  • 发帖数15
  • QQ
  • 铜币150枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2008-05-12 09:36
<img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em01.gif" />
举报 回复(0) 喜欢(0)     评分
ludachuan
路人甲
路人甲
  • 注册日期2006-04-01
  • 发帖数9
  • QQ
  • 铜币40枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2009-03-11 17:18
下个COORD软件,看帮助就OK了。
举报 回复(0) 喜欢(0)     评分
anysong
路人甲
路人甲
  • 注册日期2008-10-19
  • 发帖数3
  • QQ
  • 铜币109枚
  • 威望0点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2009-04-04 01:47
请教一下,WGS84到54的转换不需要转换参数吗?
举报 回复(0) 喜欢(0)     评分
730417
路人甲
路人甲
  • 注册日期2004-04-20
  • 发帖数16
  • QQ
  • 铜币259枚
  • 威望0点
  • 贡献值0点
  • 银元0个
7楼#
发布于:2009-04-07 11:58
<P>肯定要转换参数,如中央经线等</P>
举报 回复(0) 喜欢(0)     评分
gispaul
路人甲
路人甲
  • 注册日期2006-12-19
  • 发帖数9
  • QQ
  • 铜币143枚
  • 威望0点
  • 贡献值0点
  • 银元0个
8楼#
发布于:2009-05-26 15:11
<img src="images/post/smile/dvbbs/em02.gif" />shou  le   a xie xie
举报 回复(0) 喜欢(0)     评分
游客

返回顶部