ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Android Studio GPX文件的解析(总和)

2022-03-18 17:59:18  阅读:190  来源: 互联网

标签:GPX 文件 博客 gpx GPXParser Studio Android 解析


声明:此博客相当于一个内容整合博客,总和实现我了想要的对GPX文件的操作,以下如果有侵权等请联系我进行删除。

一.

将一个GPX文件放到项目的资源文件中,然后通过对资源文件的访问将GPX文件数据解析出来。

1.GPX文件的放置,如图:

2.GPX文件的解析

参照博客为:

JAVA写入与读取GPX文件工具类_leavesloves的博客-CSDN博客

上面这个是我找到的GPX文件解析的博客,这位博主大佬将GPX文件的解析的全部类都写好了,然后解析GPX文件的参数接口为文件地址。

public GpxReader(String path){......}

因此,接下来我们要做的就是怎么通过文件地址的方式访问 assets 文件夹下的GPX文件资源。
参照博客为:

Android 获取assets文件夹下面的文件路径_六月的雨123的博客-CSDN博客_android获取assets文件路径

这位博主大佬使用先把文件复制到缓存中,然后再获取文件的路径的思路,实现了通过地址路径的方式对 assets 文件夹下的资源进行访问。

因此,总和上面两个大佬的方法,就能实现对GPX文件的数据解析了。

二.

        对于GPX文件的解析,有一个GPXParser的方法类,我们可以将gpxParser.jar 添加到工程。然后,使用主函数GPXParser 进行操作:

GPXParser的介绍和资源包的下载网站,网站中也介绍了怎么使用和获取GPX文件相关数据:

GPXParser - User guide

将得到的 jar 包复制到libs文件夹下,右击添加到工程。

 GPXParser的使用:

GPXParser p = new GPXParser();
        FileInputStream in = null;
        try {
            in = new FileInputStream("one.gpx");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        try {
            GPX gpx = p.parseGPX(in);
            //gpx的相关操作
            gpx.getWaypoints();
            gpx.getTracks();
            gpx.getRoutes();
        } catch (ParserConfigurationException e) {
            e.printStackTrace();
        } catch (SAXException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

       然后问题来了,使用gpx.getWaypoints(),gpx.getTracks(),gpx.getRoutes();我只得到了一个节点数的数据,并没有得到节点的其他详细数据(比如:经纬度,高度等),我也不知道是自己使用上的问题还是啥,如果有人知道,麻烦指教一下。

       综上所述,因此我还是使用了 一  中的方法成功对GPX文件进行了解析。

标签:GPX,文件,博客,gpx,GPXParser,Studio,Android,解析
来源: https://blog.csdn.net/qq_46574738/article/details/123578932

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有