首页
学习
活动
专区
圈层
工具
发布

到WGS84
EN

Stack Overflow用户
提问于 2014-06-11 17:43:54
回答 1查看 1.1K关注 0票数 1

我正在尝试把一些坐标从Gauss转换成WGS84。下面是我所做的(PHP):

代码语言:javascript
复制
function gaussToLatLng($Eutm, $Nutm){
    // parametri che dipendono dal fuso ovest
    $l0 = 9;

    $fraz = $Nutm/111092.0821;

    echo "$fraz ";

    $A= $fraz + 
        (0.1449300705 * sin(deg2rad(2*$fraz))) + 
        (0.0002138508 * sin(deg2rad(4*$fraz))) + 
        (0.0000004322 * sin(deg2rad(6*$fraz)));

    $v = sqrt(1 + (0.0067681702 * cos(deg2rad($A)) * cos(deg2rad($A)) ) );
    $y = $Eutm - 500000;
    $B = rad2deg(atan( ($v * sinh(deg2rad($y/6397376.633)) ) / cos(deg2rad($A))));

    $lng = rad2deg(atan(tan(deg2rad($A)) * cos(deg2rad($v * $B))));

    $lat = $B + $l0;

    echo "A=$A, B=$B \n";

    return array(
        'lat' => $lat,
        'lng' => $lng
    );
}

使用作为输入(1517140,5036970),我得到(9.2271558768758 45.485183518206),而使用这个在线工具我计算出我应该有(9.2189597,45.4859253) (大约1公里的差)。

你能帮我找出代码中的错误吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-12 08:39:08

使用一个PHP库解决:proj4php,使用Gauss的定义找到了这里

那些家伙太棒了!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24169285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档