2 GIS アプリケーションをスマートフォンにダウンロードします。 「2GIS」 - 電子地図とディレクトリが 1 台のスマートフォンに

24.01.2024 インターネット

多くの人は、編纂者の意見では、病院、劇場、ホテルなど、最も重要なオブジェクトだけが示されていた、集落や大都市の古い紙の地図を覚えています。 しかし、ここ数十年で私たちの世界は非常に複雑になり、今ではあらゆる物の住所や最寄りの目的機関(郵便局)の場所をできるだけ正確に知ることが便利なだけでなく、時には必要になることもあります。 、カフェ、病院など)、建物内の目的の入り口がどこにあるのかを正確に調べることもできます。
これらの責任は、Android OS を実行する今日の人気のあるモバイル デバイス用アプリケーションである 2GIS によってうまく引き継がれています。 非常に多彩で、オーナーにとって非常に便利な機能を膨大に収録した参考書です。 さらに、特に素晴らしいのは、ロシア語で 2GIS を無料でダウンロードでき、このアプリケーションはオフライン モードでも十分に動作できることです。

任意の建物を選択して 2GIS アプリケーションにアクセスすると、この建物にどの企業、組織、機関があるのか​​、この建物の近くにある最寄りのカフェはどこにあるのか、すべてがどのようなモードで動作しているのかが表示されます。これらの場所に電話できる電話番号、訪問者がその場所について残したレビュー、施設の評価の高さ、ユーザーの写真での見え方まで。 したがって、Android OS用の2GISアプリケーションを事前に携帯電話にダウンロードしていれば、見知らぬ都市の見知らぬエリアでも道に迷うことは絶対にありません。

ユーザーが興味を持っているすべてのオブジェクトは、一度見つけたことがあるので、そのようなオブジェクトがお気に入りに保存されていれば、再度検索する必要はありません。 2GIS 検索システムには、レストランやカフェ、病院や薬局、ガソリン スタンドやショッピング センターなど、現代のユーザーの間で最も人気のあるカテゴリを選択できるフィルターが含まれています。


そして、大規模なショッピングセンターは特別な注目を集めました。建物内のどこにカフェテリアがあるのか​​、どこにお店があるのか​​、そしてトイレがどこにあるかを示す地図も作成されました。これは、場合によっては関連性があります。 大都市では、2GIS: ディレクトリおよびナビゲーター アプリケーションの所有者に、興味深い場所や役立つ可能性のある企業のセレクション、およびこれらすべてを 1 つのアプリケーションで提供し、当社の Web サイトからダウンロードできます。 選択したポイントから他のポイントまで、プログラムは便利なルートを簡単に構築します。

一度作った参考書は長くは役に立たないと考える人がいるとしたら、それは正しいでしょう。 ただし、Android OS の 2GIS とは関係ありません。結局のところ、開発者はこの点も考慮しています。 そして、アプリケーションが常にホットで熱々の状態を維持し、関連するデータのみをユーザーに提供するために、そのデータベースは常に更新され、消費者の頭の中にしか思いつかない最も複雑な軌跡によって利用可能なルートが拡張されます。

マップ自体は開発者の注意を逃れることはできません。マップはもともと居住地と都市の最も詳細な図として作成されましたが、その実装を担当するチームは詳細を継続し、常に新しい有用な詳細を追加しています。 今日では、このような地図上で興味深いオブジェクトを見つけると、2GIS アプリケーションがそのオブジェクトへの最適なルートを提供し、交通渋滞を報告してルートを計画する際にそれを考慮するようになりました。

また、車を持っていない場合でも、2GIS アプリケーションの障害にはならず、公共交通機関を使用することが考慮されます。 ユーザーに関連する都市の地図を最初にダウンロードすることで、モバイル トラフィック、ローミング、Wi-Fi の利用不可の可能性を考慮に入れることができ、それらを同じ効率で無料で使用できます。

便利なことに、300 を超える地図システムは、予想されるウクライナとロシアの都市だけでなく、カザフスタンとキルギスタンの居住地、チェコ共和国、キプロス、UAE の都市もカバーしており、休暇中に非常に役立ちます。 、まったく不明な理由で、チリの都市の地図。

これらすべての便利な機能は、シンプルで便利な人間工学に基づいた Android 用 2GIS インターフェイスに含まれており、完全にロシア語で作成されているため、使用に問題はありません。

2GIS アプリケーションにはナビゲータが追加されました。 私たちは、線路に沿った「運転」、音声操作、ルートの自動再調整、移動時間の計算、フェンスや障壁を考慮して建物や組織の入り口までユーザーを誘導すること、そしてこれらすべてを誠実なオフライン環境で行うことを学びました。 。 私たちは長い間、交通渋滞 (インターネットが必要な場合を除く)、橋の開通、道路の閉鎖を考慮してきました。 現時点では、ナビゲーターには必要最小限のものが含まれています。 少し後、速度の出しすぎ、段差や交通カメラについて警告し、夜間モードを設定し、有料道路と未舗装道路のルートをオプションにするよう教えます。 利用するにはスマートフォンの2GISをアップデートするか、AppStoreまたはWindowsストアからダウンロードする必要があります。 Android の場合、アップデートは 8 月 22 日から段階的にリリースされます (9 月までにすべての視聴者が利用できるようになる予定です)。

そして今日は、2GIS ナビゲーターがどのように車の位置を予測し、ルートに沿って矢印をスムーズに移動させるかを説明します。 結局のところ、最新のナビゲーターのインターフェイスの人間工学、地上での方向指示の容易さ、および操作の適時性を決定するのは、ルートに沿ってユーザーをガイドする品質です。

ほとんどの場合、車のドライバーは道路を監視する必要があるため、ナビゲーター プログラムを備えたデバイスの画面を一目見るだけで、道路との相対的な自分の位置に関する最も正確かつタイムリーな情報を取得できます。ルートと周囲のオブジェクト。 この一見単純な機能を実装するには、多くの技術的問題を解決する必要があります。 そのうちのいくつかを検討していきます。

GPSマーカーとルート

地図上でユーザーの位置を示すために、多くのナビゲーター (私たちのナビゲーターも例外ではありませんでした) は、移動方向を直感的に示す矢印または単純な三角形の形をした特別な GPS マーカーを使用します。 さらに、マーカーは地図上ではっきりと見える必要があるため、通常、マーカーの色は背景とは大きく異なり、エッジの輪郭が追加されます。

最も単純なケースでは、GPS センサーから座標を読み取り、地図上の対応する場所にマーカーを配置することで、地上でのデバイスの位置を表示できます。 ここですでに最初の問題、つまり良好な信号の条件下でも簡単に20〜30メートルに達する可能性のある測定誤差に直面しています。

「ここはどこですか?」というよくある質問に答えるために この表示方法は、特に誤差推定値に等しい半径でマーカーの周囲に精度円を描画する場合には、十分に十分です。 ただし、ナビゲーションについては、より良いものを考え出す必要があります。街路に沿って移動するドライバーが、隣の家や、さらに悪いことに、ブロック内の通路にある GPS マーカーに満足する可能性は低いからです。

プログラムによって目的地までのルートが構築され、ナビゲーション スクリプトに常に存在するルートは、問題の解決に役立ちます。 いくつかのトリックの助けを借りて、地図上の点をルートに「引き寄せ」、GPS センサーの測定誤差の一部を平準化することができます。 第一近似として、アトラクションはルート ライン上への点の投影と考えることができます。 ニュアンスの考察や、ルートからの逸脱を検出する方法については、残念ながらこの記事の範囲を超えています。

示されている引き寄せの手法を採用することで、2 次元の地理座標 (緯度経度など) を抽象化し、1 次元の座標に進むことができます。これは、ルートの開始点からの相対的な変位であり、たとえば、次のように測定されます。メートル単位で。 この移行により、理論モデルとユーザー デバイスで実行される計算の両方が簡素化されます。

経時的な地理位置情報の表示

GPS センサーから受信したデータの離散的な性質は、ユーザー ルート ガイダンスを実装する際のもう 1 つの問題です。 理想的には、座標は 1 秒に 1 回更新されます。 地理位置を時間内に表示するためのいくつかのオプションを検討し、タスクに最も適したものを選択してみましょう。

1. 最も簡単な方法は、センサーから新しい読み取り値を受け取るたびにすぐにルートにスナップし、対応する位置を地図上に表示することです。 利点の中でも、実装の並外れた容易さ、ある意味での高い精度 (結局のところ、ここでは衛星データに重大な変更を加えずに単に衛星データを表示しているだけです)、および最小限の計算の複雑さは注目に値します。 主な欠点は、この場合のマーカーが通常の意味でマップ上を移動するのではなく、点から点へ「テレポート」することです。 メインのナビゲーション シナリオでは、カメラ (仮想観測者はコンピューター グラフィックスの分野の用語です) が GPS マーカーに関連付けられているため、このようなテレポートによりルートに沿った地図の急激な「スクロール」が行われ、その結果、車が地理位置の読み取りの間にかなりの距離を移動する場合、特に高速でドライバーの見当識障害が発生する可能性があります。 私たちの目標はユーザーを混乱させることではなく、ユーザーを助けることなので、この欠陥はすでにこのオプションを検討から除外するのに十分です。

見当識障害を回避する唯一の方法は、「テレポート」を行わずに GPS マーカーをスムーズに移動することです。つまり、地理位置情報が届くよりもはるかに頻繁に GPS マーカーを移動する必要があります。 このような動きを確実にするには、センサーからの実際の読み取り値間の中間点を何らかの方法で計算し、次の読み取り値を受信するまでそれらを使用する必要があります。 これらの中間点を計算する具体的なアプローチは、最終的にはナビゲーター プログラム全体の人間工学に大きな影響を与えるため、特別な注意を払う価値があります。

2. ユーザーの位置を表示する 2 番目の方法は、中間点を生成するための最も明白なアプローチ、つまり最後の実際の G​​PS 読み取り値の間の補間と関連付けられています。 ポイントは、既知の数学関数 (最も簡単なオプションは線形補間) の 1 つを使用して、必要な頻度で中間点を計算し、特定の指定時間にわたって最後から 2 番目のサンプルから最後のサンプルまでマーカーを移動することです。 この方法でナビゲーターを使用すると非常に便利ですが、欠点もあります。

最も無害なものの 1 つは、補間時間を事前に設定する必要があることです。 1 秒に設定すると、GPS 読み取りの間にその時間が経過する、上記の理想的な場合にのみうまく機能します。 時間が経っても問題はなく、現在の位置から新しいターゲットへの移動を開始するだけで済みます。 しかし、それ以上の場合、この時点でユーザーの車が移動している可能性があるにもかかわらず、マーカーは静止してセンサーからの新しい座標を待つ必要があります。

さらに深刻な問題があります。 新しいサンプルが到着した瞬間、マーカーはせいぜい前の実際のポイントにあります。 ユーザーの観点から見ると、別の測位誤差が生じます。その大きさは、測定値間の時間内に自動車がカバーする距離と同じです。 時速 100 km の速度では、この値はほぼ 28 メートルに達します。これは、測定誤差の可能性と相まって、控えめに言っても、ユーザーに提供される情報の信頼性を低くします。

巨大な GPS マーカーを作成し、画面の 4 分の 1 をブロックして、説明した測位方法の欠点を慎重に隠すこともできますが、直接偽造することはユーザーと私たち自身に対して失礼になるでしょう。 表示されるデータの正確性と適時性は、ナビゲーターを開発する際に、外観の美しさや動きの滑らかさと同様に重要な基準です。

3. 測位精度に対する新たな要件を考慮すると、新しい GPS 読み取り値が到着する直前に、この新しい読み取り値にできるだけ近い点にマーカーを配置する必要があることに注目する価値があります。 それは本質的には、たとえ短期間であっても未来に目を向けることです。 現在、タイムマシンの発明により人類にとって事態は非常に悪いように見えますが、私たちにはまだ救いがあります。 車の動きは不活性であるため、その動きの速度と方向は瞬時に変化することはありません。変化する場合、最後の位置参照から将来までの間にユーザーがどこにいるかをある程度の精度で予測することができます。 ほとんどの場合、予測誤差が 2 番目の方法の誤差よりも確実に小さくなることができれば、ナビゲーター ユーザーの作業が大幅に楽になります。

精密科学におけるこの種の予測は外挿と呼ばれます。 これは、上記のすべての基準を満たすルート案内の 3 番目の方法を開発するためにたどる道です。 次に、数学的モデルについて話すことになるため、よりフォーマルな表現方法に頼る必要があります。

位置推定によるルート案内

ナビゲーション ルートに対するユーザーの地理位置の魅力のおかげで、2 次元の地理座標から 1 次元の座標、つまりルートの開始点を基準としたオフセットに移動できることは前述しました (簡潔にするため、さらに詳しく説明します)。明確にすることなく「オフセット」という用語を使用します)。

受け取ったデータを思い出して、その表記法を導入してみましょう。

GPS 位置をルート ラインに合わせることで得られる実際の変位の読み取り値。
- 対応する変位サンプルの到着時間。
これで入力データのリストは終了です。 それらからできるだけ多くの有用な情報を絞り出す必要があります。

最終的には、車の実際のダイナミクスに近い変位外挿関数を構築すると同時に、ルート全体に沿った GPS マーカーのスムーズな動きを保証する必要があります (その長さは何にも影響しません。ルートは個別に処理されるため、条件付きでルートが無限であると見なされます)。 視覚的に良好な滑らかさを確保するには、滑らかさの条件が十分である必要があります。つまり、マーカーの位置も速度も急激に変化すべきではありません。 言い換えれば、関数は定義領域全体にわたってその一次導関数(以下、時間内)とともに連続的でなければなりません。

各実際の変位サンプルには、動きに関する非常に新しい情報が含まれていることに注意してください。 たとえば、車が長時間均一に走行していて加速し始めた場合、ナビゲーターは次のカウントダウンが到着して初めて加速を「感じる」ことができます。 将来をいつまでも見ることはできないため、一般的に、受信する新しい GPS 測定値はすべて、目的の関数の動作を変更するため、1 つの分析式で関数を指定することはできません。 代わりに、関数を区分的に定義してみましょう。 これを行うには、まず簡単な問題を解決してみましょう。

直接区分外挿

番目のサンプルの後、その値が 番目のサンプルが到着するまでの十分な時間にわたってユーザーの実際の位置を予測するような変位外挿関数を構築しましょう。 私たちが持っているすべての有用なデータは、最大のカウントのシーケンスと、それぞれの受信時刻です。

有限差分について思い出して、最後の変位と最後から 2 番目の変位の間のセグメントの長さを対応する時間間隔で割ることにより、 番目の瞬間における車の速度を推定できることに注意してください。


ここで、 はサンプルからの速度推定値、 は構築しようとしている外挿関数の導関数です。

加速度、ジャークなどの高次導関数についても同様に、次のようになります。


これらの式からわかるように、変位のますます高い導関数の推定値を取得するには、現在のサンプルよりも前のサンプルをさらに多く考慮する必要があります。速度を決定するには、加速度の場合は 2 つのサンプルが必要です。 - 3つ、ジャーク用 - 4つなど。 一方で、予測において動きの動的な特性を考慮すればするほど、より優れたモデリング能力が得られます。 一方で、ますます「古い」書籍に含まれる有用な情報は、関連性が劇的に失われます。 たとえば、1 分前に時速 30 km の速度で運転していたという事実は、現時点では何の役にも立ちません。その後、加速したり、減速したり、さらには何度か停止したりする可能性があります。 このため、変位の導関数がますます高くなるにつれて、推定値は現実からどんどん遠ざかっていきます。 さらに、変位の一般的な解析モデルに対する特定の導関数を計算する際の誤差の寄与も、この導関数の次数が増加するにつれて増加します。 そうであれば、特定の次数から開始して、リファインメントの代わりに有限差分を使用して推定された動的特性は、モデルを台無しにするだけです。

実際のテストに基づくと、ジャーク推定は、特に「平均的な」GPS 信号品質の場合、すでに十分に悪く、良いことよりも悪影響を及ぼしているようです。 一方、幸いなことに、最も一般的な自動車のダイナミクス シナリオは、静止、一様、一様運動であり、それぞれ時間の 0 次、1 次、2 次の多項式で記述されます。

均一に変化する動きの二次モデルは、ほとんどの道路状況を記述するのに十分であることがわかり、そのためには、速度と加速度といった動的特性の多かれ少なかれ高品質な推定値が十分に得られるだけです。 学校の物理学の授業を思い出せば、目的の外挿関数の分析式を大まかに作成できます。


実行する必要があるステップは 1 つだけ残っています。定義の領域は time の瞬間から始まるため、同じ瞬間からの計算で時間をカウントする方が便利です。

結果として、関数は次の形式になります。


この関数の注目すべき特徴は、定義領域全体にわたる滑らかさであり、前述したように、この関数は問題の定式化に含まれています。

ここで、デバイスからいくつかの実際の変位サンプルを取得し、各間隔でそれらを外挿してみます (以前に決定されていましたが、サンプルが到着すると、より新しいデータがあるため、すぐに次の関数に進みます)。

明確にするために、データは比較的低品質の GPS 信号で取得されたものであることを留保しておきますが、図の状況は非常に現実的であり、どのユーザーにも起こり得るものです。

各外挿多項式の滑らかさは、対応する時間間隔で完全に確認できますが、問題は、間隔の接合部で一般的な灰色の曲線に不連続性が生じ、場合によっては非常に目立つことです。

番目の瞬間におけるギャップの大きさを外挿誤差と呼びましょう。 実際、この値は、時間間隔の終わりまでに各予測がどれほど不正確であるかを示しています。 エラー値は次の式を使用して計算できます。


残念ながら、関数自体を変更しても誤差をゼロにすることはできません。これは、将来のビジョンの 100 パーセントの精度に相当するからです。 これは、単一関数を構築するという最初の問題を解決するには、区分的外挿多項式を何らかの方法で「接着」する必要がある、つまり、結合部分で生じる誤差を修正する必要があることを意味します。

エラー訂正のアプローチ

上記で選択した表記法に従って、新しい参照が到着するまでに、時点 、つまり に到達していると非公式に言うことができます。 前の外挿多項式によって蓄積された誤差の量だけ実際の位置に対してシフトされます。

一方で、ユーザーに与えられたデータと現実との適合性の観点から、エラーを修正する最善の方法は、次の多項式の開始点で関数を中断することですが、これはできません。なぜなら、この場合、地図上のマーカーを再び「テレポート」し、ドライバーの方向感覚を失わせることになるからです。

明らかに、値の瞬間的な変化が許容できない場合、エラー修正にはゼロ以外の時間がかかります。 また、エラーの蓄積を防ぐために、次のカウントが到着する前にエラー訂正を完了することが望ましいことも明らかです。

オフセット読み取り間の時間間隔には確率的な性質があるため、正確な補正時間を確実に決定することはできません。 したがって、最初の近似として、エラー訂正時間を何らかの定数値の形で固定します。その具体的な値は、将来実験的に選択されます。

もう一度くだけた言葉で言うと、エラーを修正するには、ある点から次の外挿多項式、つまり曲線にスムーズに「戻る」必要があります。

エラー修正プロセスを説明するには、対応する修正関数が値 をとり、それがゼロになった瞬間から開始するように、個別の修正関数を導入すると便利です。


このような補正関数を対応する補間多項式とともに追加すると、重要なポイントでオフセット誤差補正が提供されます。
調整された変位関数を、外挿多項式と対応する補正関数の合計と呼びましょう。
上で説明した補正関数の特性のおかげで、関数の非常に重要な特性が得られたことに注意してください。補正関数はすでに「オフセットによってステッチされている」、つまり、 ポイントでの休憩を許容しないでください。
補正された関数のセットは、ある状況ではないにしても、常に定義されている望ましい変位モデルであるかのように振る舞うことができます。点での変位の不連続性がないにもかかわらず、一般的な場合、この関数のセットの導関数は依然として不連続です。

特に、最初の要件には普遍的な滑らかさの条件が含まれているため、一次導関数、つまり速度の不連続性に興味があります。 普遍的な速度の連続性の条件。 これを考慮すると、修正された関数の導関数も「ステッチ」するために、修正関数の要件を拡張する必要があります。


この方程式は、補正された関数のセットの滑らかさの条件です。 調整された関数の定義を方程式の両辺に代入すると、次のようになります。
補正時間が経過すると、補正関数はゼロ値を取ると前述しました。 補正関数にもう 1 つの要件を追加しましょう - 補正時間が経過した後、その導関数もゼロ値を取るようにします。
次に、補正時間が常にサンプル間の間隔よりも短いという仮定の下で、次のサンプルが到着するまでに 番目の補正関数の導関数はすでにゼロになると想定できます。 次に、滑らかさの条件に戻ると、次のようになります。
ここからそれを表現しましょう。

これは有限差分を使用して作成された速度の推定値であることに注意してください。これを置き換えてみましょう。


右側は速度外挿誤差、つまり前の外挿多項式から得られた速度と「実際の」速度読み取り値の差を表します。 これで、補正関数の境界条件をまとめることができます。
それらは次のような言葉で説明できます。次のような補正関数を見つける必要があります。
  • 補正間隔の開始時に、その値は変位外挿誤差と一致しました。
  • 補正間隔の開始時に、その導関数の値は速度外挿誤差と一致しました。
  • 補正間隔の終わりでは、関数自体とその導関数の値はゼロでした。

誤り訂正機能の選択

上記の 4 つの条件を正確に満たす補正関数の単一の分析式を取得することは非常に困難であることに注意してください。 問題は、修正時間が経過した後の定義領域の部分にあります。数値軸の残りの部分全体で関数とその導関数の値をゼロにする必要があります。 問題を単純化するために、補正関数の目的の分析式の定義領域を補正区間 まで縮小し、その上限の後は、関数の値とその導関数が自明のゼロであるとみなします (幸いなことに、プログラム コード レベルでは、分岐の存在によりそのような機会が得られます)。

形式的には、この手法を考慮すると、区分的補正関数は補正間隔とその下の定数 0 を表す式ですが、その点で境界条件が満たされている場合、補正関数自体にもその補正関数にも不連続性はありません。一次導関数。 高次導関数の不連続性は私たちにとって興味のないことなので (目的の関数の滑らかさを損なうことはない)、以下では補正関数のゼロ「テール」については触れず、次の式で境界条件を再定式化します。より便利な形式:


速度外挿誤差を次のように表します。
次に、 の分析式を定義する必要があります。 境界条件に加えて、プログラムの人間工学的要件により、GPS マーカーが「ぴくぴく」しないように、補正期間中の補正関数の極端な値やねじれができるだけ少ないことが必要です。

これらの要件を満たす最も単純な関数は、やはり多項式です。時間的に可能な最小次数の多項式です (理論的には、初等関数の中で、たとえば、sin も同様の特性を持っていますが、その値の計算はプロセッサー時間の点でより高価です) )。

境界条件は 4 つの非自明な方程式からなるシステムであるため、補正関数の十分なパラメーター化を提供する多項式の最小次数は 3 番目です。 分析式を作成する場合、(定義とまったく同じ) 回目のカウントの瞬間から時間をカウントする方が便利であることを考慮すると、必要な多項式は次の形式になります。


この式を境界条件系に代入し、定数 と に関して解くと、次の値が得られます。
その結果、説明した方法で補正関数を定義すると、補正された関数は常に滑らかな単一の外挿関数にマージされます。 面倒なので完全な表現は省略します。

注: 補正時間を選択する際の仮定には最後の不正確さが残りました。私たちの推論は、読み取り間の間隔が常に短いという条件に基づいていました。


構築されたモデルの優れた特徴は、サンプル間の平均時間を超えないように選択するだけでよいことです。個々の間隔が 未満の場合、修正する時間がなかった誤差の一部が発生します。間隔が短すぎる場合は以下の中から1つずつ修正します。 これを行うには、通常の外挿関数からではなく、調整された外挿関数から外挿誤差を計算するだけで十分です。
以下の図は、実際のデータを使用して構築された最終的な外挿関数のグラフの例を示しています。

形式的な問題は解決され、結果として得られる曲線は指定された条件をすべて満たしており、見た目は非常に良好です。 これについては安心できますが、現実世界の特徴により、構築された理想的なシステムには一定の困難が生じます。

以下で行われるすべての決定は、数学的モデルの外側のプログラム コードに直接実装されることを留保して、それらのいくつかをより詳細に検討してみましょう。

数学モデルを実際の状況に適応させる

マーカーの逆方向移動の禁止

最後のグラフでは、実際の測定によれば、ユーザーがルートに沿って専ら前進している場合でも、場合によっては関数が減少し始めることがわかります。 これは、予測が移動速度を大幅に過大評価した場合に発生します。 一方、実際には、車が逆方向に進む理由は 2 つだけです。ドライバーが実際に車を後進ギアに入れて後進した場合 (非常にまれなケース)、または U ターンした場合です。

U ターンの場合、道路状況が大きく変化するため、ナビゲーション ルートの再構築が必要になります。 これは別のトピックであり、この記事の範囲には当てはまりません。

位置の外挿の結果を直接使用すると、ルートの開始点に向かうマーカーのすべての動きのうち、消える少数が同じ方向の実際の車の動きに対応します。 このことを踏まえ、利用者の誤解を招かないように、経路を変更せずにマーカーを逆進させることを全面的に禁止することとした。

このような厳密な条件を数学言語で記述するのは困難ですが、プログラム コードで実装するのは比較的簡単です。 まず、モデル時間の離散的な性質を考慮しましょう。コンピューターの機能の特殊性により、いずれの場合でも、選択された特定の時点で外挿結果を受け取ることになります。

そうであれば、外挿された変位が減少しないことを確認することは難しくありません。新しく取得した値を以前の値と比較するだけで十分です。現在の値が小さいことが判明した場合は、それを以前の値に置き換えます。 1つ。 この手法は明らかに粗雑ですが、外挿関数の滑らかさを妨げることはありません。滑らかな関数に沿って後進を開始するには、まず完全に停止する必要があるからです。
将来的には、後戻りを防ぐために数学的に正しい値を古い値に置き換えるときの動作モードは、強制停止モードと呼ばれる予定です。

外挿誤差が大きすぎ、サンプル間の間隔が長すぎます

ある意味では定性関数を構築したにもかかわらず、外挿誤差が許容できない値に達する場合があります。 このような場合、プログラムは標準的な手段を使用してエラーを修正する試みを停止する必要があります。 外挿されたデータが関連性を失うもう 1 つの状況は、何らかの理由で新しい変位読み取り値が長時間到着しない場合に発生します。つまり、最後の読み取り値を受信して​​からモデリング能力が大幅に低下します。 予測の試みと恥知らずな嘘の間の一線を越えないようにするために、モデルに依存するのにかかる時間は通常 3 秒以内です。

簡単にするために、最初の負の状況を修正不可能な変位誤差と呼び、2 番目の負の状況を修正不可能な時間誤差と呼びます。

これらのタイプのエラーはそれぞれ、次の 2 つの方法で対処できます。

  • 上記の強制停止モードに移行します。 このアプローチの利点は、地形図上の地理位置マーカーのスムーズな動きが維持されることです。 ただし、強制停止モードが長くなるほど、ユーザーに実際の位置を知らせることが難しくなります。
  • GPS マーカーを最後の参照位置に即座にテレポートします。 ここでは逆に、ユーザーに提供される情報の信頼性を確保するために人間工学を犠牲にしています。
今回のアプリケーションでは、動きの滑らかさに特に細心の注意を払ったため、最初の方法が選択されました。

長時間強制停止モード

強制停止モードに入ると、GPS マーカーの逆方向の移動を禁止するために、精度の低い位置データが生成されます。 特に不利なケースでユーザーに誤解を与えないように、私たちのモデルには、強制停止モードに入った理由に関係なく、指定された時間が経過した後にマーカーを最後の実際の位置に「テレポート」することによって強制停止モードを中断する機能も追加されています。モード (外挿の数学的結果または修正不可能なオフセット/時間誤差)。 現時点では、正確さの「残り」のために、動きの滑らかささえも犠牲にしなければなりません。

結論

作業の結果、提供されたデータの精度とディスプレイの視覚的人間工学との間でバランスのとれたルート案内を改善することができました。 特に良好な信号により GPS センサーから高品質のデータを受信した場合、ユーザーは非常に快適に感じるでしょう。

説明した外挿システムは、地理位置情報を使用する他のアプリケーションでも使用できます。 ルートの概念、したがってルートの開始点に対する変位の概念が存在しない場合、1 次元スカラーの数学モデルを多次元ベクトルの数学モデルに一般化できます。 モデル自体をコードで実装することは、一般的なプログラミング言語のいずれでも問題ありません。必要なのは単純な算術演算だけです。

今後の開発方針としては、記事の冒頭で述べた、センサーからの「生の」位置データの測定誤差に注目する価値があります。 すでに予測の誤差を修正しようとしている場合、測定誤差との戦いは将来の別の作業層となり、困難ではありますが、これに関しては同様に興味深いものになります。 表示される情報の正確性がこの分野で成功する可能性があるという利点は、過大評価することはできません。

タグ: タグを追加する

2GIS は Android 向けの最高のアプリケーションの 1 つで、企業の連絡先情報や交通機関の情報を含む便利な地理地図を提供します。 小さな都市や町を含む世界中の多くの国がサポートされており、モバイル プログラムはオフラインでも動作します。

このアプリケーションは、不慣れな都市で最適なルートを構築したい場合に役立ちます。 2GISをダウンロード企業や団体の電話番号、住所、営業時間などを記載した参考書として最適です。 インターネット接続なしでツールを使用するには、事前に目的の場所をデータベースにロードするだけです。 これはアプリケーションから直接行うことができるので、何の問題もありません。 さらに、モバイル プログラムには、明確でユーザーフレンドリーなインターフェイスがあるだけでなく、明確に表示された視覚情報を備えた高品質で詳細な地図も含まれています。 また、自家用車と徒歩の両方でのルート、さらには公共交通機関のスケジュールをプロットすることもできます。

モバイル プログラムのユニークな機能:

  • インターネット接続がなくても、営業時間、連絡先、住所、写真など、市内の企業に関する詳細情報が記載された、アクセスしやすい明確な地図
  • 近くの公共機関の場所: カフェ、レストラン、映画館、ショップ、タクシーなど。
  • 地下鉄、トロリーバス、バス、電車、さらには川のバス、あるいは単なる徒歩ルートなど、あらゆる種類の交通手段を考慮したルートの作成
  • 最大のショッピング センターやスーパーマーケットのナビゲーション: フロア プラン、トイレ、食品エリア、その他の重要な情報を示す図
  • サービス組織からのデータ: プロバイダー、病院、住宅事務所など。

    したがって、道路で道に迷ったり、停留所を間違えたり、曲がり角を間違えたりすることがなくなるだけでなく、建物内でも完璧に移動することができます。 それが理由です Android 用 2GISこれは、この種の他のすべてのアプリケーションを上回ることができる、最高のナビゲーターおよびエクスプローラーと考えられています。 このツールはクエリを文字通りに理解でき、一般的な名前を入力することもでき、アプリケーションは必要なものを見つけます。


  • 2 GISは参考書であると同時に、インターネットにアクセスしなくても動作する書籍でもあります。 目的の都市の地図を事前にダウンロードするだけで、役立つ情報の巨大なデータベースが携帯電話に表示されます。 以下の直接リンクを使用して、Android 用 2 GIS を APK 形式で無料でダウンロードできます。

    2 GIS モバイル アプリケーションは、デスクトップ コンピュータ バージョンに劣ることはなく、都市インフラストラクチャに関するすべてを完全に把握しています。 渋滞せずに最寄りのガソリンスタンド、ATM、カフェに行く方法を教えてくれたり、公証人、美容院、薬局、モスク、カーサービスセンター、ショッピングセンター、24時間営業の食料品店を見つけるのを手伝ってくれます。 観光客向けに、アプリケーションには最も興味深い場所や最も人気のある施設を知っている都市ガイドが含まれています。

    Android 用 2 GIS ナビゲーターの特徴:
    - 9か国と330のロシアの都市:モスクワ、エカテリンブルク、チュメニ、ノボシビルスク、カザン、ペルミ、リペツク、イジェフスク、サラトフ、クラスノダールなど。
    - インターネットがなくても、ローミング、飛行機内、地下鉄内で機能を損なうことなく安定した動作 - どこにでも抜け道があります。
    - 公共交通機関 (バス、トロリーバス、地下鉄、トラム) を利用して、乗り換えの有無にかかわらず徒歩ルートを作成します。
    - 車の運転時には、道路の実際の状態が考慮され、交通渋滞、スピードカメラ、段差、平均移動時間が表示されます。
    - 特定の建物、家番号、連絡先の電話番号、入り口がどちら側にあるのかについて必要な情報を調べます。
    - 便利なフィルター、キーワードやカテゴリによる検索。

    従来のナビゲーターとは異なり、Android 上の 2 GIS を使用すると、ロシアの最新地図と、連絡先、住所、多くの建物の写真を含む巨大なディレクトリが得られます。 開発者はプログラムを毎月更新し、最新の関連情報や新機能を追加します。 たとえば、最近ではタクシー サービスの料金を比較し、すぐに注文することができます。

    私たちの広大でとても美しい世界をよく旅行しますか? 「はい」の場合は、2GIS: Android 用のリファレンス ブックとナビゲーターをダウンロードすることをお勧めします。 このアプリケーションのおかげで、迷うことはなく、問題なく正しい場所を見つけることができます。 さらに、あなたが住んでいる国だけでなく、国境を越えて多くの都市を開くことができます。 このプログラムは単なる参考書ではなく、地球上の多くの住民が使いたいと思う素晴らしいナビゲーターでもあることに、多くの人はすでに気づいています。 このアプリケーションのおかげで、タクシーで問題なく仕事をすることができます。なぜなら、この地域ではすべての通りが渋滞していて、それらを見つけるのにほとんど時間がかからないからです。アプリケーションを使用すると、市内のある地点から別の地点までわずか 1 分で移動できます。数分。 さらに、移動時間を調べたり、希望する会社の電話番号を調べたり、その他の重要な情報を調べたりすることもできます。 すべてのアプリケーションがこのような広範なユーザー機能を提供するわけではありません。 Android 用の 2GIS: 参考書とナビゲーターは、いつでも完全に無料でダウンロードできます。 プログラムはモバイルデバイスとタブレットの両方にダウンロードできます。

    どの街でも歩いてみましょう

    このプログラムのユニークな点は、インターネットを必要としないことです。 プログラムをダウンロードしてインストールし、さまざまな都市や国の複数の地図を一度にダウンロードして、都市と目的の場所を選択するだけです。 アプリケーションのおかげで、問題なく最適なルートを構築できます。 A 地点から B 地点までは、車、徒歩、または交通機関を利用して移動できます。 必要な情報はすべてアプリケーションで提供されており、多くの人にとって重要である可能性が高く、興味深いのは、アプリケーションがすべての通り、店舗、公園、その他の施設が描かれた詳細な地図を提供していることです。 ビジネスセンターはフロアごとに表示されます。 開発者の一人がこのような素晴らしいプログラムを作ることを思いつくとは誰が想像したでしょうか。 2GIS をダウンロード: Android 用の参考書とナビゲーターそして使い始めてください。 作成者はたくさんの地図を含めているので、適切な都市を見つけるのは難しくありません。 どの国にいても問題ありませんが、すべてがここにあるため、1 つのプログラムを使用する必要があります。 このアプリケーションは便利であることが判明し、多くの人が気に入っています。 きっとあなたにも役立つことを願っています。 試してみて、この Android 用プログラムについてコメントを残してください。