Python批量坐标转换

代码实现

import pandas as pd

from pyproj import Proj, transform

# 输入CSV文件名和输出CSV文件名

input_csv_file = r"C:\Users\Desktop\\input_coordinates.csv"

output_csv_file = r"C:\Users\Desktop\\output_coordinates.csv"

# 定义经纬度坐标系和大地坐标系的投影

# 这里使用了WGS 84坐标系(经纬度)和UTM坐标系(大地坐标)

in_proj = Proj(init='epsg:4326') # WGS 84

out_proj = Proj(init='epsg:32644') 

# WGS_1984_UTM_Zone_44N (you can change this to your desired UTM zone)

# 读取CSV文件

df = pd.read_csv(input_csv_file)

# 创建空的DataFrame以存储转换后的坐标

df['UTM_Easting'] = None

df['UTM_Northing'] = None

# 遍历每一行并执行坐标转换

for index, row in df.iterrows():

    Lon, Lat = row['Lon'], row['Lat']

    utm_easting, utm_northing = transform(in_proj, out_proj, Lon, Lat)

    df.at[index, 'UTM_Easting'] = utm_easting

    df.at[index, 'UTM_Northing'] = utm_northing

# 将转换后的数据保存到输出CSV文件

df.to_csv(output_csv_file, index=False)

print(f"坐标转换完成,结果已保存到 {output_csv_file}")

输入文件格式

坐标系对应EPSG code

需要其他投影坐标系EPSG Code的老师可以自行查找也可以留言,表格太长不好发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值