首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >十进制度到utm的转换,python

十进制度到utm的转换,python
EN

Stack Overflow用户
提问于 2018-06-08 17:41:47
回答 1查看 2.6K关注 0票数 0

当我尝试使用anacondautm中的可用库将度十进制坐标转换为utm时,我感到很惊讶。

我的坐标是这样的:

代码语言:javascript
复制
lon = array([83.71666667, 83.7       , 83.6       , 83.65      , 83.6       ,
       83.88333333, 83.56666667, 83.88333333, 83.96666667, 83.75      ,
       83.7       , 83.1       , 83.21666667, 83.73333333, 83.65      ,
       83.4       , 83.56666667, 84.        , 83.78333333, 83.68333333,
       83.6       , 83.48333333, 83.3       , 83.38333333, 83.61666667,
       83.98333333, 83.43333333, 83.53333333, 84.05      , 84.21666667,
       83.15      , 83.06666667, 83.26666667, 83.25      , 83.8       ,
       84.9       , 84.36666667, 84.        , 83.88333333, 84.61666667,
       84.35      , 84.41666667, 84.61666667, 83.81666667, 84.11666667,
       83.81666667, 83.8       , 84.1       , 84.23333333, 84.28333333,
       83.96666667, 84.01666667, 83.8       , 84.61666667, 84.1       ,
       83.76666667, 84.13333333, 83.75      , 83.78333333, 83.91666667,
       85.        , 84.28333333, 84.41666667, 84.53333333, 85.13333333,
       85.05      , 85.01666667, 84.81666667, 84.98333333, 84.43333333,
       85.38333333, 84.81666667, 85.01666667, 84.93333333, 85.25      ,
       85.18333333, 85.31666667, 85.3       , 85.11666667, 85.41666667,
       85.25      , 85.54722   ])

最新的值是:

代码语言:javascript
复制
lat = array([28.78333333, 28.75      , 28.26666667, 28.48333333, 28.63333333,
       28.81666667, 28.35      , 29.05      , 29.18333333, 28.18333333,
       28.21666667, 28.4       , 28.6       , 28.4       , 28.03333333,
       28.38333333, 28.15      , 29.1       , 28.96666667, 28.9       ,
       28.46666667, 28.38333333, 28.05      , 28.56666667, 28.13333333,
       29.18333333, 27.95      , 27.86666667, 27.68333333, 27.68333333,
       27.93333333, 27.55      , 28.01666667, 28.06666667, 27.86666667,
       28.36666667, 28.28333333, 28.21666667, 28.1       , 28.06666667,
       28.13333333, 27.93333333, 28.        , 27.88333333, 28.11666667,
       28.26666667, 28.3       , 28.03333333, 28.55      , 27.96666667,
       28.26666667, 28.06666667, 28.38333333, 28.2       , 28.36666667,
       27.98333333, 27.86666667, 28.26666667, 28.26666667, 28.08333333,
       28.48333333, 28.76666667, 27.61666667, 27.58333333, 27.55      ,
       27.41666667, 27.41666667, 27.55      , 27.43333333, 27.06666667,
       28.28333333, 28.05      , 27.91666667, 27.86666667, 27.8       ,
       27.71666667, 28.01666667, 28.1       , 28.01666667, 27.75      ,
       27.75      , 28.20946   ])

当我绘制散点图时,它看起来很正常:

将坐标转换为utm后,点的分布完全改变,看起来很奇怪,如下图所示:

我用来转换的代码是:

代码语言:javascript
复制
import utm
X = []
Y = []
for i in np.arange(len(lat)):
    LAT,LON,Z,S = utm.from_latlon(lat[i],lon[i])
    X = np.append(X,LON)
    Y = np.append (Y,LAT)

正如评论中所建议的:I switch lon lat positn,即,plt.scatter (Y,X) it给出:

是我做错了什么,还是这个结果是正确的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-09 07:09:28

答案可能会对其他人有所帮助,所以我已经发布了我的解决方案。我发现pyprojutm工作得更好。在pyproj中,我们可以指定utm区域。

import pyproj

from pyproj import Proj

代码语言:javascript
复制
myProj = Proj("+proj=utm +zone=45U, +north +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
lon_,lat_ = myProj(lon, lat) 
plt.scatter(lon_,lat_)

而且这个图形看起来不错!

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

https://stackoverflow.com/questions/50757749

复制
相关文章

相似问题

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