プログラミングジョギングシミュレータ(PC版)をアップデートしました。||ジョギングシミュレータの中身を大幅に書き換えましてVer3.00として公開いたしました。以前のブログにも書きましたが今回のバージョンアップでGoogleMapAPIというマップサービスソフトをVer2からVer3に変更しています。それに伴い、全面的にプログラムを見直しました。アルゴリズムも大きく変えた部分もあります。いうことで、このVer3.xxは従来のVer2.xxに比べて以下のような3つの大きな特徴があります。(1)測定点が増えた時のパフォーマンスが大幅向上しました。従来は、測定点数が増えていくと描写速度が徐々に低下していくことがありました。今回のバージョンは特に多測定時に描写速度が向上しています。WindowsXPでブラウザはFireFox3使用時)で測定点数850点(距離にして45km、1km毎マーク表示あり)を使用した一例ですが右表(クリックすると拡大します)にあるような結果となりました。Ver2.xxからVer3.xxになることで、データの読込み速度が8.15秒から1.50秒。データを追加した時の再描画は8.34秒から0.60秒。やり直しのUndo時の再描画も11.00秒だったのが1.53秒になっています。環境やデータ点数によって異なります。)データ点数が少ない時はそれほど違いを感じないかもしれませんが、増えてくるとその違いは明らかです。(2)データ管理方法を一新し複数のレイヤーで処理しています今までは全て同じレイヤー(面)に地図データはもとより、測定線やkm毎マーカー等々が描写されていました。(右図:クリックすると拡大します。)つまり、測定点(赤い線)や1kmマーカー、5kmマーカーはおのおの別のレイヤーに描写し、それを重ねて表示しているイメージです。このバージョンから測定点のレイヤーは従来の赤い線のみならず、サブということで青い線も追加しました。これも別レイヤーで管理しています。(青い線に付随するマーカーもさらに別レイヤーです。)また、地図データ自体も複数のレイヤーに分けられています。任意に線路のデータを非表示にしたり、道路データを非表示にしたりワンクリックで行うことができます。(3)KMLフォーマットデータを読み込むことができます昨今、GPS付き携帯電話やスマートフォンで走行記録を取れるソフトがあります。以前提言しましたように必ずしもその距離測定は正しくありません。そこで、それらのソフトがエクスポートするKMLデータを読みこみ、それをこのジョギングシミュレータでなぞることで正確な距離表示やカロリー計算ができることができます。(青線「サブ」データで読込み、赤線で距離測定をします。)以上これらの新機能の他に以下のような特徴も今回追加いたしました。・標高データ取得サイトも変更し、少し取得時間が短くなりました。・起動時にジョギングシミュレータの使い方のヒントを表示するようにしています。(ブラウザのPOPアップ表示をこのサイトに対して許可してください。今回、データの扱い方を大幅に変えた為、もしかしたらまだプチバグが残っているかもしれません。そのような点があればぜひメール等でお知らください。(メアドは本ブログトップページの左下(カウンタの下あたり)にあります。)早急に改善いたします。以上、新しいジョギングシミュレータの機能をお試しください。(尚、V3.xxの正規公開に伴いベータ版サイトは閉じさせていただきました。旧バージョンもクラッシクバージョンとして残しております。クラッシックバージョンはhttp://42.195km.net/jogsim/classic.htmlです。)追記:本ソフトウェアは2010/7/17現在下記ブラウザで動作します。詳しくはここをご覧ください。■ジョギングシミュレータ(PC版)をアップデートしました。さんからのコメント■すみません。さんからのコメント■>UKさんすいません。OPERAはGoogleMapAPIのサポート対象外です。使用可能ブラウザを本文の方に追加表記させていただきました・・。さんからのコメント■いつも便利に利用させてもらっています。気に入っていたのですけど、それがこのバージョンになってできないのが残念です。さんからのコメント■>猫さん不具合確認しました。これは先日リリースした時は問題が無かったのですが、先週Googleがバージョンアップした際に、新たに生じてしまったエラーのようです。Googleの修正を待ってもいつになるかわからないので回避策を考えますのでしばらくお待ちください。お返事ありがとうございます!Google側のバージョンアップのせいなんですね。対策よろしくお願いします。さんからのコメント■>猫さんクリックできなくなっちゃった件、対応しました。今のところ問題ないのですが・・。このPCを他の人と共用する。