2006年11月29日

GPSログの高度・速度グラフなど

おとといの夜から体調を崩して会社を休んでいます。?????????`?i?????????j
今日は体調が落ち着いてきて少し暇だったので、後回しにしていたことをちょっと片付けました。


1.GPS-CS1Kで取ったログから高度・速度のグラフを作る


GPS-CS1Kのログには高度情報も記録されています。せっかくなのでグラフにしてみました。ついでに速度も。

アメリカドライブ旅行の高度・速度グラフ
2006america_alt.png
2006america_spd.png

一番標高が高かったのは7日目のBryce Canyonでした。また、8日目に寄ったZionからLas Vegasに行く高速道路で一番速度が高めでした。
 ※1 3日目の最後はエラーが起きているようです。この日は3000mを超えるほど高いところには行ってません。(^^;;
 ※2 3日目の最初の方は電源を入れ忘れて後で補完したので、速度の記録が取れていません。。。


■成田を出る時に飛行機から取得したログより
2006america_day1_1_alt.png
2006america_day1_1_spd.png

最初はログを取得出来ていたのですが、途中から取得出来なくなりました。これは公式ページに書いてあるように時速500kmを超えたからだと思われます。グラフからも500km/hに近づいたところでログが切れたのが分かります。


お台場に行った時のログより(高度のみ)
20061125_odaiba_alt.png
。。。何かボロボロです。高度については精度の低さが目立ち、高度差の少ないところだと誤差が際立ってしまっています。やっぱりもっと精度の高いGPSが欲しくなってきます。。。


2.Encoded Polylineについて


以前の日記でEncoded Polylineを試した時に「説明通りに作ると途中からルートが変わってしまった」と書きましたが、やっと原因が分かりました。原因はEncodeした文字列に含まれていた'\'です。
自分はPerlで.jsを吐き出すようにしてたのですが、'\'がJavaScriptの中でエスケープ文字として扱われてしまったのでおかしなことになっていたのでした。。。やられた〜????????
posted by bali117 at 13:37| 東京 ??| Comment(0) | TrackBack(0) | プログラム | このブログの読者になる | 更新情報をチェックする

2006年11月26日

冬の自転車通勤用ウェア試行錯誤

先日の勤労感謝の日は阿佐ヶ谷のフレンド商会に行って冬の自転車通勤用のウェアを買ってきました。買ったのはSHIMANOの長袖のサイクルジャージとCannondaleウィンドブレーカー。下はジーパンっぽい普段のパンツを使用するつもりなのでタイツなどは買いませんでした。

次の日、とりあえず錦糸町まで行くのに使ってみました。アンダーウェアに速乾性の高いシャツ、その上に長袖のサイクルジャージ、ウィンドブレーカーです。下はジーパンっぽいパンツ。この格好で走ってみたところ、途中から暑くて我慢出来なくなってしまいました。自分が暑がりなのもありますが、いくらベンチレーションが出来るウィンドブレーカーとは言え、着るのは走り始めだけにした方がいいようです。ただ、帰りも途中で暑くてウィンドブレーカーを脱いだのですが、夜遅くて気温が下がっていたこともあって長袖ジャージだけだと腕の部分が寒く感じてしまいました。なかなか難しいです。。。????????

そして今日はお台場のモンベルクラブに自転車でお出かけ。もちろんアームウォーマーを買ってきました。こいつで腕を暖めればきっと大丈夫なはず!

ついでにGPSログも取ってみました。
お台場への道
 (帰りは途中で行きと少し違うルートにしました。青の矢印が行きで赤の矢印が帰りのルートです。)

このアームウォーマーで解決するといいなあ。でも今日の帰りは指先がちょっと冷たく感じたので、今度は指先まで覆ったグローブが必要かも。。。?????[???i???j
posted by bali117 at 02:49| 東京 ????| Comment(0) | TrackBack(0) | 自転車 | このブログの読者になる | 更新情報をチェックする

2006年11月22日

GPS-CS1Kの誤差?

以前、埼玉県の彩湖に行った時のルートログをいじってたら総距離が78kmと算出された。実際に自転車に取り付けたメーターでは70kmと出ていたはずなので、11.4%も誤差があることに。。。確かに歩いて移動したところもあるのでGPSのログと自転車のメーターで違いはあるはずだが、それでもこんなに誤差があるのはおかし過ぎる!色々調べてみた。

まず、自分が使った計算式は以下の通り。

lat: 緯度、lng:経度 (いずれも単位はradian)
R = 6378137 (地球の半径[m])

Δlat = lat1 - lat0
Δlng = (lng1 - lng0) × cos( lat0 )
距離 = R × √( Δlat2 + Δlng2 )
  参照: 緯度・経度から距離を求める方法(@ 轍 〜自転車的なる日記〜

これで計算したポイント間の距離を加算して総距離を求めた。


1.明らかにおかしな点を除去

先日のログの中でひとつだけぴょこっと変な点が記録されていたのは気になっていたので、それをもっともらしい点に移動させて再度計測してみた。
→結果は76kmとなった。(誤差8.5%)

2.GPS-CS1Kの測位誤差を試算

GPS-CS1Kは測位に±10mの誤差があるらしい。とすると、以下の図の赤点のようなパターンが連続すると誤差が一番蓄積されるのかな?

彩湖に行った時のログは全部で884ポイントになっていたので、あるポイントから次のポイントまでの間隔(上の図の青点どうしの間隔)は平均約79mになっている。したがってこの場合の誤差は次の通り。
√(792 + 202) [m] / 79 [m] = 1.032 (誤差3.2%)

3.GPS-CS1Kの測位誤差を試算(2)

2はあくまでも一定の速度で走っていた場合。平均速度20km/hだとすると3時間30分で着くことになるが、実際には4時間50分かかっている。差分の1時間20分はほぼ停止していたことになる。平均速度20km/hの場合の青点どうしの距離を計算すると約109mになり、停止状態の場合の青点どうしの距離はもちろん0mなので、一番誤差が多い場合は以下のように計算できる。
( √(1092 + 202) [m] × 3時間30分 + 20 [m] × 1時間20分 )
      / ( 70 [km] × 4時間50分 ) = 1.083 (誤差8.3%)


でもGPS-CS1Kの誤差が±10mというのは「GPS衛星自体による誤差」なので、衛星をロストしてたらもっと誤差があるはず。現に極端におかしなポイントが発生しているわけだし。

ただし速度が大きくても±10mの誤差が変わらないとすると平均速度が大きいほど誤差は小さくなるので、自転車じゃなくて車の移動距離計算ならもうちょっと誤差は小さくなるはず。また、停止している時は電源を切っておくようにするともっと誤差が小さく出来る。

と、ここまで計算したところでGoogle Earthでルートログを開いて距離を見てみたらほぼ正確な値が出ている!もしやと思って以前のプログラムを見直したらバグが見つかりました。。。全ての誤差の原因はこれです。。。

過去の記事を見直したら同様に間違っているところがあったので訂正しました。
2006年11月20日掲載 鎌倉〜江ノ島〜湘南サイクリングロード(44km→37km)
2006年10月28日掲載 アメリカドライブ旅行記(約2800km→約2500km)


●分かったこと
・GPS-CS1Kでログを取る時は速度が速い方がいい?
・停止状態では電源を切っておく方が良さそう。
そして、
まずは自分を疑え!!!

はい、反省してます。。。
posted by bali117 at 09:31| 東京 ????| Comment(2) | TrackBack(0) | プログラム | このブログの読者になる | 更新情報をチェックする

2006年11月20日

冬の自転車通勤ウェア

そのうち品川まで自転車で通勤してみようと思っているのですが、自転車初心者なのでどんな服装にすればいいかよく分かりません。?????[???i???j
寒いのはイヤだけど、かと言ってペダルを漕いでいたら暑くなって汗まみれというのも困ります。自分は汗っかきなので、汗まみれになることは覚悟した上で着替えを持って行き、どこかでシャワーを浴びないとダメなんだろうかと半分あきらめつつ、先人達の記事を検索して調べてみました。

It's a Time to Ride !
  →
冬のサイクルウェア
自転車通勤『チャリ通!!』+
  →自転車通勤 冬服

どうやらインナーに速乾性の高いものを着て、重ね着で風を防ぐものを身に着けて寒さを防げばいいようです。これなら汗のかきやすい自分でも自転車通勤出来るかも!?早速週末に探してみようと思ってます。???[???i?????????j
posted by bali117 at 23:29| 東京 ????| Comment(4) | TrackBack(0) | 自転車 | このブログの読者になる | 更新情報をチェックする

鎌倉〜江ノ島〜湘南サイクリングロード

土曜日に鎌倉に行って来ました。目的はサイクリング。鎌倉のGROVEという店でMTBをレンタルして、湘南サイクリングロードを走って戻ってくるというルートです。もちろんGPS-CS1Kでルートログも取ってきました。


【途中の湘南海岸公園にて】


詳細はこちら
20061118_鎌倉


サイクリングの後は近くに予約してあったホテルにお泊まり。大浴場があって気持ち良かった〜。?????C???i?????j
この辺に住むのも気持ち良さそうでいいなあ。???]?[?g
品川まで一本で行けるし考えてみようかな。???[???i?????????j
posted by bali117 at 00:11| 東京 ?J| Comment(0) | TrackBack(0) | 自転車 | このブログの読者になる | 更新情報をチェックする

2006年11月12日

Edy嫌い

以前はEdyを使っていた。非常に便利だと思ったものだ。
しかし最近は全然使っていない。なぜなら、まだ信頼性が低いから。。。

自分はクレジットカードと一緒になっているやつを使っていた。定期入れに入れてケツポケットに入れて持ち歩いていたが、ある時FliCaのアンテナが壊れたようでリーダ・ライターで全然読み取れなくなってしまった。以来、金を預ける気がなくなってしまった。あんな信頼性が低いものに預けるのは怖いよ。

とか言いつつ、Suica定期は使わざるを得ないから使っちゃってるけど。。。?????[???i???j
タグ:edy 破損 FeliCa
posted by bali117 at 23:37| 東京 ????| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2006年11月11日

自転車通勤

最近運動をしていないので、通勤に自転車を使って体を動かそうと思ってる。やっぱり週1回の運動じゃ少なすぎるので。と言っても会社のある品川までだと遠すぎると思うので(そのうちやりたいけど・・・)、まずは錦糸町まで行ってみた。

ついでにGPS-CS1Kでロギングしてみた。ルートはこんな感じ
この日の錦糸町までのルート
※GPS-CS1Kじゃない実際のルートの作成にはMarengo GPS Route Plannerというのを利用した。
※GPS-CS1Kの方はビルが立ち並んでいるところを通ったからGPSをうまく捕捉できていない。街中はやっぱり苦手みたい。

錦糸町では当日利用が出来る北口の駐輪場を使用(南口の駐輪場も当日利用可能)。値段は50円とリーズナブル!これなら気軽に乗って来れる。

クロスバイクを部屋から出すのが面倒だったので、外に放置してある錆びの目立つ古い自転車でギコギコ言わせながら走った。それでも15〜20分ぐらいで結構あっさり着いてしまい、少し物足りなく感じたのでもう少し先まで行ってもいいかな〜と思っている。秋葉原あたりまで行ければ終電で帰る時に総武線各停の満員電車に乗らなくて良くなるから楽かも。

先の方で当日利用できる駐輪場があるかちょっと調べてみた。

墨田区:当日利用は錦糸町駅北口地下・南口地下自転車駐車場のみ。1日利用料は50円。
千代田区:そもそも当日利用できるところが無い。秋葉原利用の構想は実現せず。。。
中央区:無料なので良いが、ちょっと外れてるからなあ。。。せめて銀座にあればいいんだけど。
台東区:御徒町なら良さそう。1日利用料は100円。
港区:品川と田町にあり。1日利用料は150円。

次の目標は御徒町かな〜。でもしばらくは錦糸町まで行くのを続けて様子を見ようかな。続けられることが一番大事だしね。
posted by bali117 at 01:52| 東京 ????| Comment(0) | TrackBack(0) | 自転車 | このブログの読者になる | 更新情報をチェックする

2006年11月05日

とりとめ無し

今日は大学時代の仲間とひさびさの再会。仕事にちょっと行った後での途中からの参加だったが、懐かしくて楽しかった。一人が仕事で来れなかったので残念。彼はちょくちょく海外に行ってしまうので日本にいるうちに会いたい。


話は全然変わり、仕事中の待ち時間に見つけたのだが、au携帯でJavaの勝手アプリが再び動くようになるらしい。
http://www.au.kddi.com/ezfactory/tec/spec/openappli.html

作ってみたいものがあったけど、一日3メガバイトの通信量規制とCLDC1.1/MIDP2.0準拠で全然仕様拡張しておらず、GPSが使えなそうなので断念。
勝手BREWアプリが作れるようになればいいのに。携帯の機能カスタマイズをして個人的な要望を色々実現したい。。。


あと、帰宅してから昨日のルート簡略化の続きを少しやって、距離の誤差だけでなく角度の誤差を考慮するようにしてみたがいまいち思ったような結果にならなかった。もう少し評価関数をいじってみないとダメだなあ。
タグ:java BREW 簡略化 au
posted by bali117 at 02:51| 東京 ??| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2006年11月04日

ルートの簡略化

アメリカでのドライブ旅行中に記録したGPSログは全部で15,587ポイントになっていた。全体を見たい時にこれらを全て使用してしまうと大変だ。重くて使い物にならない。ということでルートを簡略化するツールを作ってみた。

単純に一定間隔で間引くだけだと大きく形状が損なわれてしまう可能性があるので、なるべく誤差を小さくしつつ間引くことが出来るか以下のようにやってみた。

foreach( i:= 全ての点 )
{
 点iを間引いた場合に発生する誤差を求める
}

while( 点の数が目的の数になるまで )
{
 誤差が一番小さい点を間引く
 間引いた点に隣接する二点の誤差を再計算する
}


(始点と終点の誤差は無限大として、絶対に間引かれないようにした。)
この方法で15,587ポイントのログを1/100の155ポイントに簡略化した結果が以下の通り。全体図で見るとまあうまく出来てる気がする。

●オリジナル
route_all_100.jpg

●1/100に簡略化したもの
route_all_001.jpg

細部を見てみる。

フェニックスの辺り。思いっきり簡略化されているけど、まあ許容レベルだと思う。
route_phoenix_100.jpgroute_phoenix_001.jpg
オリジナル
1/100


モニュメントバレーの辺り。ここもまあいいかな。
route_monument_100.jpgroute_monument_001.jpg
オリジナル
1/100


アーチーズ。公園内の三箇所のポイントに行ったことが表現できてて満足。
route_arches_100.jpgroute_arches_001.jpg
オリジナル
1/100


ブライスキャニオン。途中で途切れててこれは少し失敗かな。。。
route_bryce_100.jpgroute_bryce_001.jpg
オリジナル
1/100


まだ多少の不満はあるので、今後は誤差に重みを付けてもう少し試してみよう。周辺に点がたくさんあるかどうかや、その頂点が鋭角だったら優先度を上げたりしてやってみようかな。あとは点を削除した後に周辺の点を動かして誤差を小さくするようにするとか。

ちなみに1/100のやつをGoogle Mapsに貼り付けたルートはココ。これなら軽くてイイ感じ。???i?`???L?j
posted by bali117 at 01:07| 東京 ??| Comment(0) | TrackBack(0) | プログラム | このブログの読者になる | 更新情報をチェックする