GPS関連の話題を掲載していきます。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
前回「GT-730F/Lのログデータで何かやってみる其の8」の続きです。
前回、Waypointの設定もできるようにはしましたが、地図をクリックすると、即座に半径100mの円が描画されてしまう等、結構、設定がめんどくさいので少し改善してみます。
とりあえず動きてきには以下のようにしてみます。
1. VB上に、チェックボックスを配置し、そこにチェックが入っている間だけ、WayPointが指定できる。通常は地図の移動のみ。
2. 最初マップにクリックすると、Waypointエリアの中心が指定され、次にマップをクリックすると、最初の経度緯度と次の経度緯度との距離をエリアの半径とし、円が描画される。
3. さらにマップをクリックすると、前回の円を消去し、新たなWaypointエリアの中心が指定される。これ以降の動作は同じ。
上記のような感じにしてみます。これで、Waypointエリア半径も指定できます。
なにやら、めんどくさそうですが、意外に、簡単にできます。ほとんどが、地図のAPIの改造になります。
2点間の距離はこのブログでは同じみの、三平方の定理で、以下のようにします。
Math.sqrt(Math.pow(((現在経度 - 前の経度) / 0.000009),2) + Math.pow(((現在の緯度 - 前の緯度) / 0.000009),2))
とりあえず、これで、コーディングしてもいいのですが、電子国土では、地名検索機能もあるので、これも導入してみます。正直、サンプルも用意されており、そのサンプルをフレームタグで呼び出すようにすれば、すぐに利用できるようになってます。
これでWaypoint指定も結構楽になりそうです。
完成イメージは以下の通りです。

少々レイアウトも変更してます。
では今日はここまで。
前回、Waypointの設定もできるようにはしましたが、地図をクリックすると、即座に半径100mの円が描画されてしまう等、結構、設定がめんどくさいので少し改善してみます。
とりあえず動きてきには以下のようにしてみます。
1. VB上に、チェックボックスを配置し、そこにチェックが入っている間だけ、WayPointが指定できる。通常は地図の移動のみ。
2. 最初マップにクリックすると、Waypointエリアの中心が指定され、次にマップをクリックすると、最初の経度緯度と次の経度緯度との距離をエリアの半径とし、円が描画される。
3. さらにマップをクリックすると、前回の円を消去し、新たなWaypointエリアの中心が指定される。これ以降の動作は同じ。
上記のような感じにしてみます。これで、Waypointエリア半径も指定できます。
なにやら、めんどくさそうですが、意外に、簡単にできます。ほとんどが、地図のAPIの改造になります。
2点間の距離はこのブログでは同じみの、三平方の定理で、以下のようにします。
Math.sqrt(Math.pow(((現在経度 - 前の経度) / 0.000009),2) + Math.pow(((現在の緯度 - 前の緯度) / 0.000009),2))
とりあえず、これで、コーディングしてもいいのですが、電子国土では、地名検索機能もあるので、これも導入してみます。正直、サンプルも用意されており、そのサンプルをフレームタグで呼び出すようにすれば、すぐに利用できるようになってます。
これでWaypoint指定も結構楽になりそうです。
完成イメージは以下の通りです。
少々レイアウトも変更してます。
では今日はここまで。
PR
前回「GT-730F/Lのログデータで何かやってみる其の7」の続きです。カーナビモドキに、一箇所だけですが、ウェイポイント設定ができるようになりましたので、早速実験してみることにします。
ひとまず今回は、すでに、ブログにも何度も記載してますが、名古屋方面から、北陸に行った時のログデータを利用し、検証してみます。
まずは、ウェイポイントですが、適当に、経度 136.9486、緯度 35.69839にとり、十分はなれた、ログから開始させ、ウェイポイントの半径100mの円に入るか確認してみます。
すると、残念ながら、半径100mにははいらず、もっとも近かったのが、以下の画面に示す通りです。実際の位置は十字のところです。

右下のほうに「指定ポイントまでの距離」とでていますが、ウェイポイントと現在距離が、128m付近まではいきましたが、この後、いっきにぶっとびます。
そもそも、北陸道は、トンネルや山も多いので上手くGPSが測位できていないこともよくわかります。
同様に、本ログで無作為にウェイポイントを設定し、試しましたが、エリア内に入るのは結構少なかったです。
少々、考察してみましょう。データのログから、今回、検証対象とした、区間の車の速度は平均90km/h程度です。そして、GPS測位の間隔は5秒間隔になっています。
ここで、90km/hで5秒間走ったら何mになるかこれは125mになります、つまり、ウェイポイントは直径200m程度になっていますから、本来、125m間隔で測位ができているならば、エリアに入るはずですが、そうでなかったのは、前述のとおり、トンネル等の問題で、上手く測位ができなかったからと推測されます。
よって、こういった、トンネルが多いところでは、ウェイポイントのエリアを広くしないと上手くいかないということがよく分かります。
この調子で今後もいろいろ検証していきます。
ひとまず今回は、すでに、ブログにも何度も記載してますが、名古屋方面から、北陸に行った時のログデータを利用し、検証してみます。
まずは、ウェイポイントですが、適当に、経度 136.9486、緯度 35.69839にとり、十分はなれた、ログから開始させ、ウェイポイントの半径100mの円に入るか確認してみます。
すると、残念ながら、半径100mにははいらず、もっとも近かったのが、以下の画面に示す通りです。実際の位置は十字のところです。
右下のほうに「指定ポイントまでの距離」とでていますが、ウェイポイントと現在距離が、128m付近まではいきましたが、この後、いっきにぶっとびます。
そもそも、北陸道は、トンネルや山も多いので上手くGPSが測位できていないこともよくわかります。
同様に、本ログで無作為にウェイポイントを設定し、試しましたが、エリア内に入るのは結構少なかったです。
少々、考察してみましょう。データのログから、今回、検証対象とした、区間の車の速度は平均90km/h程度です。そして、GPS測位の間隔は5秒間隔になっています。
ここで、90km/hで5秒間走ったら何mになるかこれは125mになります、つまり、ウェイポイントは直径200m程度になっていますから、本来、125m間隔で測位ができているならば、エリアに入るはずですが、そうでなかったのは、前述のとおり、トンネル等の問題で、上手く測位ができなかったからと推測されます。
よって、こういった、トンネルが多いところでは、ウェイポイントのエリアを広くしないと上手くいかないということがよく分かります。
この調子で今後もいろいろ検証していきます。
やっと実験というか、シミュレーションできる段階まできたので、「指定したエリアに入ったことを知らせてみる其の1」で掲載した、あらかじめ指定エリアを決めておき、そのエリアに入ったら通知する概念を、作成したシステムに組み込み検証・課題をみてみることにします。
とりあえず、指定エリアのウェイポイントの経度、緯度を指定するボックスを画面につけますが、指定ポイントの経度、緯度を知ることは結構骨折りです。
ですので、mapにクリックした際のイベント機能を利用し、クリックした時の経度、緯度をいったん、hiddenボックスに格納し、VB上にボタンを貼り付け、そのボタンを押すことで、hiddenボックスからVBのウェイポイント用の経度、緯度ボックスに値を格納します。
本当であれば、ダイレクトに、格納されるといいのですが、WebBrowserにクリックに関するイベントがないようなので、苦肉の策といったところです。
また、ウェイポイントの位置とエリアは視覚的にわかるとよいので、クリックした位置に指定半径の円を描くようにしてみます。
これはdraw_disc関数等で実現できます。ただし、描画モードをdegにしておかないと、位置指定が画面の座標となってしまいますのでご注意ください。
実際にウェイポイントを指定しているところが以下です。

Mapの適当なところにクリックすると、半径100mの円を描き、その経度、緯度をhiddenボックスに格納します。そしてVB画面のロードボタンをクリックすることで、その経度、緯度をテキストボックスに配置します。
また、今回の実験では、アラートは出さず、指定ポイントと、ログから読み取った経度、緯度との距離を出し、どうなるか検証してみたいと思い、右下にその距離を出すようにしました。一見WEBに張り付いているように見えますが、これはVBです。
WEBに貼り付けたのはなんとなく見やすいような気がしたためです・・・。
では、次回、実験を開始しましょう。
とりあえず、指定エリアのウェイポイントの経度、緯度を指定するボックスを画面につけますが、指定ポイントの経度、緯度を知ることは結構骨折りです。
ですので、mapにクリックした際のイベント機能を利用し、クリックした時の経度、緯度をいったん、hiddenボックスに格納し、VB上にボタンを貼り付け、そのボタンを押すことで、hiddenボックスからVBのウェイポイント用の経度、緯度ボックスに値を格納します。
本当であれば、ダイレクトに、格納されるといいのですが、WebBrowserにクリックに関するイベントがないようなので、苦肉の策といったところです。
また、ウェイポイントの位置とエリアは視覚的にわかるとよいので、クリックした位置に指定半径の円を描くようにしてみます。
これはdraw_disc関数等で実現できます。ただし、描画モードをdegにしておかないと、位置指定が画面の座標となってしまいますのでご注意ください。
実際にウェイポイントを指定しているところが以下です。
Mapの適当なところにクリックすると、半径100mの円を描き、その経度、緯度をhiddenボックスに格納します。そしてVB画面のロードボタンをクリックすることで、その経度、緯度をテキストボックスに配置します。
また、今回の実験では、アラートは出さず、指定ポイントと、ログから読み取った経度、緯度との距離を出し、どうなるか検証してみたいと思い、右下にその距離を出すようにしました。一見WEBに張り付いているように見えますが、これはVBです。
WEBに貼り付けたのはなんとなく見やすいような気がしたためです・・・。
では、次回、実験を開始しましょう。
カレンダー
03 | 2025/04 | 05 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
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 |
カテゴリー
フリーエリア
最新コメント
最新記事
(01/29)
(01/06)
(11/23)
(11/21)
(10/10)
(10/10)
(09/12)
(08/04)
(08/03)
(07/31)
最新トラックバック
プロフィール
HN:
Slit
性別:
非公開
ブログ内検索
最古記事
(05/12)
(05/13)
(05/14)
(05/14)
(05/14)
(05/16)
(05/16)
(05/18)
(05/18)
(05/19)
アクセス解析