WGS2UTM.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. # from pyproj import Transformer
  2. # # 定义坐标系转换(WGS84 → UTM Zone 51N)
  3. # transformer = Transformer.from_crs("EPSG:4326", "EPSG:32651")
  4. # # 输入经纬度(注意:经度在前,纬度在后)
  5. # lon, lat = 123.456, 34.567 # 示例坐标(需替换为实际值)
  6. # # 执行转换
  7. # easting, northing = transformer.transform(lat, lon) # 注意:pyproj v3+要求纬度在前
  8. # print(f"UTM 51N坐标: {easting:.3f}, {northing:.3f}")
  9. import pandas as pd
  10. from pyproj import Transformer
  11. # 读取CSV文件(注意:simTime是字符串类型,避免精度丢失)
  12. df = pd.read_csv(
  13. "/home/kevin/kevin/zhaoyuan/sqlite3_demo/processed_results/V2I-DLSG-1_2025-02-26_16-41-09/ObjState.csv",
  14. dtype={'simTime': float} # 以字符串形式读取,保留完整精度
  15. )
  16. # 打印每一行的simTime值
  17. print("===== 开始打印 simTime =====")
  18. for index, row in df.iterrows():
  19. print(f"第 {index + 1} 行: simTime = {row['simTime']}")
  20. print("===== 结束打印 simTime =====")
  21. # 创建坐标转换器:WGS84经纬度 → UTM51N(EPSG:32651)
  22. transformer = Transformer.from_crs("EPSG:4326", "EPSG:32651")
  23. # 批量转换经纬度(注意参数顺序为lon, lat)
  24. # df["posX"], df["posY"] = transformer.transform(df["lon"].values, df["lat"].values)
  25. df["posX"], df["posY"] = transformer.transform(df["lat"].values, df["lon"].values)
  26. # 保存结果到新CSV文件
  27. df.to_csv("ObjState.csv", index=False)