IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ マックス−プランク−ゲゼルシャフト・ツア・フェルデルング・デア・ヴィッセンシャフテン・エー・ファオの特許一覧

特表2023-530251対象物の位置を道路ネットワークへスナッピングするための方法およびシステム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-07-14
(54)【発明の名称】対象物の位置を道路ネットワークへスナッピングするための方法およびシステム
(51)【国際特許分類】
   G01C 21/34 20060101AFI20230707BHJP
【FI】
G01C21/34
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022575820
(86)(22)【出願日】2021-06-15
(85)【翻訳文提出日】2022-12-08
(86)【国際出願番号】 EP2021066042
(87)【国際公開番号】W WO2021254994
(87)【国際公開日】2021-12-23
(31)【優先権主張番号】20180864.9
(32)【優先日】2020-06-18
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
2.SMALLTALK
(71)【出願人】
【識別番号】598165611
【氏名又は名称】マックス-プランク-ゲゼルシャフト・ツア・フェルデルング・デア・ヴィッセンシャフテン・エー・ファオ
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】フリューリング,ヴィアード
(72)【発明者】
【氏名】ハーン,アルミン
【テーマコード(参考)】
2F129
【Fターム(参考)】
2F129AA02
2F129AA03
2F129BB03
2F129BB04
2F129BB49
2F129CC15
2F129CC16
2F129CC17
2F129DD03
2F129DD13
2F129DD14
2F129DD15
2F129DD20
2F129EE78
2F129EE79
2F129EE80
2F129FF02
2F129FF12
2F129FF15
2F129FF32
2F129FF57
2F129FF62
2F129FF63
2F129FF64
2F129HH04
2F129HH12
(57)【要約】
【要約】
本主題は、マトリックスのセルの累積コスト値を示すコストマトリックスを使用することにより、目的地対象物のスナッピング位置を道路ネットワーク上において決定することに関するものである。セルの累積コスト値は、当該セルから道路ネットワークの道路区画へ至る経路の移動コストを示している。
【特許請求の範囲】
【請求項1】
道路ネットワークにおけるスナッピング位置を決定する方法であって、
a)道路ネットワークの道路区画を有する境界領域を決定する工程と、
b)前記境界領域を示すセルの初期コストマトリックスを決定する工程であって、前記初期コストマトリックスの各セルは、前記セルによって示される前記境界領域の部分領域の少なくとも1つの領域特徴を示すコスト値を割り当てられる、工程と、
c)前記道路区画を示す前記初期コストマトリックスのKソースセルを特定する工程と、
d)前記初期コストマトリックスの各セル用および各ソースセル用に累積コスト値を決定し、複数の累積コスト値を導く工程であって、前記累積コスト値は、前記各セルのコスト値と、前記各セルおよび前記各ソースセル間の累積コスト経路のうち1つ以上のセルのコスト値とを組み合わせたものである工程と、
e)前記初期コストマトリックスの各セル用に、前記各セルに関する前記複数の累積コスト値のうち最小のコスト値を選択し、前記選択された最小累積コスト値に関連付けられた前記累積コスト値として、最小コスト経路を決定する工程と、
f)前記初期コストマトリックスの望ましい目的地セル用に決定された、前記最小コスト経路のソースセルを選択する工程であって、前記選択されたソースセルは前記道路ネットワークのスナッピング位置に関連付けられるものである工程とを有する、
方法。
【請求項2】
請求項1記載の方法において、前記初期コストマトリックスのコスト値を決定する工程であって、各セルに関して、前記セルの少なくとも1つの領域特徴の特徴に関してコスト値を決定する工程と、前記少なくとも1つの領域特徴のタイプに基づき前記少なくとも1つの領域特徴に割り当てられた重みを用いて、前記決定されたコスト値の加重和を決定する工程であって、前記セルの前記コスト値が加重和である工程とを含む、行程を更に有する、方法。
【請求項3】
請求項1または2記載の方法において、前記領域特徴は、植生密度、急勾配、建物の存在のうちのいずれかを示す、方法。
【請求項4】
請求項1~3のいずれか一項記載の方法において、前記セルcの前記累積コスト値は、以下の式、すなわち、
【数1】
で定義され、ここで、i=nがセルcを意味し、nが前記セルcと前記ソースセルとの間の経路のセル数であり、
【数2】
が2つの隣接セルの合計コスト値であり、前記2つのセルcおよびci+1が前記初期コストマトリックスと同じ行または同じ列にある場合、
【数3】
は前記初期コストマトリックスの前記セルcのコスト値であり、
【数4】
であり、前記2つのセルcおよびci+1が前記初期コストマトリックスと同じ対角線上にある場合、
【数5】
である、で定義される、方法。
【請求項5】
請求項1~4のいずれか一項記載の方法において、工程d)および工程e)の実行は、以下、すなわち、前記Kソースセルの各ソースセルに関して、前記ソースセルおよび前記初期コストマトリックスをダイクストラ法アルゴリズムへの入力として提供することによって、前記ダイクストラ法アルゴリズムを実行する工程であって、前記ソースセルと別のセルとの間のリンクのリンク重みが前記セルの前記累積コスト値であり、その結果、前記初期コストマトリックスのセル毎にK累積コスト値が得られるが、各セルの最小コスト累積コスト値は前記K累積コスト値のうちの最小である工程を有する、方法。
【請求項6】
請求項1~5のいずれか一項記載の方法において、前記最小コスト経路の決定工程は、前記初期コストマトリックスのセルに対応するセルを有するバックリンクラスタを作成する工程であって、前記バックリンクラスタが、前記バックリンクラスタの各セル用に、前記各セルの前記最小コスト経路に沿った前記ソースセルのうちの1つへの方向を示し、前記目的地セルの前記最小コスト経路が、前記バックリンクラスタを用いて決定されるものである工程を有する、方法。
【請求項7】
請求項1~6のいずれか一項記載の方法において、ソース対象物と前記目的地セルによって代表される目的地対象物との間の経路を決定するのに、前記スナッピング位置を使用する工程を更に有する、方法。
【請求項8】
請求項7記載の方法において、前記ソース対象物から前記目的地対象物への経路の決定要求の受信に応答して工程f)を実行する工程を更に有する、方法。
【請求項9】
請求項1~8のいずれか一項記載の方法において、前記目的地セルは、前記境界領域内の対象物を表す、方法。
【請求項10】
請求項9記載の方法において、前記対象物は前記コストマトリックスの隣接セルのセットによって表され、前記目的地セルは前記セットの中心セルである、方法。
【請求項11】
請求項9記載の方法において、前記対象物は前記コストマトリックスの隣接セルのセットによって表され、前記目的地セルは前記セットの末端セル、または最小累積コスト値を有する前記末端セルの隣接セルである、方法。
【請求項12】
請求項1~11のいずれか一項記載の方法において、前記スナッピング位置を評価する工程であって、前記目的地セルの代替スナッピングポイントを提供する工程と、前記スナッピング位置が前記代替スナッピングポイントの周囲の所定の領域内にあるか否かを決定する工程とを有する工程を更に有する、方法。
【請求項13】
請求項12記載の方法において、前記領域は、前記代替スナッピングポイントからの最大距離と、前記目的地セルおよび前記代替スナッピングポイントからのポリライン間の方位の最大許容差によって規定される方向とによって規定される、方法。
【請求項14】
請求項12または13記載の方法において、経路決定が前記所定の領域内にあるならば、前記スナッピング位置を当該経路決定に使用する工程を更に有する、方法。
【請求項15】
ナビゲーションシステム用のスナッピングシステムであって、
a)道路ネットワークの道路区画を有する境界領域を決定する工程と、
b)前記境界領域を示すセルの初期コストマトリックスを決定する工程であって、前記初期コストマトリックスの各セルは、前記セルによって示される前記境界領域の部分領域の少なくとも1つの領域特徴を示すコスト値を割り当てられる、工程と、
c)前記道路区画を示す前記初期コストマトリックスのKソースセルを特定する工程と、
d)前記初期コストマトリックスの各セル用および各ソースセル用に累積コスト値を決定し、複数の累積コスト値を導く工程であって、前記累積コスト値は、前記各セルのコスト値と、前記各セルおよび前記各ソースセル間の累積コスト経路のうち1つ以上のセルのコスト値とを組み合わせたものである工程と、
e)前記初期コストマトリックスの各セル用に、前記各セルに関する前記複数の累積コスト値のうち最小のコスト値を選択し、前記選択された最小累積コスト値に関連付けられた前記累積コスト値として、最小コスト経路を決定する工程と、
f)前記初期コストマトリックスのセル用に決定された、前記最小コスト経路のソースセルを選択する工程であって、前記ソースセルは前記道路ネットワークのスナッピング位置に関連付けられるものである工程とを実行するように構成される、
スナッピングシステム。
【請求項16】
コンピュータ読み取り可能プログラムコードを組み込んだコンピュータ読み取り可能記憶媒体を有するコンピュータプログラム製品であって、
前記コンピュータ読み取り可能プログラムコードは、請求項1~14のいずれか一項記載の方法の全工程を実施するように構成される、
コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
種々の例示的実施形態が、ナビゲーションシステム、特に対象物を道路ネットワークの道路区画へスナッピングする方法に関するものである。
【背景技術】
【0002】
ナビゲーションシステムは、マップマッチングに基づいて運転手を目的地へ導いてくれる有用なツールである。マップマッチングは、地理上のポイントまたは一連のポイントを道路ネットワークに関連付ける多くのルーティングアプリケーションにおいて使用される技術である。一連のポイントに関して言えば、マップマッチングの典型的なアプリケーションは、最も可能性の高い車両の運転経路を決定することである。
【発明の概要】
【課題を解決するための手段】
【0003】
種々の実施形態が、独立請求の範囲の主題によって記載されるような、道路ネットワークのスナッピング位置を決定する方法、コンピュータシステム、およびコンピュータプログラム製品を提供する。有利な実施形態が従属請求の範囲に記載されている。本発明の実施形態は、相互に排斥しない限り、互いに自由に組み合わせ可能である。
【0004】
1つの態様において、本発明は、道路ネットワークにおけるスナッピング位置を決定する方法に関しており、当該方法は、
a)道路ネットワークの道路区画を有する境界領域を決定する工程と、
b)境界領域を示すセルの初期コストマトリックスを決定する工程であって、初期コストマトリックスの各セルは、セルによって示される境界領域の部分領域の少なくとも1つの領域特徴を示すコスト値を割り当てられる、工程と、
c)道路区画を示す初期コストマトリックスのKソースセルを特定する工程と、
d)初期コストマトリックスの各セル用および各ソースセル用に累積コスト値を決定し、複数の累積コスト値を導く工程であって、累積コスト値は、各セルのコスト値と、各セルおよび各ソースセル間の累積コスト経路のうち1つ以上のセルのコスト値とを組み合わせたものである工程と、
e)初期コストマトリックスの各セル用に、各セルに関する複数の累積コスト値のうち最小のコスト値を選択し、選択された最小累積コスト値に関連付けられた前記累積コスト値として、最小コスト経路を決定する工程と、
f)初期コストマトリックスの望ましい目的地セル用に決定された、最小コスト経路のソースセルを選択する工程であって、選択されたソースセルは道路ネットワークのスナッピング位置に関連付けられるものである工程とを有するものである。
【0005】
1つの態様において、本発明は、ナビゲーションシステム用のスナッピングシステム(またはコンピュータシステム)に関している。当該スナッピングシステムは、
a)道路ネットワークの道路区画を有する境界領域を決定する工程と、
b)境界領域を示すセルの初期コストマトリックスを決定する工程であって、初期コストマトリックスの各セルは、セルによって示される境界領域の部分領域の少なくとも1つの領域特徴を示すコスト値を割り当てられる、工程と、
c)道路区画を示す初期コストマトリックスのKソースセルを特定する工程と、
d)初期コストマトリックスの各セル用および各ソースセル用に累積コスト値を決定し、複数の累積コスト値を導く工程であって、累積コスト値は、各セルのコスト値と、各セルおよび各ソースセル間の累積コスト経路のうち1つ以上のセルのコスト値とを組み合わせたものである工程と、
e)初期コストマトリックスの各セル用に、各セルに関する複数の累積コスト値のうち最小のコスト値を選択し、選択された最小累積コスト値に関連付けられた累積コスト値として、最小コスト経路を決定する工程と、
f)初期コストマトリックスのセル用に決定された、最小コスト経路のソースセルを選択する工程であって、ソースセルは道路ネットワークのスナッピング位置に関連付けられるものである工程とを実行するように構成されている。
【0006】
別の態様において、本発明は、コンピュータ読み取り可能プログラムコードを組み込んだコンピュータ読み取り可能記憶媒体を有するコンピュータプログラム製品に関しており、当該コンピュータ読み取り可能プログラムコードは、実施形態の方法の全工程を実施するように構成されるものである。
【図面の簡単な説明】
【0007】
添付の図面は、実施例の更なる理解のために含まれているものであり、本明細書に組み込まれており、その構成要素の一部である。図面は以下の特徴を有する。
【0008】
図1図1は、本主題の例に従うシステムのブロック図である。
図2A図2Aは、対象物の位置を道路区画の位置へスナッピングする方法のフローチャートである。
図2B図2Bは、本主題の例に従う候補道路区画の領域を示したものである。
図3A図3Aは、本主題の例に従う初期コストマトリックスを生成する方法のフローチャートである。
図3B図3Bは、中間コストマトリックスおよび初期コストマトリックスの例を示すものである。
図4A図4Aは、本主題の例に従うソースセルおよび他のセル間の最適経路を決定するための方法のフローチャートである。
図4B図4Bは、本主題の例に従う最小コスト経路を決定するためのアルゴリズムの疑似コードを示している。
図4C図4Cは、アルゴリズムの入力マトリックスの例を示している。
図4D図4Dは、アルゴリズムの出力マトリックスの例を示している。
図5図5は、本主題の例に従って決定されたスナッピングポイントの評価方法を示している。
図6図6は、本主題の例に従うスナッピングシステムの概略ブロック図を示している。
【発明を実施するための形態】
【0009】
以下の記載において、非制限的説明目的で実施例の十分な理解を提供するため、特定の構造、インターフェース、技術などの詳細が説明されている。しかし、斯かる特定の詳細から逸脱した他の実例において、ここに開示された主題が実施されてもよいことは、当業者には明白であろう。いくつかの例において、不必要な詳細で記載を曖昧にしないよう、周知の装置および/または方法の詳細な記載は省いてある。
【0010】
本主題は、道路ネットワークにおいて、目的地対象物の位置と対応位置とのマップマッピングが可能にするであろう。目的地対象物は、境界領域または境界領域内の対象物の部分領域(例えば、土地)であってもよい。目的地対象物は、例えば、1つの場所に永久的に存在していてもよい。
【0011】
対象物は、例えば、家、寮、オフィスなどの建物であってもよい。建物は1つ以上の入口を有していてもよく、斯かる入口の1つは対象物を代表するのに使用されてもよい。対象物の位置は、例えば、経緯度座標によって規定されてもよい。「位置」と言う用語は、「ポイント」と言う用語と区別なく使用される。1つの実施形態によれば、目的地セルが対象物を代表する。
【0012】
本明細書で使用される場合、「道路ネットワーク」と言う用語は、所定の領域の道路システムを表すラインおよびポイントを相互接続するシステムを意味している。道路ネットワークは、例えば、ノードおよび末端またはリンクを有するグラフとして記憶されるものであってもよい。道路区画は2つのポイントを結ぶ道路の一部である。ポイントは道路の隣接した交差ポイントであってもよいし、固定された距離によって分離されたポイントであってもよい。道路区画は、種々のタイプの道路区画のうちの1つであってもよい。例えば、道路区画には、歩道、自転車道、輸送ルート、車道、ハイウェイの一部またはその全てが含まれてもよい。
【0013】
本明細書で使用される場合、「マップマッチング」と言う用語は、1つ以上の地理的ポイントを道路ネットワークのそれぞれのポイントに関連付ける技術であってもよい。1つの地理的ポイントを道路ネットワークのそれぞれのポイントに関連付ける工程は、ポイントスナッピングと呼ばれてもよい。2つ以上の地理的ポイントを道路ネットワークのそれぞれのポイントに関連付ける工程は、道路スナッピングと呼ばれてもよい。従って、道路スナッピングは、複数の個別ポイントスナッピングの組み合わせであってもよい。
【0014】
境界領域は関心領域(AOI)であってもよい。境界領域は複数の対象物を含む。境界領域は、例えば、ユーザーの入力に基づいて決定されてもよい。例えば、ノースライン・ウェストファーリアの南西の町ホクスタが、境界領域として選択されてもよい。初期コストマトリックスの各セルには1つのコスト値が割り当てられるが、そのコスト値は、そのセルによって代表される境界領域の部分領域に関する少なくとも1つの領域特徴を示すものである。例えば、各セルは境界領域に関する少なくとも1つの領域特徴を表している。
【0015】
境界領域の部分領域は、例えば、F1、F2...FNという特徴または領域特徴を有している。領域特徴は、例えば、地形の急勾配、植生密度または標準化デジタル植生指標(NDVI)、建物の存在、または部分領域を表す任意の他の特徴を示すものであってもよい。
【0016】
本主題は、領域特徴F1、F2...FNの値を得るのに、既存のデータ源を活用してもよい。データ源は、例えば、航空画像データ源、光検出および測距(LiDAR)データ源などであってもよい。データ源は、所定の形式で各領域特徴の値を提供するように構成されていてもよい。例えば、データ源は、グリッド形式またはラスタ形式で、各領域特徴の値を提供するように既に構成されていてもよい。ラスタデータは、セルのグリッド用に提供されてもよい。各セル(データ)値は境界領域の部分領域を表す。
【0017】
境界領域の植生密度の値を得るには、例えば、複数のデータ源の中から1つのデータ源が検索されてもよい。データ源はセルのマトリックスとしてコストサーフェスを提供してもよく、その場合、マトリックスの各セルは、そのセルによってカバーされる領域の植生密度を示すコスト値を有している。従って、コストサーフェスCS1...CSNは、領域特徴F1、F2...FNのうちの各領域特徴に関してそれぞれ決定されてもよい。コストサーフェスCS1...CSNは、同サイズ、同数のセル、および同一のセルサイズを有している。セルサイズは、スナッピングの決定対象となる対象物によってカバーされる部分領域よりも大きくてはいけない。セルサイズは、必要な詳細を捉えられるほど十分小さいが、コンピュータの記憶および分析が効果的に実行できるほどの十分な大きさを有していても良い。例えば、サイズが小さければ小さい程、ポイントスナッピングはより正確になる。本主題は、最適ポイントスナッピングの特長と計算上の負担の欠点とをバランスさせるように、セルサイズを規定してもよい。コストサーフェスのセル値は、建物、傾斜、および植生の存在を表すものであってもよい。
【0018】
初期コストマトリックスはセルのマトリックスである。初期コストマトリックスICMは、2つ以上のコストサーフェスCS1...CSNの組み合わせであってもよい。従って、初期コストマトリックスは合併コストサーフェスと呼ばれてもよい。例えば、初期コストマトリックスは、2つ以上のコストサーフェスの加重和、例えば、ICM=w1*CS1+w2*CS2...+wN*CSNであってもよい。加重和の重みwiは、ユーザーのニーズに合わせて割り当てられてもよい。例えば、組み合わされた個別コストサーフェスは、初期コストマトリックスの個々の影響を制御するため、別々に重み付けされてもよい。従って、初期コストマトリックスの各セルは、複数の領域特徴の値の加重和であるコスト値に関連付けられていてもよい。例えば、初期コストマトリックスの各セルは、植生密度、急勾配、および建物の存在を示す値の加重和であるコスト値に関連付けられていてもよい。通行不可能な建物の存在は、通行不可能な植生と同様に重み付けされてもよいが、例えば通行可能な砂利道とは異なる方法で重み付けされた方がよい。非植生、非建物、および通行可能と分類された初期コストマトリックスのセル値は、所定の値(例えば、1)に設定されてもよい。
【0019】
初期コストマトリックスのセルは、それが道路ネットワークに位置しているならば、ソースセルとして規定される。目的地セルは、目的地対象物のフットプリントまたはソースセルとは異なる任意の他のセルの重心であってもよい。目的地セルは、例えば、対象物を表すものであってもよい。道路ネットワークおよび対象物に関する情報は、他のデータ源によって提供されてもよい。例えば、道路ネットワークは、オープン・ストリート・マップ(OSM)データ源から入手されてもよい。
【0020】
初期コストマトリックスは、目的地セルAから複数のソースセル中のソースセルBへ至る最小コスト経路を決定するのに使用されてよい(この場合、セルAは、ソースセルとは異なる初期コストマトリックス中の任意のセルまたは対象物を表すセルである)。最小コスト経路は、従来の最小コスト経路決定方法を用いて決定されてもよい。最小コスト経路のスナッピングポイントはソースセルBの中心であってもよい。ソースセルBの中心は、所定の経緯度座標の位置Cを有していてもよい。Cが道路ネットワークに記憶された位置であるならば位置Cはスナッピングポイントであり、そうでなければ、スナッピングポイントは道路ネットワーク上のCに最も近い位置であってもよい。決定されたスナッピングポイントはセルAのスナッピングポイントである。「スナッピングポイント」と言う用語は、「スナッピング位置」と言う用語と同義語として使用される。
【0021】
スナッピングポイントは、決定されると、(例えば、図5の方法を用いて)本主題によって認証または評価されてもよい。評価は、正確に決定されたスナッピングポイントの一部を示していてもよい。
【0022】
目的地セルのポイントスナッピングは、複数のソースセル中の1つの特定のソースセルと目的地セルとの間の最小コスト経路を決定するのに、初期コストマトリックスのコスト値を用いてもよい。最小コスト経路は隣接セルを接続してもよいが、その場合、当該経路の2つの隣接セルは、初期コストマトリックスと同じ対角線、同じ列、または同じ行上にあってもよい。
【0023】
最小コスト経路の特定のソースセルは距離的に最短ではなく最小コストで到達するセルであるので、本主題は、目的地セルの正確なポイントスナッピングを可能にすると言う意味で有利である。例えば、目的地対象物の正確なポイントスナッピングは、目的地セルへの最適アクセスを可能にする(例えば、目的地対象物のスナッピングポイントの最適な識別は、運送時にピックアップ場所およびドロップオフ場所の間違いを防止できる)ので有利である。従って、目的地セルのポイントスナッピングの結果は、目的地対象物で終了する経路であってスナッピングポイントから目的地対象物への最小コスト経路を含む経路を決定するのに、有利に利用されてもよい。
【0024】
本主題は、境界領域のサイズを制御できるので、処理源の節約と言う別の特長も有している。例えば、本方法のユーザー(例えば、「スナッピングポイントサービス」を提供する会社)が、ホクスタ町の建物用のスナッピングポイントに関心がある場合、境界領域は、(ホクスタ町以外の追加の町全体を含む領域の代わりに)その建物の周りの必要な道路区画のみを含む十分な大きさの領域に限定されてもよい(すなわち、より小さい領域で十分である)。従って、全領域をカバーする追加データの処理に必要な財源が節約できる。
【0025】
1つの実施形態において、セルcの累積コスト値は、以下の式、すなわち、
【数1】
(ここで、i=nがセルcを意味し、nがセルcとソースセルとの間の経路のセル数であり、
【数2】
が2つの隣接セルの合計コスト値であり、2つのセルcおよびci+1が初期コストマトリックスの同じ行または同じ列にある(この場合、
【数3】
は初期コストマトリックスのセルcのコスト値である)場合、
【数4】
であり、2つのセルcおよびci+1が初期コストマトリックスと同じ対角線上にある場合、
【数5】
である)で定義される。
【0026】
セルcの累積コスト値は、ソースセルからセルcへの移動に掛かるコストを示していてもよい。セルcの累積コスト値は、ソースセルとセルcとの間の経路の累積コスト値と呼ばれてもよい。本実施形態は、セルの空間配列に基づいて、1つのセルからソースセルへ移動するのに斯かるコストを提供してもよい。従って、本実施形態は、セル間を移動するのに掛かるコストの正確かつセル依存のコスト推定を用いるので、ポイントスナッピングを更に改善するものである。
【0027】
本方法の工程d)および工程e)の実行は、特定のソースセルと目的地セルとの間の最小コスト経路の決定を可能にする。1つの実施形態によれば、工程d)および工程e)の実行はダイクストラ法アルゴリズムを用いて行われる。例えば、ダイクストラ法アルゴリズムは、Kソースセルの各ソースセルに関して、ソースセルおよび初期コストマトリックスをダイクストラ法アルゴリズムへの入力として提供することによって実行できる。ソースセルとセルとの間のリンクのリンク重みが、当該セルの累積コスト値である。ダイクストラ法アルゴリズムの実行は、Kソースセルの各ソースセルを個別に処理するので、初期コストマトリックスのセル当たりKの累積コスト値が得られる。各セルの最小累積コスト値は、K累積コスト値の最小値であってもよい。ダイクストラ法アルゴリズムは、初期コストマトリックスを入力として使用できるように修正されてもよい。例えば、ダイクストラ法アルゴリズムは仮想グラフを使用してもよい。仮想グラフは、以下のように作成されてもよい。初期コストマトリックスの各セルのセル中心が仮想グラフのノードとして使用されてもよく、2つの隣接したセル中心間の経路が、仮想グラフのリンクとして使用されてもよい。ダイクストラ法アルゴリズムは、最適経路を見出すのにリンクの重みを使用する。
【0028】
本実施形態は、ソースセルおよびセル間のリンクのリンク重みが、当該セルからソースセルへの移動の累積コスト値に等しくなるように、ダイクストラ法アルゴリズムを更に修正してもよい。加えて、ダイクストラ法アルゴリズムは、累積コスト値が累積コストマトリックスに一時的に記憶されるように修正されてもよい。加えて、バックリンクラスタ(Backlink Raster)のような方向グリッド(各セルの値が、ソースセルへの経路上の次のセルへの方向を示す)が生成される。バックリンクラスタおよび累積コストマトリックスの各々が、初期コストマトリックスのセルに対応するセルを有しており、初期コストマトリックスと同一サイズである。本実施形態は、例えばバックリンクラスタのみに基づいて、最小コスト経路の最適かつ財源節約的な決定を行えるので有利である。コスト経路の決定は、ダイクストラ法アルゴリズムが、最適化された方法を用いてソースセルから始まる経路を見出すので、財源節約につながる。
【0029】
1つの実施形態によれば、最小コスト経路の決定工程は、初期コストマトリックスのセルに対応するセルを有するバックリンクラスタを作成する工程を有する。バックリンクラスタは、バックリンクラスタの各セル用に、各セルの最小コスト経路に沿ったソースセルのうちの1つへの方向を示すものであり、目的地セルの最小コスト経路がバックリンクラスタを用いて決定される。前述のように、任意の目的地セルに関する最小コスト経路の決定は、バックリンクラスタのみに基づいて行われてよい。バックリンクラスタが決定されたら、累積コスト値は廃棄されてもよい。斯かる方法は、最小コスト経路の決定を可能にする迅速かつ(メモリおよびCPUコストの両面で)財源節約的な方法を提供するという利点を有するものである。
【0030】
1つの実施形態によれば、本方法は、ソース対象物と目的地セルによって代表される目的地対象物との間の経路を決定するのに、目的地対象物のスナッピング位置を使用する工程を更に有するものである。例えば、スナッピング位置は、ソース対象物と目的地対象物との間の経路の一部である。経路は、スナッピング位置から目的地対象物への最小コスト経路を含んでいてもよい。本実施形態は、本主題によって最適に決定される目的地対象物のスナッピング位置を使用するので、正確な道路スナッピングを提供するものである。
【0031】
1つの実施形態によれば、本方法は、ソース対象物から目的地対象物への経路の決定要求の受信に応答して本方法を実行する工程と、スナッピング位置が経路の一部になるように、ソース対象物から目的地対象物への経路を決定する工程とを更に有するものである。経路は、スナッピングポイントから目的地対象物への最小コスト経路を更に含んでもよい。既存のナビゲーションシステムを僅かに修正することによって本主題を用いて経路が決定できるので、本実施形態は、既存のナビゲーションシステムにシームレスに一体化できるという利点を有している。
【0032】
1つの実施形態によれば、本方法は、初期コストマトリックスのコスト値を決定する工程を更に有するものであり、初期コストマトリックスのコスト値を決定する工程は、各セルに関して、当該セルの少なくとも1つの領域特徴のうちの各特徴に関してコスト値を決定する工程と、少なくとも1つの領域特徴のタイプに割り当てられた重みを用いて、決定されたコスト値の加重和を決定する工程であって、当該セルのコスト値が加重和である工程とを更に有するものである。それぞれのセル(従って境界領域)の土地特異的な性格を考慮に入れるので、本実施形態は、初期コストマトリックスのセルを通した移動コストを正確に表すことができる。本方法は、本主題に基づくポイントスナッピングの正確度を更に改善するものである。
【0033】
1つの実施形態によれば、領域特徴は、景勝地特性、地盤特性、および安全レベルのいずれかである。領域特徴を考慮すればするほど、ポイントスナッピングの正確度が向上する。
【0034】
1つの実施形態によれば、対象物はコストマトリックスの隣接セルのセットによって表されるが、この場合、目的地セルはセットの中心セルである。セルのセットの中心は、異なる形状の対象物で機能する普遍表現を提供できてもよい。
【0035】
1つの実施形態によれば、対象物はコストマトリックスの隣接セルのセットによって表されるが、この場合、目的地セルはセットの末端セル、または最小累積コスト値を有する末端セルの隣接セルである。建物の入口は、建物によってカバーされるセルのセットの末端(または境界)セルを通常カバーするので、本実施形態は、建物の入口を目的地セルによって表現できる。建物の入口は、最適/望ましい目的地であってもよい。従って、本実施形態は、本主題に基づくポイントスナッピングを更に改善するものである。
【0036】
1つの実施形態によれば、隣接セルのセットは多角形によって区切られている。対象物のほとんどが多角形によって区切られた隣接セルのセットをカバーするので、本実施形態は、様々な建物のフットプリントを処理可能である。
【0037】
1つの実施形態によれば、本方法は、スナッピング位置を評価する工程を更に有する。当該評価は、対象物の代替スナッピングポイントを提供する工程と、スナッピング位置が代替スナッピングポイントの周囲の所定の領域内にあるか否かを決定する工程とを有する。代替スナッピングポイントは、所定の代替技術によって規定されてもよいし、あるいはユーザーが規定する参照/真のスナッピングポイントであってもよい。スナッピング位置が所定の領域内にある場合、それは正確なスナッピング位置と名付けられてもよい。本実施形態は、2つの方法のスナッピングポイント評価の組み合わせが可能であってもよい。本主題に従って決定されるスナッピングポイントは、スナッピングポイントが所定の領域内にある場合に使用されてもよい。斯かる方法は、本主題に基づくポイントスナッピング決定を更に改善するものである。例えば、評価結果は、ポイントスナッピングの結果と関連付けて提供されてもよい。
【0038】
1つの実施形態によれば、上記領域は、代替スナッピングポイントからの最大距離と、目的地セルおよび代替スナッピングポイントからのポリライン間の方位の最大許容差によって規定される方向とによって規定される。本実施形態は、確実で正確なスナッピングポイントの評価を提供できる。
【0039】
1つの実施形態によれば、本方法は、経路決定が所定の領域内にあるならば、スナッピング位置を斯かる経路決定に使用する工程を更に有するものである。本実施形態は、ナビゲーションシステムにおける経路決定の改善が可能である。例えば、スナッピングポイントが所定の領域内に無い場合、経路は、決定されたスナッピングポイントの代わりに代替スナッピングポイントを使用してもよい。
【0040】
1つの実施例において、本方法は、種々の目的地対象物において反復されてもよい。その結果、目的地対象物に関して複数の決定スナッピングポイントが生じることになるかも知れない。評価は複数のスナッピングポイントに関して反復されてもよい。正確なスナッピングポイントの一部が所定の閾値よりも高ければ、本方法が正当化できるかもしれないし、あるいは例えば初期コストマトリックスサイズを変更したり、使用領域特徴の数を増大させたりすることによって、本方法を適合させるのにそれを使用できるかもしれない。このように、本方法は更に1つ以上のルーティングアプリケーションに使用可能である。
【0041】
1つの実施形態によれば、本方法は、ソース対象物から目的地対象物への経路の決定要求の受信に応答して、工程f)を実行する工程を更に有するものである。
【0042】
1つの実施形態によれば、目的地対象物は、建物領域内の対象物を表すものである。
【0043】
1つの実施形態によれば、対象物はコストマトリックスの隣接セルのセットによって表されるが、その場合、目的地セルは当該セットの中心セルである。
【0044】
図1は、本主題の例に従うシステム100のブロック図である。システム100は、少なくとも1つのロケーション装置101、スナッピングシステム102、および1つ以上のクライアント103を含んでいてもよい。ロケーション装置101および/またはスナッピングシステム102および/またはクライアント103は個別の構成要素として示されてはいるが、1つの実施例では、システム100の一体化部分を形成するものであってもよい。1つの例において、ロケーション装置101、スナッピングシステム102、およびクライアント103は、ネットワークを通して通信し合うものであってもよい。ネットワークは、例えば、無線ローカルエリアネットワーク(WLAN)接続、WAN(広域ネットワーク)接続、LAN(ローカルエリアネットワーク)接続、インターネット、またはそれらの組み合わせを含む。
【0045】
図1のシステム100は、本主題に従ってポイントスナッピングを実行するように構成されていてもよい。システム100によって実行されるポイントスナッピングの結果は、異なる目的で更に使用されてもよい。例えば、ポイントスナッピングの結果は経路決定に使用されてもよい。別の例では、ポイントスナッピングの結果はメタデータとして使用されてもよい。1つの例では、本主題を使用する境界領域の各位置のスナッピングポイントを決定することにより、所定の境界領域に関してメタデータを規定したり、前処理したりしてもよい。例えば、境界領域(例えば、市)は多数の部分領域に細分されてもよいが、その場合、当該部分領域によってカバーされる対象物の関連スナッピングポイントが、各部分領域に関して、本主題に従って予め決定される、あるいは予め計算されることになる。例えば、境界領域は個々の市をカバーするものであってもよいが、国々または全大陸をカバーするものであってもよい。部分領域のサイズは、人口密度の高い領域における1mから田園地帯の100mまでの範囲を有するものであってもよい。しかし、斯かる数値は例示目的に過ぎず、本主題を限定するようなものではない。
【0046】
更に、メタデータは、例えばルックアップテーブルで提供されてもよい。ルックアップテーブルは、境界領域の部分領域(例えば、建物を有する領域)を示す位置を、予め計算された対応するスナッピングポイントに関連付ける項目を有していてもよい。例えば、アプリケーション・プログラミング・インターフェース(API)が提供されてもよい。APIはメタデータへのアクセスを可能にする。
【0047】
ロケーション装置101は、スナッピングポイントを決定する対象の空間位置を提供する任意の装置またはツールとして一般的に理解されるものである。ロケーション装置101は、種々の変形体で実行されてよい。
【0048】
1つの変形体では、ロケーション装置101は、地理空間位置衛星を通してその場所を決定するように構成されていてもよい。ロケーション装置101の現在位置は、ロケーション装置101が現在位置している建物、車両などの位置を示すものであってもよい。実際的なシナリオとしては、ロケーション装置101(例えば、携帯電話)を所持している第一ユーザーが第二ユーザーに自分の現在位置を知らせたい場合などが考えられる。その場合、第一ユーザーの現在位置または場所用のスナッピングポイントを決定するのに、建物の場所を示すロケーション装置の場所が使用できる。第一ユーザーは決定されたスナッピングポイントを第二ユーザーへ提供すれば、その人はスナッピングポイントで終わる経路を用いて第一ユーザーに合流できる。この例の場合、ロケーション装置101は、地理空間位置衛星を通してその場所を決定するように構成されている。斯かる目的のため、ロケーション装置101は、例えば、グローバル・ポジショニング・システム(GPS)、GLONASSシステム、COMPASSおよびBeiDouナビゲーションシステム、ガリレオ測位システム、インドのインド地域航法衛星システムのうちのいずれかを使用できる。ロケーション装置101は、例えば、いくつかの情報源からGNSS差動信号を受信するため、GNSS受信機を有していてもよい。
【0049】
スナッピングシステム102は、道路ネットワークストア105を含んでいてもよい。道路ネットワークストアは、例えばコンピュータメモリであってもよい。道路ネットワークストア105は、道路の場所、状態、およびレイアウトのうちのいずれかを含む道路ネットワークグラフ107を維持するものであってもよい。道路ネットワークストア105は、道路区画および道路に関する追加データ、例えば、道路の移動方法(例えば、一方通行、または両側通行)、方向転換制限、交通規則情報などを記憶するものであってもよい。
【0050】
スナッピングシステム102は、本主題に従う対象物のスナッピングポイントの決定を実行するため、対象物の位置に関する情報を必要とするかもしれない。対象物の場所に関する情報は、初期コストマトリックスのセル、更に好ましくは対象物を示すバックリンクラスタの特定を可能にするかもしれない。対象物の場所に関する情報は、例えば、ロケーション装置101によって提供されてもよい。1つの例において、斯かる情報はロケーション装置101から受信されてもよい。別の例において、上述したようにクライアント103とロケーション装置101が一体化部分を形成するならば、クライアント103が斯かる情報をスナッピングシステム102へ送信してもよい。
【0051】
対象物の場所に関する情報は、例えば、ロケーション装置101によって以下のように提供されてもよい。対象物を示すユーザー入力が、ロケーション装置101のユーザーインターフェースで受信されてもよい。1つの例において、ユーザー入力は対象物のアドレスを有していてもよい。アドレスは、ロケーション装置101によって対象物の位置を示す座標に更に変換されてもよい。変換は、例えば、座標コンバータのアドレスを用いて実行されてもよい。座標コンバータのアドレスは、例えば、クラウドサービスによって提供されてもよい。座標コンバータのアドレスは、アドレス変換用の1つ以上のデータベースを使用してもよい。
【0052】
別の例において、対象物が建物の場合、対象物の場所に関する情報は対象物の入口を示すものであってもよい。斯かる目的のため、対象物のアドレスまたは対象物自体に、入口の場所を示すラベルが添付されていてもよい。結果的に、建物の入口に関連付けられた初期コストマトリックスのセルを見出すことができる。
【0053】
スナッピングシステム102は、例えば上述したルックアップテーブルを用いて、本主題に基づき、特定の位置から道路ネットワークグラフ107の道路区画への地理的データをスナッピングするように構成されていてもよい。スナッピングとは、ロケーション装置101によって示される位置を道路区画上の位置に関連付けること、あるいはマッピングすることを意味する。
【0054】
上述の方法は種々のやり方で使用できる。スナッピングシステム102は、地理座標または部分領域の情報に関連付けられたスナッピングポイントを迅速に特定するため、ルックアップテーブルを使用するように構成されている。
【0055】
従って、アプリケーションは、対象物または対象物の位置と関連付けられたスナッピングポイントとの間の関連付けを含むデータベースの構築であってもよい。データベースは、対象物から当該スナッピングポイントへのそれぞれの最小コスト経路を有するものであるのが好ましく、これはメタデータを有するルックアップテーブル(より一般的には予め計算されたデータベース)として上述されたものである。最小コスト経路は、(例えば、バックリンクラスタに関して上述したように)経路のみに沿った方向指標を用いて記憶させてもよい。対象物に関連付けられたスナッピングポイント並びに任意に最小コスト経路が、任意のソース場所と対象物との間で行われるそれ以後の経路計画において、経路の一部として使用でき容易に利用可能なので、斯かる方法は有利である。
【0056】
更なる例において、ソース場所と対象物との間の経路計画は、一般的に、対象物のスナッピングポイントを決定し、更にソース場所とスナッピングポイントとの間の経路を決定するものであってもよい。経路は従来の経路計算手段を用いて決定されてもよい。
【0057】
本主題は、経路の正確な決定に使用できるので有利である。例えば、現在地から目的地へ(歩行または運転で)移動したいと考えている人は、現在地と目的地との間の経路を要求するかもしれない。斯かる要求は、例えば、スナッピングシステムによって受信される。スナッピングシステムは、ユーザーの現在の開始位置データを受信し、当該位置データの道路スナッピングを実行するように更に構成されていてもよい。特に、スナッピングシステムは、スナッピングポイントを特定するため、本主題に従ってポイントスナッピングを実行してもよい。スナッピングシステムまたは任意の他の手段が、スナッピングポイントから目的地への経路を決定するのに更に使用されてもよい。
【0058】
スナッピングシステム102は、道路ネットワーク107の一部の地理表示を提供するため、ディスプレイ109を更に有していてもよい。スナッピングシステム102は、1つ以上のデータ源(図示しない)からデータを受信するように更に構成されていてもよい。データ源は、例えばLiDARシステムであってもよい。
【0059】
スナッピングシステム102は、クライアント103を有するサーバークライアント構成に従って作動するように構成されていてもよい。例えば、スナッピングシステム102は、特定の対象物、例えば、図2Bに関して以下で考察される対象物233について、道路ネットワーク107の経路の1つにおいてスナッピングポイントを決定したいと言う要求をクライアントから受信するかもしれない。例えば、上述したようにクライアント103とロケーション装置101が一体化部分を形成している場合、スナッピングシステム102は、経路の目的地対象物(例えば、対象物233)の位置を示す情報をクライアント103から更に受信するかもしれない。スナッピングシステム102は、斯かる要求を受信したら、本主題の少なくとも一部を実行してもよい。
【0060】
本スナッピングポイントの決定方法をより詳細に説明するため、以下において、上記の一般性を限定することなく、スナッピングポイントは計算されたものであり、テーブルから検索されたものではない旨が仮定されている。
【0061】
図2Aは、対象物の位置を道路区画の位置へスナッピングする方法に関するフローチャートである。図2A記載の方法は、説明目的のため図1に示されるシステムで実施されてはいるが、斯かる実施に限定されるものではない。
【0062】
本方法は工程201で開始され、スナッピングシステム102が境界領域を決定する。1つの例では、工程201は、特定の対象物への経路を決定するようにと言う要求をクライアント103の1つからスナッピングシステム102が受信したことに応答して実行されてもよい。特定の対象物は、経緯度座標のような地理的位置であってもよい。別の好ましい例では、工程201は、境界領域内に位置する任意の対象物のために境界領域の全スナッピングポイントを決定するようにと言う要求をクライアント103の1つからスナッピングシステム102が受信したことに応答して実行されてもよい。後者の要求はむしろ非特定的な要求であり、個別の対象物の指示すらないことに注目されたい。
【0063】
図2Bは、例示的境界領域230を示している。境界領域230は、道路ネットワーク107の道路区画231A、231B、および231Cを有している。更に、特定の対象物233は例示的に示されたものである。特定の対象物233は建物であってもよい。スナッピングシステム102は、ユーザーの入力に基づいて境界領域230を決定してもよい。例えば、ユーザーの入力は、対象物233の位置または対象物が位置する町(例えば、ホクスタ)の名前を指示してもよい。別の例では、ユーザーは、境界領域の外郭を表わす地理座標によって当該境界領域を示してもよい。境界領域は、1つの領域の名前または1つの国全体の名前を用いて示されてもよい。市の名前の場合、斯かる指示を境界領域の外郭を示す地理座標に「変換する」領域ツールまたは国ツールが必要であることは理解されたい。境界領域は、例えば、ホクスタの中心にある所定サイズ(例えば1km)の四角形または円形の領域として決定されてもよい。境界領域の位置は、例えば、特定の対象物の位置データに基づいて決定されてもよい。例えば、対象物233がホクスタの中心にある場合、境界領域は中心に位置していてもよい。対象物233は一般的に中心に位置されてよい。位置データ233は、例えば、ロケーション装置101から受信されてもよい。別の例では、特定の対象物233の位置データは、ユーザー入力の一部としてユーザーから受信するものであってもよい。
【0064】
図2Bに示されるように、道路区画231A~231Cは、経緯度座標を有する複数の位置P~Pを通過する。道路区画231A~231Cの各道路区画は、それぞれのサブセット位置235A~235Cを通過する。道路区画上の斯かる位置P~Pは、特定の対象物233の位置を道路ネットワークにスナッピングするのに使用されてもよい。
【0065】
境界領域230の決定後、本方法は工程203へ進み、スナッピングシステム102は、セルの初期コストマトリックスを生成する。初期コストマトリックスは、境界領域230を表している。初期コストマトリックスは、道路区画235A~235Cを表すKソースセルSC...SCを有していてもよい。初期コストマトリックスの残りのLセルはC...Cと呼ばれてもよい。複数のソースセルの各ソースセルは道路の一部を表し、位置P~Pのうちの少なくとも1つの位置を通過するものであってもよい。
【0066】
初期コストマトリックスは、例えば、ファイルとして記憶されてもよい。ファイルは、セルの座標に関する情報および追加情報を有していてもよい。追加情報は、初期コストマトリックスの各セルに割り当てられた初期コストマトリックスを有していてもよい。セルのコスト値は、セルを移動するのに要するコストを表していてもよい。例えば、セルのコスト値は、当該セルによって表される境界領域の部分領域に関する1つ以上の領域特徴の値の組合せであってもよい。領域特徴は、例えば、傾斜、植生、土地の特徴などを表していてもよい。図3Aおよび図3Bは、初期コストマトリックスのコスト値決定の例を提供するものである。
【0067】
初期コストマトリックスは、複数のソースセルのうちの1つのソースセルと初期コストマトリックスの別のセルとの間の最小累積コストの最適経路を見出せるコストサーフェスを提供してもよい。セル表示の使用は、境界領域を示すデータの簡単な保存を可能にするのと同時に、グラフベースのツールの使用も可能にするので有利である。これは、初期コストマトリックスの各セル中心がノードとして使用でき、2つの隣接セル中心がリンクとして使用できるからである。リンクは経路を画定するのに使用されてもよい。セル構造を使用する別の特長は、予め計算された境界領域のマトリックスを取得するのに、LiDARなどの既存のデータ源を活用できることである。
【0068】
1つの例において、初期コストマトリックスのセル間の全ての可能なリンクが、本方法によって経路を決定するのに使用されてもよい。最適経路の正確な推定を提供するので、この方法は有利である。本方法は、境界領域のサイズが所定の最大サイズよりも小さい場合に特に有利であるが、それは境界領域処理対象のセル数が少なくなるからである。例えば、境界領域が1000mの場合、セル数は1kmの領域のセル数よりも何桁も小さくなる。言い換えると、初期コストマトリックスのサイズが小さいと、開発者は、迅速な経路計算を行うための処理源をいつも十分有することになるからである。境界領域のサイズは初期コストマトリックスのセル数であってもよいし、あるいは境界領域によってカバーされるサーフェスのサイズであってもよい。しかし、境界領域のサイズが最大サイズよりも大きければ、リンク数は指数関数的に増大する。リンク数が多いと、選択対象の代替経路の数が増大するので、全体的な計算規模も増大する。従って、代替例として、経路の決定は、リンク数を制限することにより実行されてもよい。リンク数は、初期コストマトリックスの所定のセルが特定セットのセルのみに接続されるよう、隣接関係を考慮することにより制限されてもよい。経路の方向も制限されてよい。リンク数は、境界領域のサイズが所定の最大サイズよりも大きい場合に制限されてもよい。例えば、Rookのパターンに従う隣接関係は、所定のセルの直接隣接セル数を4に制限してもよい。別の例では、Queenのパターンに従う隣接関係は、所定のセルの直接隣接セル数を8に制限してもよい。隣接関係を使用することにより、経路の決定の制御が可能になる。
【0069】
本方法は工程205へ進み、スナッピングシステム102が、各セルからソースセルSC...SCへの最適経路を決定する。工程205は、例えば、図4Dに示されるようなバックリンクラスタ433となってもよい。
【0070】
1つの例において、特定の対象物233のような対象物が2つ以上のセルによって代表される場合でも、このような対象物を複数のセルのうちの単一のセル(「対象物セル」と呼ばれる)に関連付ける必要性が生じる場合がある。例えば、特定の対象物が隣接セルのセットをカバーする場合などである。対象物セルは、隣接セルのセットの重心であってもよい。建物の形状に依存して最適経路が提供できるので、斯かる方法は有利であろう。別の例では、対象物セルは、建物の入口を表すセル(すなわち、建物のフットプリントの外郭線上のセル)であってもよい。建物の形状とは独立に最適経路が見出せる。
【0071】
ソースセルSC(i=1...K)と目的地セルC(j=1...L)との間の各経路は、累積コスト値に関連付けられる。ソースセルSCと目的地セルCとの間の経路は、ゼロ以上の中間セルC(h=0...およびh≠j)を有していてもよい。経路のセル数nは2以上(n≧2)であってよい。経路の累積コスト値は、当該経路の目的地セルCの累積コスト値と呼ばれてもよい。セルcの累積コスト値は、以下の式、すなわち、
【数6】
(ここで、k=nがセルcを意味し、
【数7】
が2つの隣接セルの合計コスト値であり、2つのセルcおよびck+1が初期コストマトリックスと同じ行または同じ列にある(この場合、
【数8】
は初期コストマトリックスから得られるセルcの初期コストマトリックスである)場合、
【数9】
であり、2つのセルcおよびck+1が初期コストマトリックスと同じ対角線上にある場合、
【数10】
である)で定義される。
【0072】
各セルをソースセルSC...SCの1つへ連結する(工程205で決定される)最適経路は、最小累積コスト値に関連付けられた経路である。
【0073】
例えば、セルCとソースセルSC...SCの1つとの間の最適経路の決定は、各ソースセルを個別に処理して当該ソースセルをセルCに連結する1つ以上の(代替)経路群Gを見つける(その場合、各経路が累積コスト値を有する)工程を行うことにより実行されてもよい。全経路の累積コスト値を比較し、最小累積コスト値および関連付けられた最適経路(最小累積コスト経路)を特定してもよい。図4A~4Dは、工程205の実施の一例を提供するものである。
【0074】
最適経路の決定後、本方法は工程207へ進み、スナッピングシステム102が、セルC…CLのうちの特定のセル(例えば、特定のセルは特定の対象物233を示していてもよい)の最適経路のソースセルを選択または特定する。工程207において、スナッピングシステム102は、選択されたソースセルの場所に関連付けられた(またはそれに対応する)スナッピングポイントを、当該特定のセルのスナッピングポイントとして決定する。当該特定のセル用に決定された最適経路が、例えば、ソースセルSCで始まると仮定すると、スナッピングポイントは、例えば、最適経路のソースセルSCに関連付けられた位置P~Pのうちの1つの位置であってもよい。決定されたスナッピングポイントは、建物233からのアクセスの可能性の高い、道路ネットワーク107上の理想的なスナッピングポイントであってもよい。
【0075】
工程207は、例えば、特定のセルをソースセルに連結するバックリンクラスタ上で、最適経路をまず決定または特定することにより実行されてもよい。特定された最適経路のソースセルの中心は、所定の経緯度座標を有する位置Cpを有していてもよい。位置Cpは、それ(Cp)が道路ネットワーク内に記憶されている位置であるならば、スナッピングポイントであり、そうでなければ、スナッピングポイントは、Cpに最も近い位置にある道路ネットワークの位置であってもよい。決定されたスナッピングポイントは、当該特定のセルのスナッピングポイントである。
【0076】
スナッピングポイントのセットは、セルを表わす情報に関連付けられて記憶されてもよい。1つの例において、スナッピングポイントは、所定の対象物を表わす情報に関連付けられて記憶されてもよい。斯かる方法は、目的地から所定の対象物への経路(スナッピングポイントで終わる経路)の(後の時点における)決定を可能にする。
【0077】
図3Aは、本主題の例に従う初期コストマトリックスを決定する方法のフローチャートである。説明目的のため、図3A記載の方法は、図1に示されるシステムで実施され、図3Bを参照して記載されてはいるが、斯かる実施に限定されるものではない。図3Aの方法は、工程203の例示的実施を提供する。
【0078】
本方法は工程301で開始され、スナッピングシステム102が、図3Bに示されるように、(中間コストマトリックスと呼ばれる)複数のコストマトリックス320および321を決定する。記載の簡略化のため、図3Bは2つの中間コストマトリックスを示してはいるが、その数に限定されるものではない。複数の中間コストマトリックス320~321のうちの各中間コストマトリックスのセル値は、それぞれの領域特徴の値であってもよい。例えば、中間コストマトリックス320のセル値は、各セルによって代表される土地の急勾配を表していてもよい(従って、中間コストマトリックス320は、例えば、傾斜ラスタと呼ばれてもよい)。中間コストマトリックス321のセル値は、各セルにおける植生密度を表していてもよい(従って、中間コストマトリックス320は、例えば、植生ラスタとよばれてもよい)。
【0079】
中間コストマトリックス320および321は、初期コストマトリックス322を生成するため、スナッピングシステム102によって工程303で組み合わされてもよい。組み合わせは、例えば、中間コストマトリックス320および321の対応するセルの値の合計であってもよい。別の例では、組み合わせは、初期コストマトリックス322への個々の影響を制御するため、各個々の中間コスト値に対して異なる重み付けがなされるように実行されてもよい。初期コストマトリックス322のセルのセル値cost12ij(ここで、iおよびjは、初期コストマトリックス322の行および列の指標である)は、それぞれ中間コストマトリックス320および321の対応するセルのセル値cost1ijおよびcost2ijの加重和であってもよい。加重和は、cost12ij=wxcost1ij+wxcost2ijと定義されてもよい(この場合、wおよびwは、それぞれ中間コストマトリックス320および321に関連付けられた所定の重みである)。
【0080】
図4Aは、本主題の例に従うソースセルと他のセルとの間の最適経路を決定する方法のフローチャートである。説明目的のため、図4A記載の方法は、図1に示されるシステムで実施されているが、斯かる実施に限定されるものではない。図4Aの方法は、工程205の例示的実施を提供する。
【0081】
本方法は、工程401で開始され、スナッピングシステム102が、本主題に従う修正されたダイクストラ法アルゴリズムを提供するように、ダイクストラ法アルゴリズムを構成するものである。修正ダイクストラ法アルゴリズムの疑似コードが図4Bに示してある。ダイクストラ法アルゴリズムは、初期コストマトリックスの(仮想)グラフ表示を使用するように構成されており、各セル中心はグラフのノードを表している。各ノードは、使用される隣接タイプ次第で、グラフの末端またはリンクによって全ての隣接ノードに接続されている。ダイクストラ法アルゴリズムによって使用される、ソースセルを表すソースノードと別のセルを表す別のノードとの間のリンクのリンク重みは、本主題に従って、セルからソースセルへの移動の累積コストとして定義されてもよい。セルcの累積コスト値は、以下の式、すなわち、
【数1】
(ここで、i=nがセルcを意味し、nがセルcとソースセルとの間の経路のセル数であり、
【数2】
が2つの隣接セルの合計コスト値であり、2つのセルcおよびci+1が初期コストマトリックスと同じ行または同じ列にある(この場合、
【数3】
は初期コストマトリックスのセルcのコスト値である)場合、
【数4】
であり、2つのセルcおよびci+1が初期コストマトリックスと同じ対角線上にある場合、
【数5】
である)で定義される。
【0082】
従って、当該アルゴリズムは、図4Cに示されるように、初期コストマトリックスおよびソースマトリックスを入力として受信するように構成されている。ソースマトリックス422は、初期コストマトリックス322のうちのいずれのセルがソースセル(例えば、値1に関連付けられたもの)で、初期コストマトリックス322のうちのいずれのセルがソースセルではない(例えば、値0に関連付けられたもの)かを示している。更に、当該アルゴリズムは、最も近いソースセルに到達するための最小合計コストを計算して経路に関する情報を記憶する広がり関数により、初期コストマトリックス322に基づき、累積コスト値を生成するように構成されている。累積コストマトリックスは初期コストマトリックスのセルに対応するセルを有し、更に初期コストマトリックスのサイズと同一のサイズを有している。例えば、当該アルゴリズムの処理中、累積コストマトリックスの同一のセルにおいて複数の累積コスト値が見出される場合がある。累積コスト値は累積コストマトリックスに一時的に記憶され、当該セルの更に小さい別の累積コスト値によって置き換えられてもよい。加えて、各セルの値がソースセルへの経路上の次のセルへの方向を示す方向グリッド(例えば、バックリンクラスタ)が生成される。
【0083】
図4Bの疑似コードが、上記実行の構成を要約している。累積コストマトリックスが、第2~3行に示されるように初期化される。バックリンクラスタが、第4行に示されるように初期化される。第7~20行に示される反復プロセスが、入力された初期コストマトリックスのソースセル中の各ソースセルにおいて反復される。反復プロセス中、例えば以下のプロセスが行われる。反復毎にactive_listの最小値がactive_listから除去される(第11行)。セルの全隣接セルが特定される(第10行)。全隣接セルに関して、最も近いソースセルへの累積コストが計算され(第13行)、隣接セルがactive_listに追加される(第14行)。隣接セル用のコストが、以前の反復で既に計算されている累積コストよりも少ない場合(第15行)、active_list中の古い値がその低い値によって置き換えられる(第16~17行)。古い値は、出力ラスタにおいてもその低い値によって置き換えられる(第18行)。更に、コード化された方向値が計算され(第19行)、バックリンクラスタに書き込まれる(第20行)。
【0084】
工程403において、初期コストマトリックス322およびソースマトリックス422が当該修正アルゴリズムに入力として提供されてもよい。次に、工程405において当該修正アルゴリズムが実行される。修正アルゴリズムの出力が(最終)累積コストマトリックス432であり、関連バックリンクラスタ433が図4Dに示される。セル値は図に例示目的で示されている。
【0085】
バックリンクラスタ433は、ソースセルではない初期コストマトリックスの各セルの最適経路を決定するのに使用できる。例えば、セル435の最適経路は、当該セル435をソースセル437に連結する経路436であるかもしれない。ソースセル437に関連付けられた道路ネットワークの位置が、セル435用の最適スナッピングポイントであるかもしれない。セル438の最適セルは、当該セル438をソースセル440に連結する経路439であるかもしれない。この場合、ソースセル440に関連付けられた道路ネットワークの位置が、セル438用の最適スナッピングポイントであるかもしれない。このように、最適スナッピングポイントは、建物を表すのにどの対象物セルを使用するかによって異なっていてもよい。
【0086】
本主題は、更に、決定されたスナッピングポイントの妥当性または評価を可能にするものであってもよい。例えば、図5に示されるように、特定の対象物233の参照スナッピングポイント501が決定されてもよい。参照スナッピングポイント501は、ユーザーが規定するもの(例えば、それは真の/理想的なスナッピングポイントを表すもの)であってもよい。スナッピング領域503(図5の斜線部)が提供されてもよい。スナッピング領域503は、対象物233の重心から参照スナッピングポイント501までのベクトル、rによって規定される最大距離、および方位の最大許容差によって規定される方向によって画成される。この例において、θとθとの間の方位の許容差βは15であり、距離の許容差はrによって規定される。決定されたスナッピングポイントの評価は、決定されたスナッピングポイントがスナッピング領域503内にあるか否かを調べることによって実行されてもよい。それがスナッピング領域503内にある場合には、そのスナッピングポイントは、更に対象物233への経路を決定するのに使用されてもよい。
【0087】
図6は、本主題の例に従う、スナッピングシステム102のようなコンピュータシステムの概略ブロック図を示したものである。
【0088】
コンピュータシステム102の構成要素は、限定されないが、1つ以上のプロセッサまたは処理装置603、記憶システム611、メモリ装置605、およびメモリ装置605を含む種々のシステム構成要素をプロセッサ603に連結するバス607を有する。記憶システム611は、例えば、ハードディスクドライブ(HDD)を有していてもよい。メモリ装置605は、ランダムアクセスメモリ(RAM)および/またはキャッシュメモリのような揮発性メモリ形式のコンピュータシステム読み取り可能媒体を有していてもよい。
【0089】
コンピュータシステム102は、キーボード、位置決め装置、ディスプレイ613などの1つ以上の外部装置など、ユーザーとコンピュータシステム102との相互作用を可能にする1つ以上の装置、および/またはコンピュータシステム102を1つ以上の他の計算装置と通信可能にする任意の装置(例えば、ネットワークカード、モデムなど)と通信可能であってもよい。斯かる通信はI/Oインターフェース(複数も可)619を通して実施できる。更に、コンピュータシステム102は、ローカルエリアネットワーク(LAN)、一般的な広域ネットワーク(WAN)、および/またはネットワークアダプタ609を通した公共ネットワーク(例えば、インターネット)のような1つ以上のネットワークとの通信も可能である。上述したように、ネットワークアダプタ609は、バス207を通して、クライアントシステム102の他の構成要素とも通信可能である。
【0090】
メモリ装置605は、プロセッサ603上で実行可能なアプリケーションを記憶するように構成されている。例えば、メモリ装置605は、オペレーティングシステム並びに1つ以上のアプリケーションプログラムを有していてもよい。アプリケーションプログラムは、図2A、3A、4A、または5を参照して記載されている方法の少なくとも一部を実行可能な命令を有している。
【0091】
当業者には明白なように、本発明の態様は、装置、方法、コンピュータプログラムまたはコンピュータプログラム製品として具体化されてよい。従って、本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、またはソフトウェアおよびハードウェアの態様を組み合わせた実施形態(本明細書では、全て一般的に「回路」、「モジュール」、または「システム」と呼ばれてもよい)の形式を採用してもよい。更に、本発明の態様は、コンピュータ実行可能コードを内蔵する1つ以上のコンピュータ読み取り可能媒体(複数も可)に組み込まれたコンピュータプログラム製品の形式を採用してもよい。コンピュータプログラムは、コンピュータ実行可能コードまたは「プログラム命令」を有する。
【0092】
1つ以上のコンピュータ読み取り可能媒体の任意の組み合わせが活用されてもよい。コンピュータ読み取り可能媒体は、コンピュータ読み取り可能記憶媒体であってもよい。本明細書で使用される場合、「コンピュータ読み取り可能記憶媒体」には、コンピュータ装置のプロセッサによって実行可能な命令を記憶する任意の有形の記憶媒体が含まれる。コンピュータ読み取り可能記憶媒体は、コンピュータ読み取り可能非一時的記憶媒体と呼ばれてもよい。コンピュータ読み取り可能記憶媒体は、有形のコンピュータ読み取り可能媒体と呼ばれてもよい。いくつかの実施形態において、コンピュータ読み取り可能記憶媒体は、コンピュータ装置のプロセッサによってアクセス可能なデータを記憶できるものであってもよい。
【0093】
「コンピュータメモリ」または「メモリ」は、コンピュータ読み取り可能記憶媒体の一例である。コンピュータメモリは、プロセッサに直接アクセス可能な任意のメモリである。「コンピュータ記憶装置」または「記憶装置」は、コンピュータ読み取り可能記憶媒体の更なる一例である。コンピュータ記憶装置は、非揮発性コンピュータ読み取り可能記憶媒体である。いくつかの実施形態において、コンピュータ記憶装置はコンピュータメモリであってもよく、コンピュータメモリはコンピュータ記憶装置であってもよい。
【0094】
本明細書で使用される場合、「プロセッサ」には、プログラム、マシン実行可能命令、またはコンピュータ実行可能コードを実行できる電子構成要素が含まれる。「プロセッサ」を有するコンピュータ装置への言及は、2つ以上のプロセッサまたは処理コアが含まれる可能性があるものと解釈されるべきである。プロセッサは、例えば、マルチコアプロセッサであってもよい。プロセッサは、単一のコンピュータシステム内のプロセッサの集まりであってもよいし、複数のコンピュータシステム間に分散されていてもよい。計算装置と言う用語は、プロセッサ(複数も可)を各々有する計算装置の集まりまたはネットワークについて言及している可能性があるものと解釈されるべきである。コンピュータ実行可能コードは、同一の計算装置内に存在する、あるいは複数の計算装置間に分散された複数のプロセッサによって実行されてもよい。
【0095】
コンピュータ実行可能コードは、プロセッサに本発明の態様を実行させるためのマシン読み取り可能命令またはプログラムを有していてもよい。本発明の態様用の操作を実行するためのコンピュータ実行可能コードは、Java、Smalltalk、C++などのオブジェクト指向プログラミング言語、および“C”プログラミング言語などの従来の手続き型プログラミング言語、あるいは類似のプログラミング言語を含む1つ以上のプログラミング言語の任意の組み合わせで記述され、マシン実行可能命令にコンパイルされていてもよい。いくつかの例において、コンピュータ実行可能コードは、高級言語形式または事前にコンパイルされた形式であってもよく、動的にマシン実行可能命令を生成するインタープリタと一緒に使用されてもよい。
【0096】
一般的に、プログラム命令は、1つのプロセッサまたはいくつかのプロセッサ上で実行できる。複数のプロセッサの場合、それらはいくつかの異なる実体間に分散されていてもよい。各プロセッサが、その実体用に計画された命令の一部を実行可能である。従って、複数の実体が関連するシステムまたはプロセスへの言及がある場合、コンピュータプログラムまたはプログラム命令は、それぞれの実体に関連付けられたまたは関係したプロセッサによって実行されるように適応されているものと理解されるべきである。
図1
図2A
図2B
図3A
図3B
図4A
図4B
図4C
図4D
図5
図6
【国際調査報告】