繁体   English   中英

在没有区域信息的情况下将 UTM 转换为纬度/经度

[英]Converting UTM to Lat/Long without zone information

我正在尝试将 UTM 数据(东距/北距)转换为纬度/经度,但我使用的数据没有任何区域数据。

我知道我可以只使用在线转换器,但我有数千行,所以这是不可行的。

数据已经作为 df 在我的笔记本中,所以理想情况下我想用单独的纬度/经度列替换东向/北向列。

位置_东 位置_北
530,171.0000 179,738.0000
515,781.0000 174,783.0000
531,614.0000 184,603.0000

我尝试了这行代码,但出现类型错误,提示“模块”不可调用

myProj = proj ("+proj=utm +zone=23K, +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")

我知道它要求一个区域,但正如我所说,我没有这些数据。

提前致谢!

我现在对我的 UTM 区域 (30U) 做了一个有根据的猜测,但是当我运行下面的代码(更新)时,我被告知该模块仍然不可调用——根据我对这个链接的理解,它应该适合我的项目? https://pyproj4.github.io/pyproj/stable/api/proj.html

myProj = Proj ("+proj=utm +zone=30U, +north +ellps=WGS84 +datum=WGS84 +units=m +no_defs")

我已经找到了将我的仪表和区域数据转换为纬度/经度的代码,但是有谁知道我如何将它应用于整个 dataframe (bus_stops)? posx 应该是“Location_Easting”列,而 posy 应该与“Location Northing”列相关

from shapely.geometry import Point

posx = 530,171
posy = 179,738.0000

# utm 24s is equivalent to epsg:32724
lon, lat = GeoSeries([Point(posx, posy)], crs='EPSG:32630').to_crs('epsg:4326')[0].coords[0] 

print(lon, lat)```

-7.483995602218547 0.0015423233602163576

指出模块不可调用的错误消息是您尝试直接使用该模块的证据,而您应该使用它的 class。

这是使用pyproj模块的声明示例:

import pyproj

myProj = pyproj.Proj ("+proj=utm +zone=30 +north +ellps=WGS84"
                      " +datum=WGS84 +units=m +no_defs")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM