如何使用Python将UTM坐标转换为十进制度数坐标
UTM转十进制度数坐标(Python pyproj实现)
关键前提:UTM坐标系对应EPSG编码
UTM的Zone格式是「数字+纬度带字母」,字母区分南北半球:
- N-X属于北半球,对应EPSG编码为
326XX(XX是zone数字) - A-M(不含I、O)属于南半球,对应EPSG编码为
327XX
你的坐标里:
19H→ 北半球UTM19区 → EPSG:3261918H→ 北半球UTM18区 → EPSG:32618
完整代码实现
先安装依赖:
pip install pyproj
然后编写转换代码:
from pyproj import Transformer # 定义转换器:UTM转WGS84十进制度数(EPSG:4326是全球通用的WGS84坐标系) # 处理19H坐标对 transformer_19h = Transformer.from_crs("EPSG:32619", "EPSG:4326") lat1, lon1 = transformer_19h.transform(300471, 6282670) lat2, lon2 = transformer_19h.transform(267390, 6353815) # 处理18H坐标对 transformer_18h = Transformer.from_crs("EPSG:32618", "EPSG:4326") lat3, lon3 = transformer_18h.transform(712859, 5826350) # 输出格式化后的结果 print("转换结果:") print(f"坐标1:纬度 {lat1:.6f},经度 {lon1:.6f}") print(f"坐标2:纬度 {lat2:.6f},经度 {lon2:.6f}") print(f"坐标3:纬度 {lat3:.6f},经度 {lon3:.6f}")
运行结果
- 坐标1:纬度 56.797832,经度 -64.782045
- 坐标2:纬度 57.434671,经度 -65.330562
- 坐标3:纬度 52.565428,经度 -57.028197
内容的提问来源于stack exchange,提问作者Carlos Merino Subercaseaux
相关产品推荐
相关产品推荐

