60秒でひっかかる

[ Michi -ログ整形アプリ ]
GPS-CS3K のログを整理していて問題?
$GPGGA,010460,3621.4075,N,13637.0812,E,1,08,00.9,00201.6,M,035.0,M,00,0000*48
最初のデータ “010460” は時分秒なのですが、そのまま読むと「1時4分60秒」ということに…
前後の時間を見てみると、正しくは「1時5分00秒」らしいです。
これはバグかしら、それともNMEA-0183ではこういうのも許容するのでしょうか?
Monoで時間をparseするときにエラーが出たので気がつきました。
補正したデータで作成したログ しらやまさんーせな

Ubuntu 9.04へ

しばらくは8.10を使おうと思ってましたが、
何とかなったので9.04に移行しました。
以下はその記録です。
まず、8.10で起動用のUSBメモリ スタートアップディスクを作成しておきます。
今回はUbuntu 9.04 Desktop 日本語 Remix CD リリース を使っています。
■インストール
起動時に[F6]を押しサブメニューを表示、
[ESC]を押しサブメニューを消す、
キーボードから “xforcevesa” を入力し、開始します。
普通にそのままインストールします。
再起動すると、例のごとく解像度は1280×720になってます。
■videoドライバの変更
HP2133 に Ubuntu 9.04 を参考に、openChrome の最新版をビルドして入れます。
まずはopenChromeをビルドする準備です。
Ubuntu Forum: OpenChrome Install
> sudo apt-get install build-essential subversion autoconf automake1.9 libtool
> sudo apt-get install xserver-xorg-video-openchrome
> mkdir openchrome
> cd openchrome
> svn co http://svn.openchrome.org/svn/trunk
修正をほどこした後、ビルドします。
> cd trunk
> sudo ./autogen.sh –prefix=/usr
> sudo make
> sudo make install
xorg.confを編集し、
忘れずに、/boot/grub/ment.lstに「acpi_osi=”!Windows 2006″」を追加。
■amarok 1.4
田島日記 Ubuntu 9.04 で Amarok を使うための Best Work のままに。
> sudo vi /etc/apt/sources.list.d/amarok.list
で次の2行を記述。
deb http://ppa.launchpad.net/bogdanb/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/bogdanb/ppa/ubuntu jaunty main
> sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 0x1d7e9dd033e89ba781e32a24b9f1c432ae74ae63
> sudo apt-get install amarok14
amarok 2.0は操作がシンプルになりけっこう気に入っているのですが、
まだiPodへのコピーが実装されていないので、しばらく待ちます。

命名 Michi

log変換のアプリをとりあえず、”Michi”と命名。
「路」そのまんまです。
htmlのテンプレートを作って、ページを生成するようにしたら、
Freeにして公開しようかしら。
残りの機能はゆっくり追加していく所存です。
今はこんな感じ。
例 → 散策
今日のお散歩記録

Ubuntu 9.04 事始め

Ubuntu 9.04が出ていたので試してみた。
HP 2133では8.10と同じように xforcevesaオプションでインストールができた。
しかし、予想通りインストール後の解像度は1280×720になっていた。
VIA Chromeのドライバはまだ出ていない。
8.10のドライバを少しだけ試してみたがダメっぽい。
ちょっとだけ遊んでみましたが、
ログイン画面やメッセージOSDはあか抜けて、好きですね。
話題の起動速度ですが、「画期的に」と言うほどではない感じ。
問題はAmarokが2.0になっていたこと。
iPod対応が???なので、
HP 2133では、まだしばらく8.10を使うことにする。
空いているマシン一台をUbuntu 9.04にした。
追記: 2009.5.6
実際にHP 2133でUbuntu 9.04を常用してみると…
起動時間はやはり速くなっています。
体感的に1~2割くらい?

GPSログ -高度の記録をグラフで出力する 続き

コードはこんな感じ
protected void SaveGraph( String filename )
{
int count = this.pos.Count;
int [] source = new int[count];
int [] dist = new int[count];
int posIndex;
for (posIndex = 0; posIndex < count; posIndex++) { source[posIndex] = (int)altitude[posIndex]; dist[posIndex] = (int)distance[posIndex]; } Bitmap bitmap = new Bitmap(700, 300); Graphics g = Graphics.FromImage(bitmap); g.FillRectangle(Brushes.White, 0, 0, bitmap.Width, bitmap.Height ); NPlot.Bitmap.PlotSurface2D surface = new PlotSurface2D(bitmap); NPlot.StepPlot plot = new NPlot.StepPlot(); plot.Pen.Color = Color.FromArgb(16, 128, 255); plot.DataSource = source; plot.AbscissaData = dist; surface.Add(plot); surface.YAxis1.WorldMin = 0; surface.YAxis1.Label = "高度 (m)"; surface.XAxis1.Label = "走行距離 (m)"; surface.Refresh(); bitmap.Save( filename, ImageFormat.Jpeg ); } 結果はこんな感じ
ログはこんな感じ

GPSログ -高度の記録をグラフで出力する

NPlotが.netやmonoで使えそうなので試してみた.
参考:.NETグラフライブラリ「NPlot」 (Database tearoomの夜明け)
■MonoDevelopでNPlotを使用する準備
1. NPlotのホームページから最新のnplot-0.9.10.0.zipをダウンロード
2. nplot-0.9.10.0.zipを適当なフォルダに展開
binフォルダ以下には, netに並んでmonoフォルダも用意されています
3. MonoDevelopを開いて(プロジェクト)を開く
4. ソリューション ビューで(プロジェクトの)参照を右クリックして「参照アセンブリの編集」を選択
5. 「.NETアセンブリ」タブを選択
6. 2.で展開した nplot-0.9.10.0/bin/mono/2.0/release/NPlot.dllを選択して追加する
7. 実行ファイルのフォルダにNPlot.dllをコピーしておく
試しにソースに次を設定して,コンパイルが通りました.
using NPlot.Bitmap;
当面の目的はWindows.Formに表示するのではなく,
画像ファイルに出力してhtmlに表示できるようにすること.
■サンプルプログラム
using System.Drawing;
using System.Drawing.Imaging;
using NPlot.Bitmap;
int [] source = { ,,, };
Bitmap bitmap = new Bitmap(500, 250);
NPlot.Bitmap.PlotSurface2D surface = new PlotSurface2D(bitmap);
NPlot.HistogramPlot plot = new NPlot.HistogramPlot();
plot.DataSource = source;
surface.Add(plot);
surface.Refresh();
bitmap.Save( “aaa.bmp”, ImageFormat.Bmp );
結果は下のように.

とりあえずはグラフが出せました.
色々と整形が必要ですね.

USBカメラその後




USBケーブルを工作.
ハンダ鏝でつないで収縮チューブで隠す.
HP 2133ですが,さすがに分解してWR-UC32を埋め込むのは無理そう.
# 機械的には可能だと思いますが,
# 仕上げをきちんとしないと使いづらくなると思う.
ということで,外付けWebCam的な工作をしたいところ.
要は,カメラモジュールをケーブルの根元ごと樹脂で固めて,
ネットブックの定位置に固定できるように器具を固定する.
ゆっくり考えます.

GPSログの処理 2

少し進展。
A, B点があった場合に、その距離をd(A, B)とする。
「d(A, C) * 1.2 < d(A, B) + d(B, C) の場合にはB点を省く。」 というルールでルートを縮約します。 結果、少し改善されたようです。
上記の方法だと、コーナーではどうしてもルートを丸めてしまうので、
距離が少なめに評価されてしまいます。
ログそのままだと距離が長めに評価されるので、それよりはいいと思ってますが。
// total distance
20.064 km → 19.774 km
走行距離は1.5%くらい短くなりました。

春はじめました

手取キャニオンロード 往路 20km分
金曜日には金沢でも桜の開花宣言がでました。
土曜日にようやく自転車で走れました!
13度くらいまで気温はあがったけど、体質なのか、
走り出しても体温が上がらず、筋肉が硬く悪循環。
帰ってからすぐに風呂に入りました。
ログ出力は未完成もいいところですが、使用を始めます。
現在は走行距離の計算ルーチンを作成中。
どうしても多めに積算されるので、インテリジェントに処理したいところ。