GPX文件读与写

GPX, 或称 GPS exchange 格式, 是一种用于存储坐标数据的 XML 文件格式。它可以储存在一条路上的路点,轨迹,路线,且易于处理和转换到其他格式。OpenStreetMap 使用的所有 GPS 数据要转换为 GPX 格式才能上传。

GPX 文件

example.gpx

<?xml version="1.0" encoding="UTF-8"?>
<gpx version="1.0">
    <name>Example gpx</name>
    <wpt lat="46.57638889" lon="8.89263889">
        <ele>2372</ele>
        <name>LAGORETICO</name>
    </wpt>
    <trk><name>Example gpx</name><number>1</number><trkseg>
        <trkpt lat="46.57608333" lon="8.89241667"><ele>2376</ele><time>2007-10-14T10:09:57Z</time></trkpt>
        <trkpt lat="46.57619444" lon="8.89252778"><ele>2375</ele><time>2007-10-14T10:10:52Z</time></trkpt>
        <trkpt lat="46.57641667" lon="8.89266667"><ele>2372</ele><time>2007-10-14T10:12:39Z</time></trkpt>
        <trkpt lat="46.57650000" lon="8.89280556"><ele>2373</ele><time>2007-10-14T10:13:12Z</time></trkpt>
        <trkpt lat="46.57638889" lon="8.89302778"><ele>2374</ele><time>2007-10-14T10:13:20Z</time></trkpt>
        <trkpt lat="46.57652778" lon="8.89322222"><ele>2375</ele><time>2007-10-14T10:13:48Z</time></trkpt>
        <trkpt lat="46.57661111" lon="8.89344444"><ele>2376</ele><time>2007-10-14T10:14:08Z</time></trkpt>
    </trkseg></trk>
</gpx>

GPX包含 带有正确时间戳的轨迹点。创建GPX文件,使用有效的schema. 如果包括编码标签,可以是’UTF-8’, 而不能是’utf8’。

解析GPX的 Java library
http://gpxparser.alternativevision.ro/pages/userguide.html

使用GPXParser来解析GPX文件

首先,将gpxParser.jar 添加到工程。然后,使用主函数GPXParser 操作。

读取GPX文件并解析

实例化 GPXParser 类,调用parseGPX() 方法:

GPXParser p = new GPXParser();
FileInputStream in = new FileInputStream("inFile.gpx");
GPX gpx = p.parseGPX(in);

将 GPX 对象写入到一个 gpx 文件

通过GPXParser实例对象调用writeGPX()方法:

GPXParser p = new GPXParser();
FileOutputStream out = new FileOutputStream("outFile.gpx");
p.writeGPX(gpx, out);
out.close();

GPX 对象

GPX 对象是 java bean 持有整个gpx 结构. 有 Waypoints, Tracks 和Routes 列表,可以使用getWaypoints((), getRoutes() getTracks() 方法访问.

也可以添加新的Waypoints, Tracks 和 Routes, 通过调用addWaypoint(), addTrack() addRoute() 方法.

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值