FC2ブログ

やまだらけブログ

ウェブサイト「日本は山だらけ~」の更新状況や山に関する話題をお伝えします。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

GPS トラックログ処理プログラムを作る #3

GPS についている距離計とトラックログ上の距離はだいぶ違うようです。

開聞岳に登った際の記録では往復で 4.16 km です。これ今考えるとすごく短いですよね。いや、これを作成したときもこんなに短いかなぁと疑問には思いました。で、昨日完成したプログラムで計算させてみると 8.46 km になりました。むひーっ、だいぶ違います。で、心配になったので、Google Earth の距離計算機能でおおざっぱに距離を計算してみました。画像がそのときのものです。


(クリックで拡大します)

片道だけで 3.6 km ありました。往復だと 7.2 km です。こっちの方が数字としては合ってそうです。では GPS の記録はいったい何なんでしょう?

トラックログ上の距離を計算すれば、GPS の精度の問題上測位した緯度経度が常にぶれますので、それが記録されて少し長めになりそうなことは予想がつきます。ですので、おそらく GPS 側で距離を計測するさいにある程度補正をしてそうです。つまり細かく動いた場合、これを測位のぶれと認識して距離をカウントしない、という処理をしていそうです。したがって登山などでゆっくり動いたり細かく動いた場合は誤差で測位がぶれた場合と区別がつきません。これが距離がかなり少なく表示される原因のような気がします。問題はどの程度の動きを無視するようになっているかです。普通に徒歩で歩く分には大丈夫でも登山のように非常にゆっくり移動するとだめなのかもしれません。自前で細かい動きを無視するような処理を作り、いろいろその処理の強さを調節する必要が出てきました。むー、やることが増えたようです。

スポンサーサイト
  1. 2009/10/10(土) 21:29:02|
  2. プログラミング
  3. | トラックバック:0
  4. | コメント:1

GPS トラックログ処理プログラムを作る #2

前回からの続きです。

前回 GPX ファイルを読み込むところまでうまくいきましたので、次は、以前に調査・報告した「二地点の緯度・経度からその距離を計算する」を組み込んで、ファイルから読み込んだ GPX ファイル(GPS のトラックログファイル) の距離を計算させてみました。普段はこの写真のようにデジカメで GPS の距離計 (Odometer) の画像を撮っているのですが、これを時々忘れます。写真を撮るのを忘れたり、出発前にクリアするのを忘れたり。。。途中電車に乗ったり、バスに載ったりするともう歩行距離が分かりません。せめて普通の車みたいに2つ位、別々の距離計を搭載してて欲しかったですね。あと距離計の計測の一時停止とか。まぁ無いものを嘆いても仕方ありませんので、がんばって自作するわけです。カシミールとか使うと簡単にできてしまうのかもしれません。ちなみに写真が小さくて見づらくて申し訳ありませんが、9.36 km と表示されているのが移動距離です。

本日の一枚(2009/10/9)

距離を計算するプログラム自体は以前書きましたのでそのままそれを組み込み、1 つの GPX に保存されているトラック毎の距離と、全体の距離を計算させるようにしました。今のところうまく動いています。ちなみに GPX ファイルには、GPS の電源を入れ直すたびに電源を入れている間の情報が、独立した「トラック」として記録されます。ファイルは1日分が1つのファイルにまとまります。これを USB でつないでパソコンにコピーします。

今日作成したプログラムはちゃんと記録が確実に残っているトラックログで比較・検証する必要があります。これは明日以降の課題にします。もう少し機能を追加したら公開したいと思います。

  1. 2009/10/09(金) 23:33:58|
  2. プログラミング
  3. | トラックバック:0
  4. | コメント:1

GPS トラックログ処理プログラムを作る #1

モールス符号プログラムはとりあえず放置して、次は GPS トラックログ処理プログラムを作りたいと思います。ハンディ GPS などから読み込んだ GPX ファイルを処理して、移動距離などを求めるプログラムになる予定です。動機はまさにその「移動距離」で、普段は移動前、移動後に GPS の距離計の画面をデジカメで撮っているのですが、とある登山の時、それを忘れて分からなくなってしまいました。というわけでこれまたプログラムを自作しよう、というわけです。

実は GPX ファイルの処理プログラムは一度作っていて、自分のウェブサイトの山行記録の Google Maps 出力などに使用しているのですが、とても公開できるレベルではありませんので、ゼロから作り直したいと思います。

今日は GPX ファイルのフォーマットを調べて GPX ファイル読み込み部分を作りました。GPX ファイルのオフィシャルな定義はここから読めます。前回同様、使用言語は Java です。Java だと XML の処理も楽ちんです。以前書いたプログラムでは DOM を使用して GPX の XML を読んでましたが、今回は逐次処理型の SAX パーザを使ってみようと思います。完成まで、しばしお付き合いください。

  1. 2009/10/07(水) 23:57:28|
  2. プログラミング
  3. | トラックバック:0
  4. | コメント:0

モールス (CW) プログラムを作る #5

作成中の CW トレーニングプログラムを大幅に機能アップしました。ウェブサイトからダウンロードできますのでどうぞ。

インターネットで集めた基本英単語、CW略語、Q符号の計1000語あまりのリストを内蔵しました。特定の文字だけを含むワードをランダムに再生できます(これを自動で行うソフトがほかになかった!)。ウェブサイトの方に使用例を載せました。これであとは WAV 出力機能をつければほぼ必要な機能は完成でしょうかね。次に作りたいプログラムが控えてますので、さっさと終わらせます。次は無線を離れて山関係で役立つプログラムを予定しています。

  1. 2009/10/06(火) 23:37:11|
  2. プログラミング
  3. | トラックバック:0
  4. | コメント:0

モールス (CW) プログラムを作る #4

とりあえずランダム文字列のモールス符号を発生させる機能まで完成しましたので、思い切って公開してしまいます。「モールス符号発生・練習プログラム: YMMorseCode」にどうぞ。Mac/Windows/Linux などなど Java 実行環境があれば動くと思います。ただし、GUI のないコンソールアプリです。

次の目標は単語集からランダムに単語を再生するのが目標です。前回も紹介した CQ 出版から出ている「モールス通信 通信の原点=CW」にモールス受信トレーニング法が紹介されていますが、これを実践できるプログラムにしたいと思っています。

  1. 2009/10/03(土) 21:18:59|
  2. プログラミング
  3. | トラックバック:0
  4. | コメント:0

モールス (CW) プログラムを作る #3

モールス符号発生プログラムを作るにあたって、モールス符号の速度について考えてみます。よく見るモールス符号の速度の表現は WPM (Word Per Minute)、 つまり 1 分あたりの単語数です。日本の文献では「字/分」、あるいは CPM (Character Per Minute) が多いようです。実際、アマチュア無線技士2級以上の試験では、モールスのリスニング試験があって、試験内容は「1分間25字の速度の欧文普通語による約2分間の音響受信」と定められています。

モールス符号の場合、文字によって長さが異なります。そこで「PARIS 速度」と呼ばれる速度を用いるのが一般的のようです。これは PARIS という単語を 1 単語として、この単語を 1 分間で何回繰り返せるかがを WPM の基準にするというものです。CPM の場合、単純に WPM の値を 5 倍すればいいようです。

この PARIS という単語を単語間スペースまで考慮すると丁度、短点 50 点分あります。従って、たとえば 20 WPM (100 CPM) では 60 [秒] / (20 [WPM] x 50 [点]) ≒ 0.06 [秒/点]、つまり 1 点あたり 0.06 秒分のサイン波を生成すれば 20 WPM のモールス符号が完成します。

ところで CQ 出版から出ている「モールス通信 通信の原点=CW」 によるとモールス通信を実際にこなすには最低でも 80 CPM, 聞きやすいのは 120 ~ 150 CPM とあり、トレーニングでは最低でも 100 CPM で行えとあります。2 級の 25 CPM というのは相当遅いリスニング試験、ということになります。で、その本によると 25 CPM から徐々に速度を上げようとするのは非常に難しい、とあります。最初から 100 CPM (= 20 WPM) 程度で練習するのがやはり良いようです。というわけで自分のプログラムも 20 WPM をデフォルト値にしようと思います。

  1. 2009/10/02(金) 23:30:14|
  2. プログラミング
  3. | トラックバック:0
  4. | コメント:0

モールス (CW) プログラムを作る #2

前々回の「モールス (CW) プログラムを作る」の内容に、プログラムの解説などを追加したものをウェブサイトの「技術研究本部」コーナーに新しい記事「合成したサウンドを Java で再生する」として載せました。

肝心のモールス符号発生・練習プログラムの方は、ランダムに任意文字数のアルファベットを再生するところまで完成。高機能化する前に公開してしまおうと思います。自分の為に作っていますので、搭載機能の要望は受け付けません(なんつって。いや、半分本当ですが)。

  1. 2009/09/30(水) 22:44:15|
  2. プログラミング
  3. | トラックバック:0
  4. | コメント:0

モールス (CW) プログラムを作る

著者はマンション1階というアマチュア無線をするには最悪な場所に住んでいます。というわけで必然的にアマチュア無線で遊ぶには、いわゆる「移動運用」と呼ばれるスタイルにならざるを得ません。元々登山やキャンプなどのアウトドアフィールドでの無線通信を楽しみたかったので、それはそれでいいのですが、移動運用となると小電力が基本です。アマチュア無線では QRP と呼ばれる小電力での通信にこだわっている人たちおられまして、当方も QRP でのアマチュア無線をテーマのひとつにしたいと思います。

小電力で遠方と通信するにはモールス通信 (CW) がベストな方法です。CW ならば非常に弱い電波でも長距離飛んでいき、比較的簡単に海外とも通信が出来たりするようです。モールス符号による通信はかつてはプロの通信士が利用していた通信技術ですが、現在はデジタル通信技術がそれに取って代わりプロの世界からは基本的にはなくなりました。モールス通信は現在はアマチュアおよび軍事関係でのみ使われています。モールス通信は無線通信の原点と言え簡単な装置で通信が可能ですので、アマチュア無線ではかなり人気のようです。というわけで現在モールス符号を勉強中なのです。

3級の試験は昔はリスニング試験があったようですが、現在は筆記試験だけです。というわけでリスニングがまだまだ苦手です。著者は Mac を使っているのですが、Mac OS X で動くモールス符号生成プログラム・練習プログラムがあまり見つかりません。そこで、いっそのこと自分で作ってしまえ!と思い、現在いろいろとプログラミングに必要な技術を勉強・実験中です。開発過程をブログでレポートします。今回が第1回目です。で、プログラムですが、今のところ想定している機能を挙げてみます。

[モールス (CW) プログラムを作る]の続きを読む
  1. 2009/09/25(金) 23:47:33|
  2. プログラミング
  3. | トラックバック:0
  4. | コメント:1

やまだらけブログ

プロフィール

やまだらけ

Author:やまだらけ
日本は山だらけ~」管理人.更新状況・日々の実験などをブログに書いていきます.

最近の記事

最近のコメント

最近のトラックバック

月別アーカイブ

カテゴリー

カレンダー

09 | 2018/10 | 11
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -

ブログ内検索

RSSフィード

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。