将英国网格坐标(X,Y)转换为纬度和经度

时间:2019-09-12 07:28:24

标签: python coordinates

我有一个以英国网格参考格式(X,Y)给出的位置坐标列表,我想将它们转换为纬度和经度。

我正在使用OSGridConverter(python库),但未正确转换它。例如,一个位置的一个输入为X = 517393.6563,Y = 194035.5469。

from OSGridConverter import grid2latlong
l=grid2latlong('TG 517393.6563 194035.5469')

上面,给我一个错误:OSGridConverter错误:无效的网格引用

因此,这是错误的,我尝试:

>>>l=grid2latlong('TG 517393 194035')
>>>(l.latitude,l.longitude)
(52.71367793063314, 1.7297510074170983)

哪个在英国以外的地方结尾,这是不正确的。很有可能是适当的数据格式,但是我不确定如何解决。

1 个答案:

答案 0 :(得分:1)

您可能应该使用类似pyproj的东西:

import pyproj

crs_british = pyproj.Proj(init='EPSG:27700')
crs_wgs84 = pyproj.Proj(init='EPSG:4326')

long, lat = pyproj.transform(crs_british, crs_wgs84, 517393.6563, 194035.5469)
print(lat, long)

您的情况将为:51.63289090467179,-0.3052119183057834