如何将一组 gps 点转换为 GPX 文件

How to convert a set of gps points to GPX file

我有一个 csv 文件,它看起来像:

id,latitude,longitude
0,51.74333,12.122905000000001
538,51.7433216,12.122895
539,51.7433266,12.1228766
540,51.743333299999996,12.1228583
541,51.7433416,12.122843300000001
542,51.743355,12.122833300000002
543,51.74337,12.1228216

如何将此文件转换为 GPX 文件?我可以用 python 做这个吗?

我不确定您是否可以使用 Python 执行此操作,但我已经使用 PoiEdit 将坐标的 CSV 文件转换为 GPX 格式。您可以加载 CSV 文件并另存为 GPX 文件。

看看 GPX 格式是什么样的 (https://en.wikipedia.org/wiki/GPS_Exchange_Format)。

  • 读取您的 CSV 文件,解析它
  • 打印 xml 文件的开头(header,...)
  • 查看从 CSV 文件中检索到的所有 gps 位置并以 GPX 格式打印它们
  • 打印 xml 文件的结尾

可以使用 GPSBabel (https://www.gpsbabel.org) 通过以下命令将示例 CSV 转换为一组 GPX waypoints:

gpsbabel -i unicsv -f input-file.csv -o gpx -F output-file.gpx

这个问题是几年前问的,所以如果你最近正在搜索这个并且你正在使用 python >= 3.5,你可以使用 gpx_converter.

使用 pip 安装
pip install gpx_converter
然后通过在您的情况下调用 csv_to_gpx 来使用它:
from gpx_converter import Converter

Converter(input_file='your_input.csv').csv_to_gpx(lats_colname='latitude',
                                                 longs_colname='longitude',
                                                 output_file='your_input.gpx')