Python 将 CSV 文件经纬度转换为墨卡托投影坐标
使用 Python 中的 'pyproj' 库可以将 CSV 文件中的经纬度转换为墨卡托投影坐标。以下示例代码演示了如何完成此操作并生成一个新的 CSV 文件,其中包含投影后的 x 和 y 坐标:
import csv
from pyproj import Proj
# 定义墨卡托投影
p = Proj('+proj=merc +lon_0=0 +lat_ts=0 +x_0=0 +y_0=0 +a=6378137 +b=6378137 +units=m +no_defs')
# 打开原始 CSV 文件和新 CSV 文件
with open('input.csv', newline='') as f_input, open('output.csv', 'w', newline='') as f_output:
reader = csv.reader(f_input)
writer = csv.writer(f_output)
# 写入新的表头
writer.writerow(['x', 'y'])
# 处理每一行数据
for row in reader:
if row[0] == 'latitude' or row[1] == 'longitude':
continue # 跳过表头行
lat, lon = float(row[0]), float(row[1]) # 经纬度
x, y = p(lon, lat) # 墨卡托投影坐标
writer.writerow([x, y])
在上面的代码中,我们首先定义了墨卡托投影,并打开了原始 CSV 文件和新的 CSV 文件。然后我们处理每一行数据,将经纬度转换为墨卡托投影坐标,然后写入新的 CSV 文件中。我们还跳过了表头行,以避免写入重复的表头。最后,我们关闭了文件句柄,完成转换。
原文地址: https://www.cveoy.top/t/topic/m19N 著作权归作者所有。请勿转载和采集!