游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2618|回复: 5

请做算法的朋友进来一下。关于经纬度和度分带

[复制链接]

197

主题

1041

帖子

1104

积分

金牌会员

Rank: 6Rank: 6

积分
1104
QQ
发表于 2007-3-21 11:41:00 | 显示全部楼层 |阅读模式
算出来不对,帮忙看看吧。

#define PI 3.14159265358979323846

//北京54,经纬度单位:度,6度分带。
void GaussToGeo(double dGaussX,double dGaussY,double *dGeoL0,double *dGeoB0,double CenterL)
// 已知参数值的单位为(米) ( x---纵坐标,y---横坐标(自然值,没加500公里) )
// 返回值为经纬度(度)
{
        double dGeoL,dGeoB;   // 后来加
        double a,e2,B2,B4,B6,B8,l,y,s,y2,Nf,Nf2,Fai,tf,tf2,gf,gf2,Bf,BfB,B;
        a = 6378245L;   //长轴
        e2 = 0.00669342162297;     //离心率平方 1-(a2/b2)
        //e12=0.00673852541468;    // (a2/b2)-1
       
        y = dGaussY ;
        s = dGaussX ;      //
       
        Fai = s*0.1570460641219/1000000L;
        B2 = 0.25184647783/100;
        B4 = 0.36998873/100000L;
        B6 = 0.74449/100000000L;
        B8 = 0.1828/10000000000L;
        Bf = Fai+B2*sin(2*Fai)+B4*sin(4*Fai)+B6*sin(6*Fai)+B8*sin(8*Fai);
        Nf = a/sqrt(1-e2*sin(Bf)*sin(Bf));
        tf = tan(Bf);
        gf = sqrt(e2)*cos(Bf);
        y2 = y*y;
        Nf2 = Nf*Nf;
        tf2 = tf*tf;
        gf2 = gf*gf;
       
        l =  y/(Nf*cos(Bf))*(1-y2/(6*Nf2)*(1+2*tf2+gf2)
                + y2*y2/(120*Nf2*Nf2)*(5+28*tf2+24*tf2*tf2+6*gf2+8*gf2*tf2));
       
        BfB =  y2/(2*Nf2)*(1+gf2)*tf*(1-y2/(12*Nf2)*(5+3*tf2+gf2
                - 9*tf2*gf2)+y2*y2/(360*Nf2*Nf2)*(61+90*tf2+45*tf2*tf2));
        B = Bf-BfB;
       
        dGeoL = l*180.0/PI;
        dGeoB = B*180.0/PI;
       
    *dGeoL0=dGeoL+CenterL;
    *dGeoB0=dGeoB;
}

197

主题

1041

帖子

1104

积分

金牌会员

Rank: 6Rank: 6

积分
1104
QQ
 楼主| 发表于 2007-3-21 11:43:00 | 显示全部楼层

Re:请做算法的朋友进来一下。关于经纬度和度分带

有相关的算法库,网站,或则资料,麻烦推荐一下。

我很头大

7

主题

20

帖子

20

积分

注册会员

Rank: 2

积分
20
发表于 2007-3-21 17:42:00 | 显示全部楼层

Re: 请做算法的朋友进来一下。关于经纬度和度分带

高斯坐标转地理坐标? [em24]
我以前写过转换函数,帮你找找...但愿上次硬盘坏的时候没有丢

7

主题

20

帖子

20

积分

注册会员

Rank: 2

积分
20
发表于 2007-3-21 17:48:00 | 显示全部楼层

Re: 请做算法的朋友进来一下。关于经纬度和度分带

看看这个
http://www.mygis.com.cn/codes/21-1721-1721.htm

BOOL PrjPoint::xy2BL() 这个函数似乎是 [em10]

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2007-3-22 13:32:00 | 显示全部楼层

Re:请做算法的朋友进来一下。关于经纬度和度分带

你怎么会做这个。。。汗。。。难道你是混GIS的?

197

主题

1041

帖子

1104

积分

金牌会员

Rank: 6Rank: 6

积分
1104
QQ
 楼主| 发表于 2007-3-22 13:43:00 | 显示全部楼层

Re:请做算法的朋友进来一下。关于经纬度和度分带

ftkghost
map里面高斯的算法我用不上,我在做仿真。地图是一张通过雷达产生的martix表。经纬度的计算的基本数据都从这张表来。

另,我业余也在做游戏。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 19:14

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表