跨区域时转换为一致的 UTM 时出现问题
Problem converting to consistent UTM when straddling zones
我需要得到一组以米为单位的坐标,在 python 中使用 utm 模块给定 lat/long 个位置。如果位置跨越不同的区域,地图就会变得不正确。查了很多讨论还没找到直接的解决方法。
lat_points = [42.827990, 42.849890, 42.824294]
long_points = [95.9, 95.903, 96.01]
xy_meters = [utm.from_latlon(lat,long) for (lat, long) in zip(lat_points,long_points)]
for row in xy_meters:
print(row)
结果显示区域跨越时出现较大差距:
(737040.3354880156, 4745793.498913411, 46, 'T')
(737201.7056600684, 4748234.076861802, 46, 'T')
(255588.1599583785, 4745640.325228949, 47, 'T')
好的,我认为这段代码可以正常工作(切换包):
from pyproj import Proj
myProj = Proj("+proj=utm +zone=46T, +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
for lat, long in zip(lat_points,long_points):
print(myProj(long, lat))
给出所需的:
(737040.3354579052, 4745793.4987486005)
(737201.7056297899, 4748234.076696485)
(746046.8172912733, 4745698.570316798)
我需要得到一组以米为单位的坐标,在 python 中使用 utm 模块给定 lat/long 个位置。如果位置跨越不同的区域,地图就会变得不正确。查了很多讨论还没找到直接的解决方法。
lat_points = [42.827990, 42.849890, 42.824294]
long_points = [95.9, 95.903, 96.01]
xy_meters = [utm.from_latlon(lat,long) for (lat, long) in zip(lat_points,long_points)]
for row in xy_meters:
print(row)
结果显示区域跨越时出现较大差距:
(737040.3354880156, 4745793.498913411, 46, 'T')
(737201.7056600684, 4748234.076861802, 46, 'T')
(255588.1599583785, 4745640.325228949, 47, 'T')
好的,我认为这段代码可以正常工作(切换包):
from pyproj import Proj
myProj = Proj("+proj=utm +zone=46T, +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
for lat, long in zip(lat_points,long_points):
print(myProj(long, lat))
给出所需的:
(737040.3354579052, 4745793.4987486005)
(737201.7056297899, 4748234.076696485)
(746046.8172912733, 4745698.570316798)