Webサービスプロジェクト ~ GPSデータを解析する!



2019年8月16日

Webサービスプロジェクト

Webサービスをどのように作っていくか、詳しい説明を考えていたのですが、
実際の企業での案件では、設計データなどを公開する事に問題があるので
詳細を紹介するのが難しくなってしまいます。

今回は「趣味」のデータを元にWebサービスを作成する過程を紹介する事にしました。
過去のブログでも紹介していますが、趣味の分野も人より詳しい分野の一つです。
その経験を生かして、Webサービスを考える例にもなりますので調度いいと思います。

今回テーマにしたのが、「登山」です。
私の趣味の一つで、若いころから良く山に出かけています。
スマホや小型のGPS機器などが普及して、
誰でも簡単にGPSの記録を残せるようになりました。

実際は、既にいろいろなGPSの記録を利用したサービスがありますが、
今回は自分自身でそのサービスを作ってみる事にしました。

記事の内容は、サービスを作る過程に重点を置いて書いて行きますので、
登山に興味のない方も是非読んでいただければと思います。

GPSのデータとは?

詳しい話は、インターネットで調べて頂く事にして、簡単にGPSについて書いておきます
ご存知の方も多いと思いますが、
複数の人工衛星からの電波を元に位置情報を得る仕組みです。
最近のスマホや、ランニング用の腕時計などに内蔵されていて、
走った場所、距離、さらに心拍数などを簡単に記録できるような仕組みが作られています

実際ランニングに活用すると、普段のトレーニングからレースでのペース配分などを
簡単に行う事ができます。

どの様に記録されるか?

そうした、ランニングや登山のGPS情報を記録利用するために、
幾つかのファイルの形式があります。
GPXやTCXなどと呼ばれる形式が広く使われています。
GPXはGPSデータをWebサービスにアップロードする時などに広く使われています
実際にファイルの中身を見ると、微妙に違っていて、全てサポートするのは少し面倒です

今回のプロジェクトでは、Garminのサービスである、
Garmin Connectからダウンロードできる形式の、
TCXとGPXのファイルを読み込んでいろいろな解析を行う事を目指します。
余裕があれば、GPSのデータをポスト出来るサイトのSTAVAからダウンロードできるGPXのファイルもサポートしようかと考えています。これで、Garmin以外のデバイスを使用している方のデータもある程度扱う事が可能になります。

Webサービスの実装は?

使用する言語は、基本は「Javascript」で書いて、
Webサイトから実際の作成した物を体験して頂くという方向で進めようと思っています。
以前は似たようなアプリを「Java」と「Python」で作成しましたが、
配布が面倒なので、今回はWebサイトにアクセスすれば利用できる形にして提供します

動的にWebページを生成するために、「jQuery」も併せて利用していきます。

という事でまずは、
  • Javascript
  • jQuery
でサービスを作成して行きます。

最初のステップは?

まずは、扱いやすいTCX形式のファイルを読み込んでその内容を表示する事から始めます
最初にTCXを利用するのは、このファイルの場合、
距離情報を既に含んでいるので緯度と経度から距離を計算する必要がないからです。

GPX形式の場合は、距離情報はGPSから得た緯度と経度を元に計算する必要があるので
まず最初はTCXから始めて、その後でGPX形式をサポートする事にします。

TCX形式・GPX形式のファイルは、どちらもXML(Extensible Markup Languate)を
使っています。これは、階層構造になったデータを表すのに都合が良いためです。
内容は、HTMLなどのように、タグをつけてデータの構造を決めています。

目的はあくまでGPSデータの取得なので、このタグ情報を元に、各データの属性や内容を取り出せれば十分です。

手順としては、
  • XMLの情報を読み取る
  • タグに基づいて必要な情報を抜き出す
  • 読み込んだ情報の表示
ここまでを第一ステップにします。
これだけでも、いろいろなプログラミングの要素を含んでいますので
こうしたサービスを作る事で幅広いプログラミングの知識を得る事ができます。

今日は概要の紹介という事でこの辺で終わりにします。
暫くこの連載をしますので是非読んでいただければと思います!

お問い合わせはこちら!

コメント

このブログの人気の投稿

ユーザーインターフェースの設計

足し算以外もできるようにする

改良版足し算プログラム