gpt4 book ai didi

python - lat/lon to utm to lat/lon 是非常有缺陷的,怎么来的?

转载 作者:太空狗 更新时间:2023-10-29 18:13:10 31 4
gpt4 key购买 nike

我试过以下方法,输入:纬度/经度数据然后我会计算它周围的一个方框,比方说 50 米,所以东距/北距值 +/- 50 米。

现在我将它重新转换为纬度/经度并使用脚本:

http://robotics.ai.uiuc.edu/~hyoon24/LatLongUTMconversion.py我得到一个不可能的结果,lon 之前是 7 左右,之后是 2 左右。

zone, easting, northing = LLtoUTM(23, location.get_lat(), location.get_lon()) 

topUTM = northing + error
bottomUTM = northing - error
leftUTM = easting - error
rightUTM = easting + error
left, top = UTMtoLL(23, leftUTM, topUTM, zone)

是我的代码出错了,还是脚本有缺陷?

所以我尝试使用 pyproj,只是 lat/lon 到 utm 到 lat/lon 看看会发生什么

>>> p = pyproj.Proj(proj='utm', zone=32, ellps='WGS84')
>>> p
<pyproj.Proj object at 0x7ff9b8487dd0>
>>> x,y = p(47.9941214, 7.8509671)
>>> print x,y
5159550.36822 1114087.43925
>>> print p(x,y,inverse=True)
(47.971558538495991, 7.8546573140162605)

这里它不像上面的脚本那么离谱,但它似乎仍然非常不正确以至于无法使用它。怎么来的?我该怎么做才能获得更准确的结果?

编辑:

我运行了 test() 并且所有测试都通过了。

在 epsg 文件中没有这样的东西。我发现的最接近的是:

<32632> +proj=utm +zone=32 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <>

没有 tmerc。另外,我需要将 towgs84 作为参数传递什么?上面那些?

最佳答案

我上周为 Python 创建了一个小型 UTM 转换库并将其上传到 Python 包索引:http://pypi.python.org/pypi/utm

我将它与使用 pyproj 进行了比较,它更快、更准确。根据您的样本数据,结果如下:

>>> import utm

>>> u = utm.from_latlon(47.9941214, 7.8509671)
>>> print u
(414278, 5316285, 32, 'T')

>>> print utm.to_latlon(*u)
(47.994157948891505, 7.850963967574302)

更新:理查兹 answer下面描述了这个问题的真正解决方案。

关于python - lat/lon to utm to lat/lon 是非常有缺陷的,怎么来的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6778288/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com