标签: gpx

如何使用XmlSerializer处理不同的命名空间版本?

我使用.NET XmlSerializer类来反序列化GPX文件.

GPX标准有两个版本:

  • <gpx xmlns ="http://www.topografix.com/GPX/1/0"> ... </ gpx>
  • <gpx xmlns ="http://www.topografix.com/GPX/1/1"> ... </ gpx>

此外,某些GPX文件未指定默认命名空间:

  • <gpx> ... </ gpx>

我的代码需要处理所有三种情况,但我无法弄清楚如何让XmlSerializer这样做.

我确信必须有一个简单的解决方案,因为这是一个常见的场景,例如KML有同样的问题.

c# xml xml-serialization kml gpx

2
推荐指数
1
解决办法
2693
查看次数

分析 GPX 数据时出现错误“'NoneType' 对象没有属性 'offset'”

我在学习 Python 时正在学习本教程(https://towardsdatascience.com/how-tracking-apps-analysis-your-gps-data-a-hands-on-tutorial-in-python-756d4db6715d)。

我正处于要绘制“时间”和“海拔”的步骤。但是当我这样做时:

plt.plot(df['time'], df['ele'])
plt.show()
Run Code Online (Sandbox Code Playgroud)

我收到错误“'NoneType' 对象没有属性 'offset'”。如果我绘制“经度”和“纬度”,一切正常。我自己找不到解决这个问题的方法。到目前为止,这是“我的”代码:

import gpxpy
import matplotlib.pyplot as plt
import datetime
from geopy import distance

from math import sqrt, floor
import numpy as np
import pandas as pd
import chart_studio.plotly as py
import plotly.graph_objects as go
import haversine
#Import Plugins

gpx_file = open('01_Karlsruhe_Schluchsee.gpx', 'r')
gpx = gpxpy.parse(gpx_file)

data = gpx.tracks[0].segments[0].points

## Start Position
start = data[0]
## End Position
finish = data[-1]

df = pd.DataFrame(columns=['lon', 'lat', 'ele', 'time'])

for point in …
Run Code Online (Sandbox Code Playgroud)

python graph matplotlib gpx pandas

2
推荐指数
1
解决办法
534
查看次数

带有命名空间的GPX文件的XPath查询?

当GPX文件具有以下简单结构时,我能够<trkpt></trkpt>通过xpath表达式访问节点<xsl:for-each select='gpx/trk/trkseg/trkpt'>:

<gpx>
  <trk>
    <trkseg>
      <trkpt lat="50.5324906" lon="7.0842605">
        <ele>105.8824463</ele>
        <time>2010-07-11T08:50:16Z</time>
      </trkpt>
      <trkpt lat="50.5323745" lon="7.0843524">
        <ele>108.7662354</ele>
        <time>2010-07-11T08:50:44Z</time>
      </trkpt>
      ...
    </trkseg>
  </trk>
</gpx>
Run Code Online (Sandbox Code Playgroud)

如何在涉及名称空间时实现相同的效果,例如:

<gpx xmlns="http://www.topografix.com/GPX/1/1" 
     creator="MapSource 6.15.11" 
     version="1.1" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://www.topografix.com/GPX/1/1 
                         http://www.topografix.com/GPX/1/1/gpx.xsd">
Run Code Online (Sandbox Code Playgroud)

xslt xpath gpx

1
推荐指数
1
解决办法
1501
查看次数

模拟低和高Gps精度

我做了一个.gpx文件来在IOS模拟器上模拟路线,现在我想模拟水平精度我该怎么做?

如下是我的.gpx文件的摘录:

<?xml version="1.0"?>
<gpx>
    <wpt lat="-23.772830" lon="-46.689820"/> //how add horizontal accuracy 7 meters for example
    <wpt lat="-23.774450" lon="-46.692570"/> //and here horizontal accuracy of 2 metters for example
    <wpt lat="-23.773450" lon="-46.693530"/> //and here 19 meters
</gpx> 
Run Code Online (Sandbox Code Playgroud)

如果我运行所有gps点返回的水平精度为5米,则可以更改此设置。

gps emulation gpx ios-simulator

1
推荐指数
1
解决办法
1905
查看次数

如何在Python中引用异常类?

我要赶一个GPSException被抛出gpxpy库.

try:
    gpx = gpxpy.parse(open(filepath))
except GPXException:
    print "GPXException for %s." % filepath
Run Code Online (Sandbox Code Playgroud)

由于我是Python的新手,我不明白如何通过命名空间引用异常,例如gpxpy.gpx.GPSException或者导入语句.

import gpxpy
import gpxpy.gpx
import gpxpy.gpx.GPSException
Run Code Online (Sandbox Code Playgroud)

python namespaces exception gpx python-import

1
推荐指数
1
解决办法
4557
查看次数

GPX解析.计算速度.蟒蛇

我试图分析GPS收集数据的每一点的速度.我正在使用gpxpy,我已经从gpx文件中打印出一些内容,如最大速度,开始和结束时间,移动时间等,但我不知道如何打印速度,lat,long等等每一点.我拥有的gpx文件有462分,我想了解更多关于每一点的信息.我的代码如下:

def print_gpx_part_info(gpx_part, indentation='    '):
"""
gpx_part may be a track or segment.
"""
length_2d = gpx_part.length_2d()
length_3d = gpx_part.length_3d()

moving_time, stopped_time, moving_distance, stopped_distance, max_speed = gpx_part.get_moving_data()
print('%sTotal Moving time: (hr/min/sec) %s' % (indentation, format_time(moving_time)))
#print('%sStopped distance: %sm' % stopped_distance)
#print('%sMax speed: %sm/s = %skph' % (indentation, max_speed, max_speed * 60. ** 2 / 1000. if max_speed else 0))
print('%sMax speed: %smph' % (indentation,  max_speed * 2.3694 if max_speed else 0))

start_time, end_time = gpx_part.get_time_bounds()
print('%sStarted: %s' % (indentation, start_time)) …
Run Code Online (Sandbox Code Playgroud)

python xml gps gpx

1
推荐指数
1
解决办法
2569
查看次数

如何在 PHP 中读取 .GPX 文件中的值?

我有一个问题,我已经尝试解决两天了,但找不到解决它所需的信息。

我想要做的是从 .gpx 文件中获取 lat、lon 和 ele 值并将它们放入表中。

我制作了页面让用户将 gpx 文件上传到服务器上。然后,我创建一个名为一、二、三等的新表,数据库中的下一个数字称为“vluchten”。

该表包含 lat、lon 和 ele 字段,全部都是双精度数。

现在,我需要打开用户可能上传的任何 .gpx 文件,并将纬度、经度和坐标提取到我的表中。

我已经研究过使用 php 文件系统函数(fopen、fseek 等),但它们似乎对我的需求没有用处。我还尝试将其作为 XML 读取,但这也不起作用(也许我犯了错误)。

非常欢迎任何关于如何从 .gpx 文件中获取值并将它们放入数据库表中的建议!PHP 页面将接收 lat、lon 和 ele 需要进入的表名称$_POST['name']

简而言之,我的问题是:如何从 .gpx 中取出 lon、lat 和 ele 并使用 SQL 将它们放入表中?

php xml mysql gpx

1
推荐指数
1
解决办法
8453
查看次数

将GPX文件添加到Xcode 6项目

我正在关注斯坦福大学iOS讲座中的Trax应用程序演示,教师将应用程序设置为通过AirDrop处理GPX文件,但iPhone模拟器不支持AirDrop.

反正有没有将文件(更具体地说是GPX文件)添加到iPhone模拟器上的应用程序?我想过给自己发电子邮件并在模拟器上使用Safari,但我不知道它将存储在哪里或如何从Trax应用程序访问它.

file-transfer gpx ios xcode6

1
推荐指数
1
解决办法
6351
查看次数

尝试在Xcode 6.4中定义GPX文档类型

我正在尝试定义GPX文档类型,以便可以从其他应用程序打开gpx文件类型。在此主题下,我一直关注Apple的技术问答

我还尝试过发现直接编辑plist文件的解决方案。他们都没有工作。当我尝试打开gpx文件时,在“打开方式”菜单中仍然看不到我的应用程序。我很确定我在这里错过了一些东西。我只是不知道那是什么。请帮忙。

    <key>UTImportedTypeDeclarations</key>
<array>
    <dict>
        <key>UTTypeConformsTo</key>
        <array>
            <string>public.xml</string>
        </array>
        <key>UTTypeDescription</key>
        <string>GPS Exchange Format (GPX)</string>
        <key>UTTypeIdentifier</key>
        <string>com.topografix.gpx</string>
        <key>UTTypeReferenceURL</key>
        <string>http://www.topografix.com/GPX/1/1</string>
        <key>UTTypeTagSpecification</key>
        <dict>
            <key>public.filename-extension</key>
            <array>
                <string>gpx</string>
            </array>
            <key>public.mime-type</key>
            <string>application/gpx+xml</string>
        </dict>
    </dict>
</array>
Run Code Online (Sandbox Code Playgroud)

xcode gpx ios

0
推荐指数
1
解决办法
971
查看次数

如果未给出速度标签本身,如何计算 gpx 文件的速度?

例如,我可能有一些这样的信息:

<trkpt lat="-33.8161780" lon="150.8710320">
 <ele>73.0</ele>
 <time>2017-07-08T22:05:45Z</time>
 <extensions>
  <power>0</power>
  <gpxtpx:TrackPointExtension>
    <gpxtpx:atemp>7</gpxtpx:atemp>
    <gpxtpx:hr>115</gpxtpx:hr>
    <gpxtpx:cad>27</gpxtpx:cad>
  </gpxtpx:TrackPointExtension>
 </extensions>
</trkpt>
Run Code Online (Sandbox Code Playgroud)

我如何根据这些信息计算速度?我使用 python etree 模块来解析文件,并将所有信息存储在 pandas 数据库中。

有人提到我可能应该显示 pandas 数据框。它看起来像这样:

                     longitude   latitude   ele   temp
time                
2017-07-08 22:05:45 150.8710320 -33.8161780 73.0    7
2017-07-08 22:05:46 150.8710350 -33.8161500 73.0    7
2017-07-08 22:05:47 150.8710440 -33.8161170 73.0    7
2017-07-08 22:05:48 150.8710540 -33.8160820 73.0    7
2017-07-08 22:05:49 150.8710690 -33.8160430 73.0    7
Run Code Online (Sandbox Code Playgroud)

等等。

python algorithm gpx pandas

0
推荐指数
1
解决办法
5129
查看次数