[34] [DFN[GPX]] は、[[GPS]] [[測位]]で得た[[座標]]データの交換のための
[[XML]] ベースの[[マーク付け言語]]です。この分野での[[デファクト標準]]となっています。

* 仕様書

[REFS[
- [4] [CITE@en[GPX: the GPS Exchange Format]]
([TIME[2016-04-08 16:23:50 +09:00]] 版)
<http://www.topografix.com/gpx.asp>
-- [37] ([TIME[2014-08-07 02:03:14 +09:00]] 版) <http://www.topografix.com/GPX/1/1/gpx.xsd>
]REFS]

[33] 近代的な意味の[[仕様書]]は存在しないようです。 [[XML Schema]]
[[スキーマ]]が提供されています。

* 構文

[36] [[XML 1.0]] を使います。

;; [38] [[XML 1.1]] には言及されていませんが、実際に [[XML 1.1]]
を使った例は確認されていません。実装が [[XML 1.1]] に対応しているのかどうかは謎です。

[97] [[UTF-8]] を使うのが普通なようです。それ以外の[[文字コード]]の利用例があるのかは不明で、
実装が対応しているのかも不明です。

[95] [[XML宣言]]は [[XML]] でも [[GPX]] でも必須ではありませんが、
実利用例を見ると含まれることが極めて多いです。
[CODE[version]] が [CODE[1.0]] に、
[CODE[encoding]] が [[UTF-8]] に指定される場合が多いです。

[96] [CODE[standalone]] が [CODE[yes]] や [CODE[no]]
に指定されることもままあります。しかし [CODE[DOCTYPE]]
が指定される例は見られず、 [CODE[standalone]] を [CODE[no]]
に指定するのはおかしい。

[40] [[GPX]] の標準の[[語彙]]は、[[名前空間URL]]
[DFN[[CODE(URI)@en[http://www.topografix.com/GPX/1/1]]]]
で定義されています。拡張は他の[[名前空間]]を使うことがあります。

[62] [[GPX 1.0]] 時代の[[名前空間URL]]
[DFN[[CODE(URI)@en[http://www.topografix.com/GPX/1/0]]]]
が使われることもあります。
たまに見かけますが、どの程度流通しているのかは不明です。

;; [83] [[GPX 1.0]] と [[GPX 1.1]] では一部の[[要素]]の用法や名前が違っていたりします。
わずかな違いなので、無視して [[GPX 1.1]] として処理しても大きな問題はなさそうです。

[39] [[文書要素]]として [CODE(XMLe)@en[gpx]] [[要素]]を使います [SRC[>>37]]。

** [CODE(XMLe)@en[gpx]] 要素

[41] [DFN[[CODE(XMLe)@en[gpx]]]] [[要素]]は、
[[文書要素]]です [SRC[>>37]]。

*** 属性

[49] [DFN[[CODE(XMLa)@en[version]]]] [[属性]]は必須です。値は [CODE[1.1]]
でなければなりません。 [SRC[>>37]]

[99] この属性を見ている実装があるのかどうか不明です。
そもそも[[名前空間属性]]と意味がかぶっており、
何のために存在しているのかも不明です。
[[GPX]] を生成するソフトウェアは、念の為常に値 [CODE[1.1]]
を設定するべきでしょう。 [[GPX]] を読み込むソフトウェアは、
常に無視するべきです。

-*-*-

[50] [CODE(XMLa)@en[creator]] [[属性]]は必須です [SRC[>>37]]。

-*-*-

[48] [CODE(XMLa)@en[xsi:schemaLocation]] [[属性]]が指定されることがよくあります。

[100] [[XML Schema]] での処理を想定したものですが、実際にはほとんど役に立ちません。
[[GPX]] を生成するソフトウェアは、無駄なだけなので、
この[[属性]]を設定するべきではありません。
[[GPX]] を読み込むソフトウェアは、
常に無視するべきです。

*** 内容

[42] 次のものを[[内容]]として含めることができます [SRC[>>37]]。
[FIG(list middle)[
= [43] [CODE(XMLe)@en[metadata][metadata (GPX)]] [[要素]] (0-1)
= [44] [CODE(XMLe)@en[wpt][wpt (GPX)]] [[要素]] (0-∞)
= [45] [CODE(XMLe)@en[rte]] [[要素]] (0-∞)
= [46] [CODE(XMLe)@en[trk]] [[要素]] (0-∞)
= [47] [CODE(XMLe)@en[extensions][extensions (GPX)]] [[要素]] (0-1)
]FIG]

[106] 
[CODE[wpt][<wpt>]] を [CODE[trk]] より前に置くことが多いようです。


* MIME 型

[32] 公式な規定は無いみたいです。

[9] 
[FIG(list middle)[
- [CODE(MIME)@en[text/gpx]]
- [CODE(MIME)@en[application/gpx]]
- [CODE(MIME)@en[application/gpx+xml]]
- [CODE(MIME)@en[application/x-gpx]]
- [CODE(MIME)@en[application/x-gpx+xml]]
]FIG]

[93] [CODE[application/gpx+xml]] を使うのが最も好ましそうです。

[94] [CODE[charset]] [[引数]]が用いられることもあります。

* 拡張子

[35] [DFN[[CODE[.gpx]]]] がよく使われるようです。

* 処理

[90] [CITE[GPX Parsing]] が処理方法を規定しています。

* 応用

[101] 
[[GPSロガー]]などで記録した [[GPS]] による[[座標]]の時系列データと、
それに付随する各種情報 ([[心拍数]]、[[加速度]]など)
を交換するために用いられることが多いです。
これには [CODE[trk]] [[要素]]が用いられます。

* ファイル例

[8] <http://www.yamareco.com/modules/yamainfo/download-gpx.php?route_id=332>

[CODE(MIME)@en[application/gpx+xml]]

[10] <http://latlonglab.yahoo.co.jp/route/get?id=8ef4df3bfb5dfa5870dca1867ce2833f&format=gpx>

[CODE(MIME)@en[[[application/gpx]]; [[charset]]=[[UTF-8]]]]

[11] <http://labs.coruscantconsulting.co.uk/garmin/gpxgmap/load.php?d=default&lang=en&elev=off&trk=off&o=gpx&cmt=off&desc=off&w=on&gdata=goo.gl%2Fmaps%2FTFxlI>

[CODE(MIME)@en[[[application/gpx+xml]]; [[charset]]=[[utf8]]]]

[26] <http://www.yamakei-online.com/cl_record/output_gps.php?id=55413&fid=1>

[CODE(MIME)@en[[[text/plain]]; [[charset]]=[[UTF-8]]]]

[51] [CITE[Google Maps dynamic GPX example]] ([TIME[2016-04-09 20:09:37 +09:00]] 版) <http://www.gpsvisualizer.com/examples/google_gpx.html>

[52] [CITE@en[stefanocudini/googletrace: Create and store online gpx traces over on Google Maps and OpenStreetMap Sat]] ([TIME[2016-04-09 20:16:00 +09:00]] 版) <https://github.com/stefanocudini/googletrace>

[53] [CITE@en[ultigpx/example1.gpx at master · Knio/ultigpx]] ([TIME[2016-04-09 20:20:53 +09:00]] 版) <https://github.com/Knio/ultigpx/blob/master/example1.gpx>

[54] [CITE@en[ultigpx/example2.gpx at master · Knio/ultigpx]] ([TIME[2016-04-09 20:20:53 +09:00]] 版) <https://github.com/Knio/ultigpx/blob/master/example2.gpx>

[55] [CITE@en[share-tracks/sentiero.catalupo.gpx at master · stefanocudini/share-tracks]] ([TIME[2016-04-09 20:29:48 +09:00]] 版) <https://github.com/stefanocudini/share-tracks/blob/master/gpxs/sentiero.catalupo.gpx>

[56] [CITE@en[share-tracks/chia.fosso.gpx at master · stefanocudini/share-tracks]] ([TIME[2016-04-09 20:30:18 +09:00]] 版) <https://github.com/stefanocudini/share-tracks/blob/master/gpxs/chia.fosso.gpx>

[58] [CITE@en[geotools-2.7.x/sample_gpx_file_01.gpx at master · boundlessgeo/geotools-2.7.x]] ([TIME[2016-04-09 20:36:25 +09:00]] 版) <https://github.com/boundlessgeo/geotools-2.7.x/blob/master/modules/unsupported/gpx2/test/org/geotools/gpx2/resources/sample_gpx_file_01.gpx>

[59] [CITE@en[geotools-2.7.x/sample_gpx_file_02.gpx at master · boundlessgeo/geotools-2.7.x]] ([TIME[2016-04-09 20:36:55 +09:00]] 版) <https://github.com/boundlessgeo/geotools-2.7.x/blob/master/modules/unsupported/gpx2/test/org/geotools/gpx2/resources/sample_gpx_file_02.gpx>

[61] ([TIME[2013-05-09 00:08:04 +09:00]] 版) <http://www.ic.daito.ac.jp/~mizutani/gps/data/2013_aug26_toyara.gpx>

[[MIME型]]なし

[66] <http://www.routeyou.com/product/file/2062078.en>

[CODE(MIME)@en[binary/octet-stream]]

[67] [CITE@en[ppl/ybaf.gpx at master · tonymorris/ppl]] ([TIME[2016-04-09 21:52:18 +09:00]] 版) <https://github.com/tonymorris/ppl/blob/master/ybaf.gpx>

[68] [CITE@en[geocache/GCXXXX.gpx at master · LinusU/geocache]] ([TIME[2016-04-09 22:09:19 +09:00]] 版) <https://github.com/LinusU/geocache/blob/master/GCXXXX.gpx>

[[GPX 1.0]] + 独自拡張

[70] [CITE@en[django-gpxpy/test_track.gpx at master · PetrDlouhy/django-gpxpy]] ([TIME[2016-04-09 22:16:24 +09:00]] 版) <https://github.com/PetrDlouhy/django-gpxpy/blob/master/tests/test_data/test_track.gpx>

[71] [CITE@en[kalenji-gps-watch-reader/test/integrated at master · lincomatic/kalenji-gps-watch-reader]] ([TIME[2016-04-09 22:18:49 +09:00]] 版) <https://github.com/lincomatic/kalenji-gps-watch-reader/tree/master/test/integrated>

[72] [CITE@en[GPS/GPS/GPX at master · ratchasak/GPS]] ([TIME[2016-04-09 22:20:25 +09:00]] 版) <https://github.com/ratchasak/GPS/tree/master/GPS/GPX>

[CODE(XMLa)@en[xmlns]] なし

[73] [CITE@en[osmawalk/text/experiments at master · xtompok/osmawalk]] ([TIME[2016-04-09 22:25:54 +09:00]] 版) <https://github.com/xtompok/osmawalk/tree/master/text/experiments>

[74] [CITE@en[masterarbeit/1115401-0008.gpx at master · martinusdipobagio/masterarbeit]] ([TIME[2016-04-09 22:28:12 +09:00]] 版) <https://github.com/martinusdipobagio/masterarbeit/blob/master/agg2graph_martinus/test/raw-data/autobahn/1115401-0008.gpx>

非[[名前空間整形式]]

[75] [CITE@en[masterarbeit/agg2graph_martinus/test/raw-data at master · martinusdipobagio/masterarbeit]] ([TIME[2016-04-09 22:29:46 +09:00]] 版) <https://github.com/martinusdipobagio/masterarbeit/tree/master/agg2graph_martinus/test/raw-data>

[76] [CITE@en[Farm-bbd/'''['''unused''']''' nesudeti at master · macke4ever/Farm-bbd]] ([TIME[2016-04-09 22:37:02 +09:00]] 版) <https://github.com/macke4ever/Farm-bbd/tree/master/%5Bunused%5D%20nesudeti>

[77] [CITE@en[TrainCollServer/TrainCollSimulator/src/main/resources/gpx/lodz-waw-lodz'''['''2015-07-04''']''' at master · jbentyn/TrainCollServer]] ([TIME[2016-04-09 22:39:13 +09:00]] 版) <https://github.com/jbentyn/TrainCollServer/tree/master/TrainCollSimulator/src/main/resources/gpx/lodz-waw-lodz%5B2015-07-04%5D>

[78] [CITE@en[monongalia-preston-wv-trail-maps/coopers-rock-state-forest/gpx at master · masneyb/monongalia-preston-wv-trail-maps]] ([TIME[2016-04-09 22:41:52 +09:00]] 版) <https://github.com/masneyb/monongalia-preston-wv-trail-maps/tree/master/coopers-rock-state-forest/gpx>

[79] [CITE@en[mapedit/GeopisteetVS.gpx at master · ekohalsti/mapedit]] ([TIME[2016-04-09 22:45:05 +09:00]] 版) <https://github.com/ekohalsti/mapedit/blob/master/editor/static/editor/jquery/GeopisteetVS.gpx>

[80] [CITE@en[TrackMap/app/src/main/assets at master · Flepsik/TrackMap]] ([TIME[2016-04-09 22:47:05 +09:00]] 版) <https://github.com/Flepsik/TrackMap/tree/master/app/src/main/assets>

[81] [CITE@en[iOSMapWorks/C.gpx at master · CoffeeRoom/iOSMapWorks]] ([TIME[2016-04-09 22:49:23 +09:00]] 版) <https://github.com/CoffeeRoom/iOSMapWorks/blob/master/src/TrailsAlpha%202/TrailsAlpha/C.gpx>


[98] [TIME[2018-07-05T11:06:13.00Z]]
<http://api.openstreetmap.org/api/0.6/trackpoints?bbox=0,51.5,0.25,51.75&page=0>
[CODE[application/xml; charset=utf-8]]

[CODE[<gpx version="1.0" creator="OpenStreetMap.org" xmlns="http://www.topografix.com/GPX/1/0">]]

[108] 
[TIME[2023-05-11T01:47:19.500Z]]
<https://res.cloudinary.com/utmb-world/raw/upload/v1681323452/snowdonia/GPX%20Files/UTS_100_M_V5_6_41eb280377.gpx>

日時が行ったり来たり。[[標高]]があったりなかったり。

* 実装

[22] [[GPX]] の入出力に対応した[[ネイティブアプリ]]は多数あるようです。

[23] [[Webアプリケーション]]はそれほど多くないようです。

[13] [[Bing地図]]

[CODE(MIME)@en[[[application/x-unknown]]; [[charset]]=[[utf-8]]]]

[15] <http://www.ecoris.co.jp/contents/maptool.html>

[CODE(MIME)@en[application/octet-stream]]

[24] [[Strava]] ([[Webサイト]]、[[API]])

[64] [CITE@en-US[GPX Aviation Waypoint Generation]] ([TIME[2016-04-09 21:30:57 +09:00]] 版) <http://navaid.com/GPX/>

[107] [CODE[js-gpx-parser]]

[FIG(quote)[
[FIGCAPTION[
[109] 
[CITE@ja-jp[GPXトラックログを間引く・簡略化 - 330k info]], [TIME[2024-04-23T17:42:35.000Z]], [TIME[2024-04-26T05:51:07.664Z]] <https://www.330k.info/software/simplify_gpx/>
]FIGCAPTION]

>
なお、カシミール3DではGPXファイルをXMLとしてパースして読み込んでいるわけではないようで、 空要素([CODE[<trkpt lat="***" lon="***" />]])の形を認識できないため、[CODE[<trkpt lat="***" lon="***"></trkpt>]]の形に修正したものを出力しています。
]FIG]


[FIG(quote)[
[FIGCAPTION[
[110] [CITE[カシミール・ユーザーズ・ボード]]
( ([TIME[2016-06-14 02:03:27 +09:00]]))
<http://www.kashmir3d.com/bbs/userboard/boardmsg.cgi?15363>
]FIGCAPTION]

> GPXファイルでtrkpt要素が空の場合、
> <trkpt lat=*** lon=*** />
> と記述されているとカシミールで読み込んでもらえません。
> <trkpt lat=*** lon=***></trkpt>
> と置換すると正常に読み込めるのですが、

]FIG]


[SEE[ [[XMLの非正規的処理]] ]]



* 関連

[82] 似た[[データ形式]]として [[KML]] があります。 [[GPX]] の方が普及しているようですが、
[[Google Maps]] のように [[KML]] のみ対応している実装もあるので、
両方に対応している実装もいくつもあります。

* メモ

[FIG(quote)[
[FIGCAPTION[
[1] ([TIME[2015-07-25 10:48:33 +09:00]] 版)
<http://npgpx.sourceforge.net/>
]FIGCAPTION]

> NPGPX - the GPX plugin
> NPGPX is a plugin that loads and displays GPX files directly in your browser window. It supports zooming and panning, as well as simple graphical settings. It should work with Mozilla and Mozilla-like browsers such as Firefox or Netscape.
> GPX, or the GPS eXchange format, is an XML-based file format that is designed to store GPS data - waypoints, routes, and tracks. It is used by many GPS programs, for example Quantum GIS and GPSBabel. The specification of the GPX format, and other useful documentation, can be found here.

]FIG]


[FIG(quote)[
[FIGCAPTION[
[2] ([TIME[2004-11-11 04:20:14 +09:00]] 版)
<http://npgpx.sourceforge.net/demo.html>
]FIGCAPTION]

> 
>       <EMBED TYPE="text/gpx" SRC="arjeplog04.gpx" WIDTH=350 HEIGHT=350
> 	ALT="You don't have the NPGPX plugin!">

]FIG]


[3] [CITE@ja[GPX - Wikipedia]]
([TIME[2016-03-08 10:10:17 +09:00]] 版)
<https://ja.wikipedia.org/wiki/GPX>

[FIG(quote)[
[FIGCAPTION[
[5] [CITE@en[Strava Uploads V3 API]]
([TIME[2016-03-30 01:36:07 +09:00]] 版)
<https://strava.github.io/api/v3/uploads/>
]FIGCAPTION]

> The base version of GPX does not allow for the inclusion of heartrate, cadence, distance or temperature data. As a result, extensions to GPX were created and Strava supports the two most popular plus a general format. The extensions extend the <trkpt> tag to include extra attributes with each datapoint.
> Garmin’s Track Point Extension v1
> From the extensions available, Strava extracts:
> atemp as temperature
> hr as heartrate.
> Cluetrust GPX extension
> From the extensions available, Strava extracts:
> cadence as cadence
> distance as distance
> hr as heartrate
> temp as temperature.
> Strava also detects general tags placed in the <extensions> tag of each <trkpt> tag. Strava extracts:
> cadence as cadence
> distance as distance
> heartrate as heartrate
> power as power.

]FIG]

[6] [CITE[]] ([TIME[2008-08-14 06:42:00 +09:00]] 版) <http://www8.garmin.com/xmlschemas/TrackPointExtensionv1.xsd>

[7] <http://www.cluetrust.com/Schemas/gpxdata10.xsd>

[12] [CITE[Google Maps to GPX Converter]]
([[Sverrir Sigmundarson]] 著, [TIME[2016-04-08 21:12:01 +09:00]] 版)
<http://labs.coruscantconsulting.co.uk/garmin/gpxgmap/convert.php>

[FIG(quote)[
[FIGCAPTION[
[14] [CITE@ja[やっと巡り会えた、GPSロガーの軌跡上の位置の「時刻」も分かるGPXビュアー:GPS Tracks/GPS Tracks HD « アメリカより]]
([TIME[2016-04-08 21:19:44 +09:00]] 版)
<http://blogfromamerica.com/?p=15376>
]FIGCAPTION]

> 無料・有料を含めて、GPXファイル(GPSロガーが保存するファイルタイプ)を表示するアプリを探してみたのですが、なんと、地図上に軌跡のみを表示するアプリは沢山有っても、任意の軌跡上の点の時刻を表示するものと、軌跡を始点から終点まで再生して辿ってくれるアプリが、殆ど無いこと!
> 結局、20以上のアプリをダウンロードし、数十ドルのお金を有料アプリに費やしました。
> そして、もう諦めて、「これこそ、自分で自分の目的に合ったGPXビュアー・アプリを開発しなければならないか!?」と思っていたときに、やっと、それなりに自分の目的に叶うアプリを探し当てることが出来ました!
> ■ GPS Tracks/GPS Tracks HD (開発元:DMomeault)
> それが、
> ● GPS Tracks、iPhone対応(iPad/iPad Miniでも使える) $0.99
> ● GPS Tracks HD、iPad/iPad Mini専用 $3.99
> です。

]FIG]

[FIG(quote)[
[FIGCAPTION[
[16] [CITE[【GPSロガー】GPX形式をITM形式に変換するウェブアプリを作りました。 | KUMA TYPE]]
([TIME[2016-04-08 21:28:50 +09:00]] 版)
<http://blog.kumacchi.com/2013/04/25/2352>
]FIGCAPTION]

> ezTourはITM形式以外のデータを読み込めないのです。
> しかし、山旅ロガーはITM形式でログを出力できないわけです。GPX形式とKML形式なら出力できるので、GPXとかKMLで出力してみたわけです。

]FIG]


[FIG(quote)[
[FIGCAPTION[
[17] [CITE[【GPSロガー】GPX形式をITM形式に変換するウェブアプリを作りました。 | KUMA TYPE]]
([TIME[2016-04-08 21:29:17 +09:00]] 版)
<http://blog.kumacchi.com/2013/04/25/2352>
]FIGCAPTION]

> 山旅ロガーとezTourで生成したGPXファイルの中では見たことが無かったのですが、他のソフトで、一つの<trk></trk>タグの中に<trkseg></trkseg>タグが複数存在する場合が、有るよう

]FIG]


[FIG(quote)[
[FIGCAPTION[
[18] [CITE[【GPSロガー】GPX形式をITM形式に変換するウェブアプリを作りました。 | KUMA TYPE]]
([TIME[2016-04-08 21:29:34 +09:00]] 版)
<http://blog.kumacchi.com/2013/04/25/2352>
]FIGCAPTION]

> GPXファイルのspeedエレメントは「メートル/秒」で有ることが判明したので、時速に変換してから登録するようにした。
> speedエレメントがない場合、座標と時刻から自力で速度を算出するように改良した。

]FIG]


[19] [CITE@ja[GPX2ITM コンバータ - GPXファイルをITMファイルに変換]]
([TIME[2016-04-08 21:30:55 +09:00]] 版)
<http://gpx2itm.kmake.net/>

[20] [CITE@ja[Why not GPX? - OpenStreetMap Wiki]]
([TIME[2016-01-21 16:32:39 +09:00]] 版)
<http://wiki.openstreetmap.org/wiki/Why_not_GPX%3F>

[21] [CITE@ja[GPX - OpenStreetMap Wiki]]
([TIME[2016-04-02 07:09:10 +09:00]] 版)
<http://wiki.openstreetmap.org/wiki/GPX>

[25] [CITE@ja[JavaScript版 あしあとデータ to GPX コンバーター]]
([TIME[2009-10-23 23:49:42 +09:00]] 版)
<http://cs88.awardspace.info/ashiato2gpx/>

[27] [CITE[GPX-POI file generator]]
([TIME[2016-04-08 22:02:29 +09:00]] 版)
<http://gpx-poi.com/>

[FIG(quote)[
[FIGCAPTION[
[28] [CITE@en[Default handler for mime type application/gpx+xml · Issue #527 · cgeo/cgeo]]
([TIME[2016-04-08 23:19:11 +09:00]] 版)
<https://github.com/cgeo/cgeo/issues/527>
]FIGCAPTION]

> 
> I can see that results from pocket queries have Content-Type: application/gpx; - so we would probably need to register for both:
> Content-Type: application/gpx;
> Content-Type: application/gpx+xml;

]FIG]


[FIG(quote)[
[FIGCAPTION[
[29] [CITE[#4768 (GPX download Content-Type should be "application/gpx+xml") – OpenStreetMap]]
([TIME[2016-04-08 23:20:39 +09:00]] 版)
<https://trac.openstreetmap.org/ticket/4768>
]FIGCAPTION]

> It would be convenient if the Content-Type of GPX downloads was "application/gpx+xml" instead of "text/xml". This would match the media type defined for GPX on Wikipedia (​http://en.wikipedia.org/wiki/GPS_eXchange_Format), and would allow better support for GPX-enabled applications to be selected automatically by the browser/operating-system when users click on download links. 
> For example on iPhone Safari will render text/xml documents itself rather than passing them off to an appropriate application. If the Content-Type was application/gpx+xml then Safari would search for an installed application that knew how to handle GPX files and allow the user to open the download in that app.
> 

]FIG]


[FIG(quote)[
[FIGCAPTION[
[30] [CITE[Open gpx files from browser]]
([TIME[2016-04-08 21:22:20 +09:00]] 版)
<http://help.locusmap.eu/topic/open_gpx_files_from_browser>
]FIGCAPTION]

> At first glance it looks like maybe Locus needs to register for the application/gpx+xml mime type (in addition to application/gpx)?

]FIG]


[31] [CITE[add application/x-gpx+xml, application/x-osm+xml, application/x-esri-shape to the mime-type database | Review Request | Review Board]]
([TIME[2016-04-08 23:23:54 +09:00]] 版)
<https://git.reviewboard.kde.org/r/106977/>

[57] [CITE@en[RouteConverter/gpx/src/main/doc at master · cpesch/RouteConverter]]
([TIME[2016-04-09 20:31:20 +09:00]] 版)
<https://github.com/cpesch/RouteConverter/tree/master/gpx/src/main/doc>

[FIG(quote)[
[FIGCAPTION[
[60] [CITE[独り言日記(2009/12) - FreeStyleWiki]]
([TIME[2016-04-09 20:52:23 +09:00]] 版)
<http://ft-lab.ne.jp/cgi-bin/wiki.cgi?page=%C6%C8%A4%EA%B8%C0%C6%FC%B5%AD%A1%CA2009%2F12%A1%CB#p40>
]FIGCAPTION]

> <gpx version="v1.1.5"
>     creator="iTravel Tech Inc. - http://www.itravel-tech.com"

]FIG]

[FIG(quote)[
[FIGCAPTION[
[63] [CITE[GPX - GPS Exchange Format]]
([TIME[2016-04-09 20:05:35 +09:00]] 版)
<http://www.gdal.org/drv_gpx.html>
]FIGCAPTION]

> Expat library supports reading the following built-in encodings :
> US-ASCII
> UTF-8
> UTF-16
> ISO-8859-1
> OGR 1.8.0 adds supports for Windows-1252 encoding (for previous versions, altering the encoding mentioned in the XML header to ISO-8859-1 might work in some cases).
> The content returned by OGR will be encoded in UTF-8, after the conversion from the encoding mentioned in the file header is.

]FIG]

[FIG(quote)[
[FIGCAPTION[
[65] [CITE@en[GPXM-file | RouteYou Help]]
([TIME[2016-04-09 21:44:15 +09:00]] 版)
<http://help.routeyou.com/en/topic/view/262/gpxm-file>
]FIGCAPTION]

> A GPXM-file is a digital representation of the route you can create and see on RouteYou. GPXM is the format, based and compatible with GPX (GPS eXchange Format), but extended with a set of features to make full use of the content provided and created on RouteYou.

]FIG]

[69] [CITE@en[GeoCache GPX Example.gpx]]
([TIME[2016-04-09 22:10:13 +09:00]] 版)
<https://gist.github.com/ssx/619665>

[FIG(quote)[
[FIGCAPTION[
[84] [CITE[M241のgps解析]]
( ([TIME[2012-04-28 20:44:31 +09:00]]))
<http://tancro.e-central.tv/grandmaster/gpx/m241-gpx.html>
]FIGCAPTION]

> 速さの値としてDESC要素とSPEED要素との関係であるが、DESC要素で表示されているm/hの表示は間違いでkm/hが正しい。SPEED要素の単位はm/sである。

]FIG]


[FIG(quote)[
[FIGCAPTION[
[85] [CITE[Location Plus A1解析]]
( ([TIME[2012-04-23 18:24:26 +09:00]]))
<http://tancro.e-central.tv/grandmaster/gpx/a1wh-gpx.html>
]FIGCAPTION]

> 文字コード
> Shift_JIS
> 改行コード
> LF
> 1行目
> <?xml version="1.0"?>

]FIG]


[FIG(quote)[
[FIGCAPTION[
[86] [CITE[GPXデータを[[簡略化]] - 330k.info]],
[TIME[2016-06-01 20:28:09 +09:00]]
<http://www.330k.info/software/simplify_gpx>
]FIGCAPTION]

> 自転車ツーリング中は事前にGoogle MapsとGMapToGPXで作っておいた走行ルートをGPXファイルにし、
> AndroidのRMapsや地図ロイドに読み込ませて走行ルートを確認しているのだが、
> GPXファイルに余分な要素があると、処理に時間がかかってしまう(あまりに重いと処理できないこともある)。
> そこでtrkpt要素の子要素(eleやcmt、timeなど)を根こそぎ削除し、lat属性とlon属性のみを残すスクリプトを作成した。
> また、'''['''Mathematica''']''' 折れ線を間引くのアルゴリズム(Douglas-Peucker)を用いて、GPSログ中のポイントを間引く機能も実装してみた。

]FIG]


[87] [CITE[轍 ONLINE - GPSログを写真付きで地図上に表示・共有するサービス]]
( ([TIME[2016-07-22 17:36:28 +09:00]]))
<http://map.cyclekikou.net/>

[88] [CITE@en-US[Uploading GPS files without time information – Strava Support]]
( ([TIME[2016-06-28 11:51:15 +09:00]]))
<https://support.strava.com/hc/en-us/articles/216917947-Uploading-GPS-files-without-time-information>

[89] [CITE[NeoRun 山行計画(GPX)編集マニュアル]]
([TIME[2016-09-13 16:45:17 +09:00]])
<https://go-wellness.epson.com/neo-run/contents/pdf/trek_gpx_manual.pdf>

[91] [CITE@en[Spatial Data on the Web IG F2F - Day 2/2 – 06 June 2018]]
([TIME[2018-06-08 22:20:12 +09:00]])
<https://www.w3.org/2018/06/06-sdw-minutes.html#x14>

[92] [CITE@en-US[GPX Developers Forum - Yahoo Groups]]
([TIME[2018-07-02 14:01:56 +09:00]])
<https://groups.yahoo.com/neo/groups/gpsxml/conversations/messages/2386>

[102] [CITE@en[external/leaflet.elevation/spec/test.gpx · c97681e0a0df62d4b929a7bd5f3eb8c046fd8f47 · Diego Andrés Ramírez Aragón / BikeTracks · GitLab]]
([TIME[2018-10-30 15:09:56 +09:00]])
<https://repo.lowfill.com/dramirez/BikeTracks/blob/c97681e0a0df62d4b929a7bd5f3eb8c046fd8f47/external/leaflet.elevation/spec/test.gpx>

[103] ([TIME[2018-02-28 19:46:11 +09:00]])
<https://howtotrailrun.salomon.com/medias/trail/330-trail-gpxdatas-iicss18_poland_krakw_10km.gpx>

[104] [CITE@ja[Epson SF-810の心拍数をSportTracks3.1に読み込むためにGPXを編集した]]
([TIME[2020-10-19T02:38:33.000Z]])
<https://thik.jp/jog/archives/epson-to-sporttracks-3>

[105] [CITE[トラックログ/GPXファイルの便利な活用方法。ナビゲーション、ネット活用、登山の振り返りが思いのままに! YAMAYA - ヤマケイオンライン / 山と渓谷社]]
([TIME[2021-03-09T06:43:31.000Z]])
<https://www.yamakei-online.com/yama-ya/detail.php?id=397>