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的な工作をしたいところ.
要は,カメラモジュールをケーブルの根元ごと樹脂で固めて,
ネットブックの定位置に固定できるように器具を固定する.
ゆっくり考えます.

久しぶりに物語を読んだような気がする。 できそこないの物語 1 箱宮 ケイ 出版 : 講談社 ISBN :

久しぶりに物語を読んだような気がする。

できそこないの物語 1
箱宮 ケイ
出版 : 講談社
ISBN : 978-4-06-373142-2
発行年月 : 2008.10
できそこないの物語 2
箱宮 ケイ
出版 : 講談社
ISBN : 978-4-06-373161-3
発行年月 : 2009.3

ぐるぐる目の猫のロコが渋くてカッコいい。
あとココリは子狐狸かなと思ったり…
作者のブログ → 箱宮ケイのおもちゃ箱

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%くらい短くなりました。

GPSログの処理

GPSログの処理で、積算距離を求める。
ヒュベニの距離計算式
これで2点間の距離を求め、距離を積算できました。
で、問題は次のようなログ。

実際は10分ほど休憩しているのですが、
誤差のため、ポイントが飛び回っています(泣。
■次で解決できる?
A, B点があった場合に、その距離をd(A, B)とすると、
 d(A, C) > d(A, B) + d(B, C)
の場合にはB点を省く。
許容する最大距離と時間を制限すれば、何とかなりそうな?

春満開前

朝から天気がよかったので、ようやくタイヤ交換。
近所からカレーのにおいが漂ってきます。
お昼は両親と蕎麦を食べにいきました。
相滝
山の中の集落の外れ、



若旦那が妹の同級生だそうです。
蕎麦もおいしかったけど、
ソバプリンもおいしかった。
今日の付きだしの「ごんご」も好き。



近くにあった五十島(?)の大杉

春はじめました

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

My Bag デビュー

先週からマイバッグを車に常備していたのですが、
今日から使用開始です。
マイバッグが本当に環境対策になるのか不透明な部分もありますが、
ここ金沢では6月からスーパーではレジ袋がなくなるらしいので、
とりあえずマイバッグを始めてみます。

アマエビ丼

アマエビが安かったので、丼にしました。
以前に丼にしたとき、
臭みが強いので醤油を多めにかけたらクドくなりました。
なので、今回は軽く塩だけ降ってみましたが、なかなか良い感じ。
あと一味足りないのですが、それがなにかは分からない…