---
title: "XMLのグローバルな位置づけ"
date: "2012-03-06"
tags: 
  - "altova-xmlspy"
  - "mapforce"
description: XMLが.gpxファイル内でGPSデータをどのように構造化しているかを探求します。具体的には、場所情報を表す<trkpt>のような要素や、データ管理に役立つXMLSpyやMapForceといったツールについて説明します。
---
Status: #blog

Tags:  #altova-xmlspy #mapforce

Categories: [Altova](/blog/ja/category/altova.md) 
# XMLのグローバルな位置づけ

XMLは、どこにでも存在します。もし信じられないのであれば、USBケーブルを取り、GPSデバイスをコンピューターに接続し、拡張子が.gpxのファイルを検索してみてください。すぐに、GarminのGPSデバイス上に、2MBのファイル「Current.gpx」が見つかるはずです。このファイルを[XMLSpy](https://www.altova.com/ja/xmlspy.html)で開くと、XMLデータと、その上部にXMLスキーマが定義されていることがわかります。

[![XMLファイルにおけるXMLスキーマの割り当て](https://lh3.ggpht.com/-99u2euIsJ4c/T06Z3djTP2I/AAAAAAAAAoE/9dN5fozXQNg/clip_image001_thumb.png?imgmax=800 "XMLSpy XML Editor")](http://lh6.ggpht.com/-ioQAbFBAvmI/T06Z3ACH_9I/AAAAAAAAAn8/xWMUhUTx68A/s1600-h/clip_image001%25255B3%25255D.png)

ファイルの内容をスクロールすると、多数の<trkpt>タグが表示され、これらは緯度と経度を記録しています。また、<ele>および<time>タグは、その場所の標高、日付、時刻をそれぞれ報告しています。

[![XMLSpyで表示されるXMLファイルの一覧](https://lh6.ggpht.com/-Atzl1R22Oqo/T06Z4I8PaQI/AAAAAAAAAoU/A7BOE4jHBpU/clip_image002_thumb.png?imgmax=800 "XMLSpy XML Editor")](http://lh3.ggpht.com/-nfGGLH9kBL8/T06Z3mruepI/AAAAAAAAAoM/ReG4Av5VyJ0/s1600-h/clip_image002%25255B3%25255D.png)

世界中のどこへ行っても、XMLはあなたの現在地を知らせてくれます。

<!--more-->

.gpxファイルの先頭に戻り、XMLスキーマのURLをコピーし、それをXMLSpyで直接ウェブブラウザから開くことができます。

[![XMLSpyのスキーマ表示機能](https://lh6.ggpht.com/-s8h8QbzjvjA/T06Z4we0_3I/AAAAAAAAAok/DuDgax18qzo/clip_image003_thumb.png?imgmax=800 "XMLSpy Schema view")](http://lh4.ggpht.com/-TMJNbqtdNzg/T06Z4QT4MCI/AAAAAAAAAoc/U_pH8-qUqrk/s1600-h/clip_image003%25255B3%25255D.png)

GPXスキーマがXMLSpyのスキーマビューで開かれ、詳細な説明文が記載されていることが確認できます。ルート要素をダブルクリックすると、XMLSpyのコンテンツモデルビューが開きます。

[![XMLSpy のコンテンツモデル表示](https://lh3.ggpht.com/-TzsOtTQzo1Q/T06Z5ek_EwI/AAAAAAAAAo0/nJkbGlnGSaA/clip_image004_thumb.png?imgmax=800 "XMLSpy Content Model view")](http://lh5.ggpht.com/-kGUm6qnJWIQ/T06Z5HOad8I/AAAAAAAAAos/HECufLQfMNk/s1600-h/clip_image004%25255B3%25255D.png)

このXMLスキーマは、専門的なデータ構造を記述しており、タグを通じて、一般的なユーザーでもアクセスしやすいように設計されています。<trk>要素を展開すると、Current.gpxで見られた<trkseg>および<trkpt>要素の定義が表示されます。これらの要素についても、XMLスキーマ内で明確な説明とともに、その目的が記述されています。

[![XMLSpyのコンテンツモデルの詳細](https://lh4.ggpht.com/-dU5KjSqntVk/T06Z53CyuMI/AAAAAAAAApE/Rh1iSi8ds7Q/clip_image005_thumb.png?imgmax=800 "Detail of the XMLSpy Content Model")](http://lh5.ggpht.com/-tXYfFLnDjKQ/T06Z5iPwZMI/AAAAAAAAAo8/V4sMhHo7dpc/s1600-h/clip_image005%25255B3%25255D.png)

XMLにおける「X」は、「eXtensible（拡張可能）」を意味します。GPX XMLスキーマにおける「extensions」要素は、開発者がこの設計がすべての可能性のある要件に適合しないことを認識していたことを示しています。Current.gpxファイルの先頭に戻ると、2行目で拡張スキーマが割り当てられていることが確認でき、3行目から始まるメタデータは、このファイルに対してGarmin Internationalが拡張機能を追加したことを示しています。

[![XMLSpyで開かれたXMLファイルの詳細表示](https://lh6.ggpht.com/-cm6Jgm0i9NU/T06Z6X0ySCI/AAAAAAAAApU/uGUhl4fcPzQ/clip_image006_thumb.png?imgmax=800 "Detail of an XML file in XMLSpy")](http://lh5.ggpht.com/-aMfDGu288uI/T06Z6Gm6xSI/AAAAAAAAApM/lhSHnICj8YQ/s1600-h/clip_image006%25255B3%25255D.png)

Current.gpxファイルには、速度を<gpxtpx:speed>形式で、また進行方向を<gpxtpx:course>形式で記録するための、Garmin独自の拡張機能が含まれています。

[![XMLSpyで開かれたXMLファイルの詳細表示](https://lh3.ggpht.com/-SruSULYdhf0/T06Z62ddu-I/AAAAAAAAApk/UfeCJDJAYcM/clip_image007_thumb.png?imgmax=800 "XML Data in XMLSpy")](http://lh4.ggpht.com/-zAso4IiYCvI/T06Z6j2bhyI/AAAAAAAAApc/KRTiuQ_aGTE/s1600-h/clip_image007%25255B3%25255D.png)

ウェブサイトである[GPS Visualizer](http://www.gpsvisualizer.com/)では、.gpxファイルをアップロードして、そのデータをGoogleマップ上に表示することができます。しかし、今回アップロードしたCurrent.gpxファイルを表示したところ、マップには多くの重なり合った、入り組んだカラフルな線が複雑に表示され、非常に分かりにくい状態でした。ウェブページに表示された凡例には、"ACTIVE LOG"という言葉と日付で識別された、約20件もの個別のトリップログが記載されていました。

[![GPXファイルに含まれるトラックの一覧](https://lh3.ggpht.com/-49Ee9GHL_dQ/T06Z7hcmb0I/AAAAAAAAAp0/mFmCqTL1l1I/clip_image008_thumb.png?imgmax=800 "List of Tracks in a gpx file")](http://lh3.ggpht.com/-_9AJOkTEiEA/T06Z7KW4yqI/AAAAAAAAAps/s6C7oK7hCuE/s1600-h/clip_image008%25255B3%25255D.png)

その「凡例」の項目は、すべてスクリーンショットに表示されている.gpxファイルの抜粋部分の83731行目に記載されている内容と酷似しています。XMLSpyを使って「ACTIVE LOG」を検索した結果、ファイルには実際に多くのドライブの記録が含まれていることが確認できました。多くのカーナビや携帯デバイスと同様に、GarminのGPSも、個々のドライブの記録を<trk> and </trk>タグで囲み、単一の大きなファイルにデータを蓄積しています。

[Altova MapForce](https://www.altova.com/ja/mapforce.html)は、これらの大きな.gpxファイルを、それぞれの旅行ごとに小さなファイルに分割するための便利なツールです。マッピングの入力と出力の両方で、gpx.xsd XMLスキーマを使用し、グループ化機能を使って、Current.gpxファイルを、以下赤色のコネクタで強調表示されている<trk>要素の新しい出現ごとに分割します。以下に示す<trk>のすぐ下の<name>要素をキーとして使用し、各区切りを識別し、各出力ファイル名を構築します。ただし、ファイル名に使用できない「:」という文字は削除します。

[![MapForceを使用して、大きなGPXファイルを分割します](https://lh3.ggpht.com/-7mAz9FY2tUU/T06Z8LEcE5I/AAAAAAAAAqE/eyiJBuR6RY0/clip_image009_thumb.png?imgmax=800 "MapForce mapping to split a large gpx file")](http://lh5.ggpht.com/-IJ__CRhfa_E/T06Z71I7qmI/AAAAAAAAAp8/brL4Dx4biSw/s1600-h/clip_image009%25255B3%25255D.png)

マッピングを実行するために「MapForce 出力」ボタンをクリックすると、MapForceは入力データストリーム内で "<trk>" が出現するたびに、新しい出力ファイルを生成します。 以下のスクリーンショットは、作成された20個のファイルのうちの14番目のファイルを示しています。 ご覧のとおり、各出力ファイルには、スキーマ定義とメタデータ（2行目から8行目）が含まれています。

[![MapForceのマッピング処理による、ファイル分割の出力](https://lh6.ggpht.com/-aW-M7dIu46A/T06Z866Uh4I/AAAAAAAAAqU/dyUYQDIKO_w/clip_image010_thumb.png?imgmax=800 "Output of the MapForce mapping to split files")](http://lh5.ggpht.com/-DZii6QIaYUg/T06Z8u-ANzI/AAAAAAAAAqM/1lc4QwJXoe4/s1600-h/clip_image010%25255B3%25255D.png)

現在、[GPS Visualizer](http://www.gpsvisualizer.com/)のウェブサイトで、個々のファイルを読み込むことで、そのファイルに記録された移動経路をまとめて確認することができます

[![Google マップ上に、単一の GPX トラックの経路を表示する](https://lh4.ggpht.com/-G0UHa4mnSrw/T06Z9jQ_oSI/AAAAAAAAAqk/iQNdR_3Q1vE/clip_image011_thumb.png?imgmax=800 "Plot of a single gpx track on Google Maps")](http://lh6.ggpht.com/-AdaqaYySTIA/T06Z9TQ6_-I/AAAAAAAAAqc/WOFGx6XeuPw/s1600-h/clip_image011%25255B3%25255D.png)

この種のアプリケーションは、ハイカー、登山者、サイクリスト、ランナーといったアスリートにとって、また、旅行の記録をつけたいと考えている方にとって非常に便利です。GPS交換フォーマット、GPXスキーマ、および関連リソースの詳細については、[http://www.topografix.com/gpx.asp](http://www.topografix.com/gpx.asp)をご覧ください。XMLSpy、MapForce、またはその他のAltova製品をお試しになりたい場合は、[こちらをクリックして、30日間の無料トライアル版をダウンロードしてください](https://www.altova.com/ja/download-trial/)

**編集後記：** 2012年4月10日、関連する記事を「～というタイトルの記事」というタイトルで公開しました [GPS XMLデータを用いた、洗練されたレポートの作成](https://www.altova.com/blog/2012/04/creating-elegant-reports-for-gps-xml.html) GPSのXML形式のトリップログに記録された標高の変化をグラフで表示し、HTML、RTF、PDF、およびMicrosoft Word形式でレポートを作成するためのStyleVisionスタイルシートを記述します。
