(57)【特許請求の範囲】
【請求項１】
ナビゲーションシステムと共に使用する地理的領域のための、コンピュータ上のコンパイラによって実行される地理的データベースの作成方法において、
上記方法が、
上記地理的領域内の物理的特色を表す複数のデータエンティティを受け取り、
グローバル正規化された属性アレイを生成する段階を備え、
上記グローバル正規化された属性アレイは複数のエントリを有し、上記各エントリは参照と、ある物理的特色を記述する複数の属性の特定の組合わせとを有し、
複数のローカル正規化された属性アレイを生成する段階をさらに備え、
上記ローカル正規化された属性アレイは複数のエントリを有し、上記各エントリは参照と、ある物理的特色を記述する複数の属性の特定の組合わせとを有し、
上記各データエンティティにインデックス参照を配置する段階をさらに備え、
それによって、インデックス参照を有するデータエンティティによって表される特色を記述する属性が、上記グローバル正規化された属性アレイまたは上記複数のローカル正規化された属性アレイの一方内の上記インデックス参照に対応するエントリに対する参照によって決定され、
上記複数のデータエントリ、上記グローバル正規化された属性アレイ、および上記複数のローカル正規化された属性アレイが物理的記憶媒体に格納されている
ことを特徴とする方法。
【請求項２】
上記地理的データベースは上記記憶媒体上でパーセル化されており、更に、上記ローカル正規化された各属性アレイはあるパーセルに関連付けられ、上記ローカル正規化された各属性アレイは、それに関連付けられた上記パーセル内に格納されているデータベースエントリによって表される物理的特色を記述する複数の属性の特定の組合わせを含んでいる請求項１に記載の方法。
【請求項３】
上記記憶媒体は、ＣＤ−ＲＯＭである請求項１に記載の方法。
【請求項４】
上記記憶媒体は、ＰＣＭＣＩＡカードである請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願に対する参照）
本願は、1996年10月25日提出の係属米国出願第 08/740,298 号 " INTERFACE LAYER FOR NAVIGATION SYSTEM "に関連する。
【０００２】
本発明は物理的媒体上に地理的情報を格納するシステム及び方法に関し、より詳しく述べれば、コンピュータをベースとするナビゲーションシステムにおいて使用するために物理的記憶媒体上に地理的データを供給するシステム及び方法に関する。
【背景技術】
【０００３】
陸上で使用するコンピュータをベースとするナビゲーションシステムは、さまざまな形状で使用できるようになってきており、種々の有用な機能を提供している。ナビゲーションシステムの１つの型の例は、（１）１つまたはそれ以上の地理的エリアまたは領域の詳細なデータセット、（２）ナビゲーションアプリケーションプログラム、（３）マイクロプロセッサ及びメモリのような適切なコンピュータハードウェア、及びオプションとして（４）測位（ポジションニング）システムを使用している。ナビゲーションシステムの詳細な地理的データセット部分は、１つまたはそれ以上の詳細な、編成されたデータファイルまたはデータベースの形状である。詳細な地理的データセットは、１つまたはそれ以上の特定の地理的領域エリア内の、または該領域エリアに関連する道路の位置及び交差点に関する情報を含むことができ、また一方通行道路及び回転禁止、並びに街路番地、代替ルート、ホテル、レストラン、博物（美術）館、スタジアム、オフィス、自動車ディーラー、自動車修理業等の属性に関する情報も含むことができる。
【０００４】
測位システムは、ある地理的領域エリア内の物理的位置を決定する、または近似する幾つかの公知の技術の何れかを使用することができる。例えば、測位システムは、当分野において公知のＧＰＳ型システム（グローバルポジションニングシステム）、「推測（デッドリコンニング）」型システム、またはこれらの、または他のシステムの組合せを使用することができる。
ナビゲーションシステムのナビゲーション応用プログラム部分は、詳細な地理的データセット及び（使用されている場合には）測位システムを使用するソフトウェアプログラムである。ナビゲーション応用プログラムは、ユーザに、その地域内のユーザの特定位置の図形表示（例えば、「地図」）を提供することができる。更に、ナビゲーション応用プログラムは、ユーザが何処にいようとも、ユーザに、そこから地域内の複数の位置まで特定の指図を与えることもできる。
【０００５】
若干のナビゲーションシステムは、ナビゲーション応用プログラム、地理的データセット、及びオプションとして測位システムを単一のユニットに組合わせている。この単一のユニットシステムは、車両（ビークル）内に設置するか、または個人が携帯することができる。代替として、ナビゲーション応用プログラム及び地理的データセットは、市販のソフトウェア製品、またはユーザが彼等のパーソナルコンピュータ内にロードすることを許可されたソフトウェア製品として提供することができる。パーソナルコンピュータをベースとするシステムはスタンドアロンシステムであることも、または中央、または地域的、または分散システムへの通信リンクを使用することもできる。代替として、ナビゲーションシステムを中央に、または地域的に配置し、多数のユーザが「必要に応じて」、または代替として、ネットワークまたは通信リンクを通してオンラインでアクセスできるようにすることができる。ナビゲーションシステムは、トラック会社、パッケージ配送サービス等のような車両輸送フリートのオペレータによって使用することもできる。ナビゲーションシステムは、交通制御または交通監視に係わるエンティティが使用することもできる。車載ナビゲーションシステムは、無線通信接続を使用することができる。また、ユーザはインターネットのようなオンラインサービス、またはコンピュサーブ、Prodigy 、及びアメリカ・オンラインのようなプライベートダイアルアップサービスを通して中央ナビゲーションシステムにアクセスすることができる。
【０００６】
コンピュータをベースとするナビゲーションシステムは、ユーザに高レベルのナビゲーション支援を提供することを保証している。ナビゲーションシステムは、所望の目的地まで走行するための詳細な指令を与え、それによって走行時間及び費用を低減させることができる。ナビゲーションシステムは、走行者が工事による遅れを回避するのを援助し、所望の目的地まで最も早いルートを見出すような強化されたナビゲーション機能をも提供することができる。ナビゲーションシステムは、実時間交通情報を組み込むのにも使用できる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ナビゲーションシステムに強化された機能を与えようとする際の１つの潜在的な障害は、コンピュータ可読記憶媒体上に効率的な、用途の広い、経済的な、そして柔軟な技法で地理的情報を供給する必要があることである。更に、この地理的情報は、ナビゲーションシステムのナビゲーション応用プログラム部分によるアクセス及び使用が容易な技法で記憶媒体上に保管すべきである。従って、ナビゲーションシステムにおいて使用するために、地理的データを格納している改良されたコンピュータ可読記憶媒体製品を提供することが望ましい。
【課題を解決するための手段】
【０００８】
以上の、及び他の目的を達成するために、そして本発明の目的によれば、物理的記憶媒体上に地理的データを格納するための改良された方法及びシステムが提供される。これらの地理的データは、これらのデータを使用するナビゲーションシステム内の種々のナビゲーション応用機能によるデータの強化された使用及びアクセスを容易にする技法で格納されている。
一つの面によれば、地理的データを、分離したパーセルに分割するパーセル化方法が提供される。パーセル化方法は、指定された最大データ内容よりは少ないが、所望の充填率を有するパーセルを供給する。パーセル化方法は、パーセルのアドレス指定及び識別を容易にする分割配列をも与える。
【０００９】
パーセル化プロセスのさらなる面は、どのような型のどの２つの空間的パーセルの場合も、一方のパーセルが他方のパーセル内に完全に含まれるように、（独立的にパーセル化されたデータセットのような型を含む）全ての空間的パーセルを限定するために、ある共通する境界のセットが使用される。これにより、グローバルｋｄツリーインデックス内に空間的パーセル境界を表すために必要なデータの量が減少する。
別の面によれば、物理的記憶媒体上に格納されている地理的データは、空間的ノーダルエンティティを含んでいる。各空間的ノーダルエンティティは、地理的データ内の選択された複数の正規ノードエンティティを表している。選択された複数の正規ノードエンティティは、ロータリー、クローバの葉型インターチェンジ、及び中央分離帯のあるハイウウェイの交差のような、複数の道路セグメントの複雑な交差に関係しているものとして識別されている。地理的データでは、道路セグメントデータエンティティは、空間的ノードエンティティによって表される正規ノードエンティティにではなく、空間的ノーダルエンティティに関連付けられる。従って、ルート計算プログラムでは、正規ノードエンティティの代わりに、空間的ノーダルエンティティが使用される。空間的ノーダルエンティティは、複数の道路セグメント及び正規ノードエンティティの複雑な交差を、より簡単なデータ表現に簡略化し、それによってルート計算を容易にする。
【００１０】
さらなる面によれば、物理的記憶媒体は、その上に少なくとも１つの正規化された属性アレイを含む地理的データを格納している。正規化された属性アレイは記憶媒体上の分離したテーブルとして供給される。正規化された属性アレイは、地理的データ内の若干の選択された属性の再出現する組合わせを含む。地理的データ内のエンティティレコード内には、選択された属性に対応するデータの代わりにインデックスが含まれる。これらのインデックスを、正規化された属性アレイ内のエントリと呼ぶ。ナビゲーション応用プログラムがデータエンティティにアクセスすると、データエンティティ内のインデックスによって指された正規化された属性アレイ内のエントリが使用されて、インデックスによって指された属性の特定の組合わせを含むデータレコード全体が作成される。正規化された属性アレイ内に地理的データ属性の組合わせを含ませることによって、媒体上の記憶空間を保存することができ、データへのアクセスを改善することができる。
【００１１】
更に別の面によれば、物理的媒体上のデータへのアクセスを容易にするフォーマットでデータを供給するコンパイル方法が提供される。このコンパイル方法によれば、媒体上に格納されるデータファイルはパーセルに編成される。データファイル内のデータレコードは、それらが位置しているパーセルによって識別される。媒体上の全てのデータファイルの配列が決定され、媒体に関係付けられたパーセル識別が各パーセルに割当てられる。データレコード間の相互参照が、割当てられたパーセル識別を含むように更新される。データファイルはパーセルを維持しながら連結され、この連結が媒体上に格納される。
別の面においては、ルート指定のために使用されるデータのような若干の型の地理的データの若干のレイヤ( layer ) 内に集合( aggregated )セグメントデータが含まれている。これらの集合セグメントは、複数の道路セグメントを表すために使用され、集合セグメントの端点の内部の交差に関する充分な情報を含んでおり、ルート計算プログラムがその端点の内部の集合セグメントにアクセスできるようにしている。
【００１２】
更に別の面によれば、道路のセグメントを表すデータエンティティのために形状点が生成される。ナビゲーションシステムにおいて使用するために地理的データを収集する際に、曲がった、即ちカーブした道路のセグメントのための形状点が決定されるので、その道路セグメントに沿う点の位置を正確に決定することができる。道路セグメントが直線の場合には、一般的には形状点は含まれない。ナビゲーションシステムに使用する場合、道路セグメントの長い直線部分には形状点がこのように欠落しているために、地図表示または空間的探索中に、その道路セグメントを特定の場所に関連付けることは困難である。開示するシステムのこの面においては、直線道路セグメントに沿って、またそれぞれの道路セグメントに関連する間隔で形状点データが生成されるので、道路の直線部分に沿う場所内の道路セグメントを探知する手段が提供される。
【実施例】
【００１３】
Ｉ．概要
図１を参照する。図１は、ナビゲーションシステム１０の構成例を示す図である。ナビゲーションシステム１０は、ハードウェアとソフトウェアとの組合せである。一実施例では、ナビゲーションシステム１０は、プロセッサ１２、プロセッサ１２に接続されているドライブ１４、及びナビゲーション応用ソフトウェアプログラム１８を格納するためのＲＯＭのようなメモリ記憶デバイス１６を含んでいる。ナビゲーション応用ソフトウェアプログラム１８は、ナビゲーションシステムを動作させるために、ＲＯＭ  １６からプロセッサ１２に組合わされたメモリ２０内にロードされる。記憶媒体２２は、ドライブ１４内に挿入される。現在の一実施例では、記憶媒体２２はＣＤ−ＲＯＭである。別の代替実施例では、記憶媒体２２はＰＣカード（ＰＣＭＣＩＡカード）であることができ、その場合はドライブ１４はＰＣＭＣＩＡスロットに置換されることになろう。固定ディスク、ハードディスク、ＤＶＤ、並びに近い将来開発されるかも知れない記憶媒体を含む他のいろいろな記憶媒体を使用することができる。記憶媒体２２は、詳細を後述するような地理的データを含んでいる。
【００１４】
ナビゲーションシステム１０は測位システム２４も含むことができる。測位システム２４は、当分野においては公知の、ＧＰＳ型技術、推測型システム、またはこれらのシステムの、または他のシステムの組合せを利用することができる。測位システム２４は、信号２６をプロセッサ１２へ出力する。信号２６は、プロセッサ１２上で走るナビゲーション応用プログラム１８によって使用され、ナビゲーションシステム１０の位置、方向、速度等を決定することができる。ナビゲーションシステム１０は、記憶媒体２２上に格納されている地理的データを、多分測位システム２４からの出力２６と共に使用して、いろいろなナビゲーション応用機能を提供する。これらのナビゲーション応用機能は、ルート計算、地図表示、車両位置定め（例えば、マップマッチング）、運転生成（詳細な指令が、所望の目的地に到達するために供給される）、及び他の機能を含むことができる。これらのナビゲーション応用機能は、ナビゲーション応用ソフトウェア１８の一部であるナビゲーション応用プログラム（即ち、サブプログラム、または機能）によって遂行される。ナビゲーション機能は、ディスプレイ２７、スピーカ２９その他の手段によってユーザ（例えば、車両運転手）に提供される。
【００１５】
図２を参照する。ナビゲーション応用ソフトウェアプログラム１８は、典型的には、別々の機能（または、サブプログラム）２００を含むソフトウェアプログラムである。これらの機能は、例えばルート計算機能２８、地図表示機能３０、及び運転生成機能３２を含む、位置定め機能、目的地解明能力等々を含むものと考えることができる。これらに加えて、または代替として、ナビゲーション応用プログラム１８は、他の機能またはサブプログラム３４を含むことができる。これらのナビゲーション応用サブプログラムは、ナビゲーション応用プログラム１８内の別々の機能、または応用として表されているが、これらの機能は組合せたり、その他で供給することができる。
図２では、記憶媒体２２は、それに格納されている地理的データ４０を有しているように示されている。地理的データ４０は、１つまたはそれ以上のコンピュータ可読データファイル、またはデータベースの形状である。地理的データ４０は、特定の地域内の、またはその地域に関連する道路及び交差点の位置に関する情報を含むことができ、また一方通行及び回転禁止街路のような道路及び交差点の属性に関する情報、並びに、街路番地、代替ルート、ホテル、レストラン、博物（美術）館、スタジアム、オフィス、自動車ディーラー、自動車修理業等に関する他の情報を含むことができる。地域エリアは、シカゴ及びその近郊、ニューヨーク及びその近郊、ロスアンジェルス及びその近郊のような大都市圏、または代替としてカリフォルニアのような州全体、合衆国のような国土全体、またはこれらの組合わせを含むことができる。１つより多くの領域を記憶媒体上に格納することができる。
【００１６】
ナビゲーション応用プログラム１８の種々の機能２８、３０、３２、及び３４は、ナビゲーションシステム１０のユーザに有用なナビゲーション機能を提供するために、記憶媒体２２からの地理的データ４０の部分を使用する。これらの実施例の場合には必要としないが、ナビゲーションシステムは、種々の応用機能２８、３０、３２、及び３４と、地理的データファイル４０との間に位置するインタフェースレイヤ４１を含むことが好ましい。インタフェースレイヤ４１は、応用プログラムが地理的データ４０にアクセスして読み取るのを容易にする。一実施例では、インタフェースレイヤ４１は、ナビゲーション応用機能を地理的データ４０のディテールから分離するソフトウェアライブラリ機能の集まりである。インタフェースレイヤ４１に関しては、本願と同日に提出され、その開示全体が本願に参照として採り入れられている前記系属出願 " INTERFACE LAYER FOR NAVIGATION SYSTEM "に詳細に記述されている。
【００１７】
II．地理的データの型
前述したように、地理的データ４０は、道路、交差点、速度制限、街路名、場所名、回転禁止、街路番地、代替ルート、ホテル、レストラン、美術（博物）館、スタジアム、オフィス、自動車ディーラー、自動車修理業、等々に関する詳細な情報を含んでいる。これらのデータは種々の異なる方法で表すことができる。若干の方法は、所有権を主張できるもの（プロプラエタリ）であることができ、一方他の方法は、産業または業界標準の形状であることができる。
地理的データのために使用される一つのフォーマットはＧＤＦ（地理的データファイル）フォーマットである。他のフォーマットも使用可能であり、この実施例に含まれるものと理解されたい。ＧＤＦ  ３．０フォーマットは 1995 年10月12日付でＣＥＮ（ヨーロッパ標準化委員会）から発行された文書に記載されており、本明細書はその全文を参照として採り入れている。ＧＤＦフォーマットは、ＩＳＯ（国際標準機構）によってヨーロッパ以外でも採用することを検討中である。ＧＤＦフォーマットは、地理的データベースのための交換フォーマットである。ＧＤＦフォーマットは、地理的データセットを別のフォーマットから、または別のフォーマットへ転写するのに適している。地理的データセットをナビゲーションシステム内で使用するためには、地理的データセットをＧＤＦフォーマットからより特殊化されたフォーマットへ変換する必要があるかも知れない。この変換プロセスの詳細に関しては後述する。
【００１８】
実施例を説明する上で、以下の用語を使用する。他の用語も、本明細書の範囲から逸脱することなく使用できることを理解されたい。
実施例の説明に使用されている地理的データセットに関する「特色」、「属性」及び「関係」という語は、上述したＣＥＮ  ＧＤＦ標準に定義されているものである。詳述すれば、「特色」とは実世界対象をデータベース的に表したものであり、「属性」とは他の特色から独立した特色のプロパティであり、そして「関係」とは他の特色を含む特色のプロパティである。他のデータモデルにおいては異なる用語を使用できるが、同じような概念が同じように適用されよう。
地理的データセットでは、「ノード」及び「セグメント」が特色である。
「ノード」は、２つまたはそれ以上の道路の交差を表す点、ある道路の端、または道路属性が変化するような道路に沿う点である。
【００１９】
「セグメント」は、ナビゲート可能な道路のある区分を表している。セグメントは各端にノードを有し、その長さに沿って１つまたはそれ以上の形状点を有することができる。
あるセグメントには、以下の属性が関連付けられている。
（１）「形状点」は、セグメントが曲がっているような、またはセグメントが互いに異なるグレードにおいて交わるようなセグメントに沿う点である。
（２）「ランドマーク」は、あるセグメントと、川または鉄道のような詳しく解明する目的にとって重要と考えられる地図作成上の特色との交差である。
（３）「ランク」は、そのセグメントが現れる最高のルート指定データレイヤを指定し、またセグメントの機能的クラスに対応させることができる。
【００２０】
（４）「速度カテゴリ」は、セグメントを、平均速度に基づいて分類する。
（５）「レーンカテゴリ」は、セグメントを、単一方向に走行するために使用可能なレーンの数に基づいて分類する。
（６）「ルート型」は、例えば、ドイツにおけるオイロペアン、アウトバーン、ブンデスシュトラーセン、ランデスシュトラーセン、またはクライスシュトラーセン、または米国におけるフィーデラル、インターステート、ステート、またはカウンティのようなルートの型を指定する。
（７）「アクセス特性」は、セグメント上の走行を許可されているトラフィックの型上の制限を指定する。
ＰＯＩ（関心点）は、ホテル、レストラン、美術（博物）館等のような特色である。「ファシリティ型」はＰＯＩの属性であり、ホテル、レストラン、美術（博物）館等のようなＰＯＩの機能的カテゴリを識別する。
【００２１】
「地図作成上の点」は、ランドマークのような何等かの点特色を表わす。
「ポリゴン」は、湖のようなある二次元エリアまたは地図作成上の特色の境界である。
「ポリライン」は、ナビゲート不能な、またはナビゲート可能な線形の地図作成上の特色を表している。
「管理エリア」は、市または郡のような行政エンティティの領域である。
「ゾーン」は、近隣地域または自治体として認可されていない村のような、あるエリアに対する非行政名の領域である。
「場所」は、管理エリアまたはゾーンであることができる。
サード・パーティデータ（ＴＰＤ）は、付加的な関心点に関する情報である。
これらの付加的な関心点データは、サード・パーティデータ販売者によって提供することができるか、それ以外にも、それらが地理的データの残余と完全に統合されないような手法で、提供することができる。
【００２２】
上述した情報の型の他にも、記憶媒体上に含まれる付加的な型のデータが存在する。例えば、サウンデックス( soundex ) 型データを含むことができる。この型のデータは、ある要求されたアイテムに似た音声、または類似パターンを有するワードまたはフレーズによって、エンティティの識別を与える。データは、要求されたアイテムに対して、考え得る一致のリストの形状でエンドユーザに戻すことができる。
III．地理的データの編成
再度図２を参照する。地理的データ４０は、種々のナビゲーション応用機能２８、３０、３２、及び３４の性能を助長する、及び／または強化するように編成され、配列されている。地理的データ４０の編成及び配列の若干の面は、使用される特定の物理的媒体に特定であるが、他の面は、特定の記憶媒体から独立し、無関係なナビゲーション機能の性能を助長し、強化する。ナビゲーション機能を助長する地理的データの編成の面は、地理的データのパーセル化、及びパーセル識別と、地理的データ内に正規化された属性、スーパーノード、及びセグメント集合体を含ませることとを含む。これらの各面の詳細に関しては後述する。
【００２３】
各ナビゲーション機能応用、またはサブプログラム２８、３０、３２、及び３４は、典型的に、全地理的データ４０の特定サブセットだけを使用する。サブセットがオーバラップする場合には、同一データを利用する異なる応用は、異なる経路によって、異なる順序でそれらにアクセスするか、または異なる性能要求を有することができる。
図３を参照する。好ましい実施例では、地理的データ４０は、地理的データの分離したグループまたはサブセットとして編成されている。各グループは、データの異なる部分または集まりを含んでいる。地理的データの各グループ内に含まれるデータの部分は、データの特定の集まりを使用するナビゲーション応用機能に関係している。一般的に言えば、各機能２８、３０、３２、及び３４は地理的データセット全体のそれ自体のサブセットまたは集まりを有している。このようなデータの配列は、地理的データの集まり全体の部分に、ある重複をもたらし得る。しかしながら、もし各ナビゲーション応用機能が地理的データ全体のあるサブセットだけにアクセスすれば、またはもしそのサブセットが地理的データセット全体の中の特定の応用が必要とする部分だけを含んでいれば、一般的にナビゲーション応用機能はより高速に走るようになる。一般的に言えば、１つの機能に使用され、関連付けられたデータの部分は、他の機能に関連付けられ、使用されるデータの部分とは別々にグループ化される。更に、一般的に言えば、機能の各々によって使用されるデータは、一緒に物理的に近接して集められる。同時に、データのサブセットは、総合パーセル化境界及び他の編成的構造を共用することができ、この構造の類似性が応用プログラムの効率及び性能をさらに強化することができる。
【００２４】
詳細を後述するように、各機能によって使用される地理的データの各グループはパーセルに編成される。パーセルは、類似した、または規則的にサイズ決めされた（等しい必要はない）量にデータを集めた、またはグループ化したものである。記憶媒体上に格納する場合、パーセルは記憶媒体上に存在する物理的な独特な位置に対応させることができる。一実施例では、パーセルは、記憶媒体から検索されるデータの最小量も表す。
パーセルのサイズ（即ち、パーセル内に含まれるデータの最大量）は、幾つかの要因を考慮して予め定められている。パーセルサイズを決定するために使用される１つの要因は、データを格納する記憶媒体のアクセス特性を含む。これらのアクセス特性は、転送速度及び待ち時間を含む。インデックスされたデータの場合、データの指定されたレコードを探索するために必要なインデックスパーセル検索の平均数と、インデックスパーセルの平均サイズとの間にある平衡が存在する。指定されたデータのレコードのための平均探索時間を最小にするために、単一速度ＣＤ−ＲＯＭ特性は４− 16 セクタ（８− 32 Ｋバイト）の最適パーセルサイズを決定することができ、更にインデックスパーセルは、それがインデックスするパーセルのデータ内容の平均に等しいデータの量を含むべきである。インデックスは、空間データの場合にはｋｄツリーを、また順序付けられた（例えば、英数字順）データの場合には平衡多方向探索樹（Ｂツリー）を含むことができる。
【００２５】
パーセルのサイズを決定するために使用される別の要因は、地理的データの空間型（例えば、ルート指定及び地図作成）に関する。これらの型のデータの場合、パーセル境界を説明するために特別な型のデータのような特別な考察が必要であるかも知れない。従って、小さめのパーセルデータ内容は、大きめの合計特別パーセル境界データを暗示し、それによってより大きい合計データベースデータ内容及び潜在的に低効率のアクセスがもたらされる。
パーセルのサイズを決定するために使用される別の要因は、そのデータを使用するナビゲーションシステムのメモリ制約を含む。多くのナビゲーションシステムは制限されたメモリ、またはあるサイズ決めされたデータのブロックと共に使用するように最適化されたメモリを有している。従って、これらの型のハードウェア要求も、可能な範囲内で、データパーセルのサイズを決定するものと考えられる。
【００２６】
地理的データ４０は、ルート計算機能２８によって使用されるデータのパーセルの１つの分離したグループ４８と、地図作成機能（即ち、地図表示）３０のためのデータのパーセルの別の分離したグループ５０と、運転機能３２のためのデータのパーセルの更に別の分離したグループ５２と、地図作成相互参照のためのデータの別のグループ５３と、関心点地理的データのためのデータのパーセルの更に別の分離したグループ５４とを含んでいる。一実施例では、これらのパーセルの全てのグループは１つのファイル内にあるが、これらは１より多くのファイルであることができる。
各機能毎の地理的データのサブセットは相互参照され（そして、ポインタを含むことができ）、機能間で共同使用することが可能である。図３に示す物理的編成は使用される媒体の型には無関係であり、図３に示す編成の実施はＣＤ−ＲＯＭディスク、ＰＣカード等のような種々の異なる型の物理的媒体に関連付けられた特定の特色を考慮していることは明白である。
【００２７】
地理的データの若干のサブセットは、空間的に編成されている。空間的に編成されたデータは、それらのデータが、地理的に近接する特色がデータセット４０内に、及び媒体２２上で物理的に近接した位置にあることを表すように配列されている。若干のナビゲーション応用機能の場合、それらの関連データの空間的編成は、密に関係している地理的データがより迅速に媒体から読み出され、該機能が使用することができるメモリ内に関係ある地理的データがロードされるようにする。この種の編成は、記憶媒体２２へのアクセスを最小にし、若干のナビゲーション機能の動作をスピードアップさせる。
空間的に編成された地理的データのサブセットは、ルート計算データ４８、地図作成データ（地図表示）５０、地図作成相互参照データ５３、関心点データ５４を含む。他のデータは、非空間的に編成され、アクセスされる。非空間的に編成されたデータ６０は、ナビゲート可能な特色６２（例えば、街路名）、場所６３（例えば、管理エリア及びゾーン）、郵便コード６４、道路の交差／ジャンクション６５、及び地図作成上の特色６６を含む。サード・パーティデータ６１は、空間的に編成されない。サード・パーティデータ６１の各レコードは、関心点（ＰＯＩ）データ５４内のレコードに関連付けられる。関心点データ５４は空間的に編成されるから、サード・パーティデータ６１への空間的アクセスは、それらに関連付けられた関心点データ５４を介して達成することができる。
【００２８】
好ましい実施例では、データのルート計算部分４８及びデータの地図作成部分５０はレイヤ化されている。各データ型内の各レイヤは同一地理領域をカバーするように広がっている。しかしながら、データ型のより高いレイヤは、より低いレイヤよりも少ないディテールを含んでいる。例えば、データのルート計算部分のレイヤ０は一般に最も詳細なものであり、地理的データセット４０が対応している地理領域内の全ての街路及び交差点を含んでいよう。ルート計算部分のレイヤ１は、一般的にその地理領域内のより低速な、そして重要性がより低い街路を省略し、レイヤ２は一般的に次により低速な、そして重要性がより低い街路を省略する、等々である。（所与のレイヤ内にこれらの街路が含まれているかどうかはランク属性によって限定することができる。例えば、街路型（例えば、露地またはインターステート高速自動車道）に依存して、街路セグメントにランクＩ乃至 IV が与えられているものとすれば、レイヤ０は全てのランクＩ乃至 IV を含むように限定することができ、レイヤ１はランクII−IVだけを含む（ランクＩを省略する）ように限定することができる、等々である。）ルート計算機能は、より高いレイヤから可能な広がりまでを使用したレイヤの組合わせを使用することによって遂行することができる。
【００２９】
また地図表示機能３０は、迅速なパンニング及びズーミングを容易にするように編成された地理的データのサブセット５０を有していると便利である。例えば、もし地理的データのサブセット５０がレイヤに編成され、ディテール度の高いものが低いレイヤに、ディテール度が低いものが高いレイヤに存在するようになっていれば、ズーミングをより効率的に行うことができる。更に、地図表示機能３０によって使用される地理的データのサブセット５０において、もし各データパーセルが同一レイヤのインデックスの他に、その上のレイヤ及び下のレイヤの隣接パーセルのインデックスを含んでいれば、パンニング及びズーミングは、分離したインデックスファイルを更にルックアップすることなく地図表示機能３０によってより効率的に行うことができる。パーセルの、同一のレイヤ及び他のレイヤの近隣の内部インデックスは、もしパーセル境界が後述するパーセル化方法を使用して確立されていれば、効率的に生成することができる。
【００３０】
ルート計算機能２８は、地理的データ４０の部分４８が２点間の最適ルートの探索を容易にするように編成されていれば便利である。また、できる限り多くの地理的探索データがメモリ２０内に保持されている場合、特にＣＤ−ＲＯＭを用いた場合のようにもし記憶媒体へのアクセスが比較的遅い場合には、ルート計算機能２８をより迅速に走らせることができる。従って、ルート計算機能２８によって使用される地理的データ４０のサブセット４８は、各パーセルが（固定バッファサイズ、または制限されたバッファサイズの数の制約の中で）最大可能な物理的地理的エリアをカバーするように編成することが好ましい。この目的は、ルート計算データパーセル内のデータまたは情報を、ルート計算に特に関連する情報だけに制限し、関連のない情報をできる限り少なくすることによって達成することができる。例えば、ルート計算のために使用される地理的データのサブセット４８においては、街路名は省くことができる。
【００３１】
エンドユーザに対するルート指定のための指図を生成するために、街路名のような情報は代わりに運転機能によって使用される。従って、運転機能３２のために使用される街路名及び付加的な情報は、分離した空間的及び非空間的データパーセル５２内に含まれる。しかしながら、街路名情報はルート計算サブセット４８または地図作成サブセット５０内には含まれない。
関心点地理的データ５４は空間的にパーセル化され、画面上への関心点の表示、及び主として車両またはルートに「近い」関心点を入手するためにユーザによる関心点のポイント・アンド・クリック選択の両方を容易にするために、地図作成データ５０と相互配置することができる。
前述したように、全ての文脈において、全ての型の地図データへのアクセスを容易にするために、異なる型の空間的に編成されたパーセル（ルート計算、地図作成、運転、関心点、及び地図作成相互参照）の各々は、同一地理エリアをカバーする他の型のパーセルを指すポインタを含んでいる。例えば、ルート計算パーセルは、同じ広がりの、またはオーバラップするカバレッジエリアに関連するデータを有する地図作成パーセルを指すポインタを含んでいる。更に、重要なキーまたは属性上の複数のインデックス、または相互参照により、種々の経路によって地図データにアクセスすることができる。例えば、関心点は、その「名前」によって、その「ファシリティの型」（関心点の型）によって、またはそのチェーンのＩＤ（例えば、「マクドナルド」レストラン）によって、探知することができる。この探知は、ある市内にある、または現位置からある指定された距離以内にあることによって更に限定( qualify ) することができる。目的地は、交差道路、街路番地、または関心点名として指定することができ、多分特定の市または町、または他の地理的な標識内にあるものとして限定される。
【００３２】
IV．物理的記憶フォーマット
Ａ．パーセル化
１．概要
前述したように、記憶媒体２２上のデータ４０はパーセル化されている。即ち殆どの、または全てのデータは、より小さい部分に編成され、各パーセルは複数のデータレコード及び他の情報を含む。パーセルは、記憶媒体上にデータを格納するための物理的な小分け（サブディビジョン）にも相関している。一般に、ある地理領域全体に関連するデータの完全な集まりは、メモリ内に一時にロードするには大き過ぎる。従って、データはより小さいグループまたはパーセルに編成されるのである。若干の地図データの場合には、パーセルは空間的に編成されている。即ち、各パーセルは物理的エリアの地理的矩形エリア（方形エリアを含む）で取り囲まれた地理的データを表している。
【００３３】
データをパーセルにグループ化するのは、幾つかの目的がある。第１に、ナビゲーション機能の何れか１つがユーザのために動作を遂行するために必要とする殆どの、または全てのデータを１つのパーセル、またはできる限り少ないパーセル内にグループ化することを意図して、データはパーセルに編成される。もしユーザが彼の位置の地図を表示することを欲するのであれば、ユーザの直近の地理的エリアに関係するデータを、全ての必要データにアクセスしてメモリ内に迅速にロードできるように編成することが好ましいであろう。従って、ユーザのエリアの地図を表示するために必要な全てのデータを含むパーセルを、１つの、またはできる限り少ないパーセル内に一緒にグループ化すべきである。一般的に言えば、より大きいパーセルの方がベターである。各パーセルは、その地理的エリアに関係する多くの動作を処理できるように、できる限り多くの地理的エリアを理想的にカバーすべきである。データをパーセル化する別の理由は、ナビゲーションシステム応用によって容易に使用できるようなサイズを各パーセルが有するように、データをパーセルにグループ化することである。これらのサイズはハードウェア及びメモリ制約に関係し、例えば２Ｋバイト、４Ｋバイト、８Ｋバイト、または 16 Ｋバイトの規則的な倍数であることができる。
【００３４】
好ましい実施例では、全ての型のデータのためのパーセルは、同一の方法を使用して構成されている。前述したように、各パーセルができる限り多くのデータを含んでいることが望ましい。例えば、もし地理的エリア全体を取り囲んでいる矩形を単に何回も二分して行き、それにより形成される全ての小さい矩形が所望の最大量のデータ以上のものを含まないようになるまで繰り返せば、これらの矩形から形成される多くのパーセル内のデータの量は、完全充実よりもかなり少なくなるであろう。これは、典型的には地理的エリアが地理的データを均一な密度で有していないことが原因である。パーセルのかなりな部分が実質的に完全充実よりも少ないと、空間が浪費され、性能が貧弱になる。以下に説明するパーセル化方法は、比較的充実したパーセルの数を最大にする。また以下に説明するパーセル化方法は、パーセルの識別及び検索を迅速処理するパーセル化配列をも提供する。
【００３５】
前述したように、各ナビゲーション機能には、その機能のために適する全地理的データセットのサブセットが設けられている。従って、全地理的データセットのあるバージョンから開始して、各分離した機能毎に全データセットの分離したサブセットが生成される。例えば、特定の地理領域のための全ての地理的データを含む全地理的データから、ルート計算データサブセット、地理作成特色データサブセット、運転データサブセット、関心点データサブセット、地図作成特色データサブセット、ナビゲート可能な特色データサブセット、交差道路／ジャンクションデータサブセット、サード・パーティデータサブセット、場所データサブセット、郵便ゾーンデータサブセット、等々を含む地理的データの分離したサブセットが生成される。分離したサブセットを生成した後に、またはその一部として、各サブセットのパーセル化が遂行される。サブセットはどのような順序でパーセル化することもできるが、好ましい実施例では、空間的に編成されたデータ（即ち、ルート指定、地図作成、運転等々）の場合、一般的に最稠密データであると予測されるデータの型、即ち、最大数のパーセルに分割されることが予測されるデータのサブセットが最初にパーセル化され、グローバルｋｄツリーが生成される。例えば、ルート計算データが最稠密であり得るから、パーセル化は地理的データのサブセット上で最初に遂行される。
【００３６】
２．最初のパーセル境界の決定
初期パーセル境界はどの位置においても確立することは可能であるが、好ましい実施例においては、パーセル境界の初期配置は以下のようにして選択される。先ず地理的データを調べ、それらの外側地理的境界を決定する。図４Ａを参照する。図４Ａには、地理的エリア１００の地図が示されている。記憶媒体２２上に格納される地理的データ４０は、地理的エリア１００に関係がある。地理的エリア１００の地図上には、複数の点１０１が示されている。前述したように、パーセル化は、例えばルート計算サブセットのような、データのサブセットの１つから先ず遂行される。データのルート計算サブセット内には、ノードを識別する個々のデータレコードが含まれている。ノードレコードは、地理的エリア１００内の特定の物理的位置に対応している。各ノードは、特定の緯度、経度、及び相対高度（「Ｚレベル」）を有している。データのルート計算サブセットは、セグメントを識別するデータレコードも含んでいる。セグメントレコードは、その地理的エリア内の道路の部分のようなある長さを有する物理的特色に対応している。各セグメントレコードは、セグメントの端点に位置するノードを参照し、それらのノードを識別することができる。更に、セグメントは、そのセグメント内の曲がり（または、物理的位置）を識別するために使用される１つまたはそれ以上の形状点を、その端点間に含むことができる。従って全ての空間的に関係を有している地理的データは、地理的エリア１００内に独自の緯度及び経度を有するノードによって識別することができる。図４Ａに示す点１０１は、地理的データセット内のノードに対応する。各点１０１は、地理的エリア１００の地図上で、地理的データセットのルート計算サブセット内においてそれが対応しているノードの緯度及び経度に対応する位置に示されている。図４Ａは、説明の目的だけのために使用され、好ましい実施例では、説明中のパーセル化手順は、適切なデータのサブセット上で動作するコンピュータプログラムによって遂行される。
【００３７】
引き続き図４Ａを参照する。最も外側のノードが識別される。例えば、ノード１０２Ｗは最大の経度を有する地理的データセットのルート計算部分内のノードであり、ノード１０２Ｅは最小経度を有する地理的データセットのルート計算部分内のノードであり、ノード１０２Ｓは最小緯度を有する地理的データセットのルート計算部分内のノードであり、ノード１０２Ｎは最大緯度を有する地理的データセットのルート計算部分内のノードである。ノード１０２Ｎ、１０２Ｓ、１０２Ｅ、及び１０２Ｗは、図４Ｂに破線で表されている最小境界画定用矩形（“ＭＢＲ”）を限定する。最小境界画定用矩形は、全ての地理的データを含む最小の矩形である。
好ましい実施例では、緯度及び経度の寸法は、度の 1/100,000に等しいナビゲーション寸法単位で表される。度と同じように、ナビゲーション単位は絶対であることも、または地球の表面上の座標位置を参照することもできる。更に、好ましい実施例では、寸法単位は整数である。従って、測度の最小単位は、度の 1/100,000を表す「１」である。代替実施例では、寸法を表すための単位として度以外の値を選択することができ、測度単位はそれが小数を含むように選択することができる。
【００３８】
好ましい実施例では、最小境界画定用矩形はその東及び北縁において、ノード１０２Ｎ及び１０２Ｅによって限定された縁から付加的な１寸法単位だけ外向きに調整される。例えば、もし１０２Ｎが 282の緯度を有していれば、最小境界画定用矩形の北側は緯度 283、即ち 282＋１にされる。同様に、もし１０２Ｅの経度が 90,000 であれば、最小境界画定用矩形の東側は  経度 90,001 にされる。これを図４Ｃに示す。
このような調整された最小境界画定用矩形によって限定されたデータセットは、最小境界画定用矩形内に取り囲まれる全てのデータ、並びに最小境界画定用矩形の西及び南縁（北及び東縁は除く）と交差するどのデータをも含むものと考えることができる。このような調整された最小境界画定用矩形を使用することの利点は、各最小境界画定用矩形が結果として独特なデータセットを取り囲むようになることである。換言すれば、あるノードは１つの最小境界画定用矩形だけの中に見出される。これは、たとえ任意の最小境界画定用矩形の東縁の緯度（１０２Ｅの経度＋１に等しい）が、直ぐ東の最小境界画定用矩形の西縁の緯度と同一であっても言えることである。
【００３９】
前者の最小境界画定用矩形だけが、このような共有されている縁によって取り囲まれたデータを含み（しかし、共用されている縁と交差する縁は含まない）、一方後者の最小境界画定用矩形は共用されている縁と交差する縁を含むことができる。
好ましい実施例では、最小境界画定用矩形１０６を取り囲む最小囲み分割可能タイル（または、「ダイ・タイル」( di-tile ) ）が決定される。分割可能タイル（ダイ・タイル）は、緯度Ｍ×２I ナビゲーション単位と（Ｍ＋１）×２I ナビゲーション単位との間、及び経度Ｎ×２J ナビゲーション単位と（Ｎ＋１）×２J ナビゲーション単位との間の全ての地図データを含む寸法２I ×２J の面積のことである。ここに、Ｍ及びＮは整数であり、Ｉ及びＪは正の整数である。
【００４０】
最小囲みダイ・タイルを決定する一方法は、受入れ可能な間隔を限定し、そして最小囲みダイ・タイルがその側として受入れ可能な間隔だけを有することを要求することである。受入れ可能な間隔は、緯度及び経度の両方向に限定される。（任意の開始位置を選択することができるが、好ましい実施例では、受入れ可能な間隔は普通の緯度及び経度開始位置、即ち赤道及びグリニッチに準拠する。）受入れ可能な間隔は、２の累乗だけを、例えば、０−１、２−３、４−７、８−15、16−23、24−31、・・・、０−15、16−31、32−47、48−63、・・・、等々（ナビゲーション単位で）を含むように限定することができる。
図４Ｄに、受入れ可能な間隔の例が示されている。図４Ｄにおいて、「０」はグリニッチまたは赤道の何れかを表している。単位１、２、・・・等は、度の 1/100,000に等しいナビゲーション単位を表すことができる。従ってグリニッチ（経度０）から開始して、受入れ可能な間隔は、図中の線によって表させるものの何れかを含む。例えば、もし最小境界画定用矩形の西座標が５であり、東座標が 12 であれば、受入れ可能な間隔は間隔Ｉ（０，16）になろう。北・南座標に関しても同じような受入れ可能な間隔のセットが赤道に対して限定される。
【００４１】
前述したように、好ましい実施例では、最小囲み矩形のための最小囲みダイ・タイルの側は、受入れ可能な間隔であることが要求される。従って、この実施例では、初期ダイ・タイルの東・西座標は２I 単位の倍数であり、初期ダイ・タイルの北・南座標は２J である。（Ｉ及びＪは整数であるから、例えば、初期ダイ・タイルの東・西長さは１、２、４、８、16、32、64、128 、256 、512 、または 1024 等の単位の寸法を有し、また初期ダイ・タイルの北・南長さは１、２、４、８、16、32、64、128 、256 、512 、または 1024 等の単位の寸法を有することができる。）
このようにして最小囲みダイ・タイルを形成することの１つの長所は、異なる地図カバレッジエリアのためのダイ・タイルをより容易に併合できることである（何故ならば、異なる地図カバレッジエリアのための境界が、同一のアプローチを使用して確立されているからである。）
負及び正のナビゲーション単位の両方を含む地図カバレッジエリア（即ち、最小境界画定用矩形が、赤道及びグリニッチの何れかを含んでいるカバレッジエリア）においては、付加的な受入れ可能な間隔が要求され、従って２17の倍数である座標から始まる長さ２18の間隔、２18の倍数である座標から始まる長さ２19の間隔等々が受入れ可能であり、これらの間隔の若干は経度０°（グリニッチ）及び緯度０°（赤道）にオーバラップする。
【００４２】
３．初期パーセルサイズの確立
最小囲みダイ・タイルを確立してしまうと、データをパーセル化することができる。一代替実施例では、パーセル化プロセスは、以下に説明する「規則的分割手順」を最小囲みダイ・タイル１０７に適用することによって開始することができる。しかしながら、好ましい実施例では、最小囲みダイ・タイルから形成された矩形の規則的な格子内へのデータの編成に基づき、先ずカバレッジエリア内のデータが調べられる。これは、最小囲みダイ・タイルを二分し、次いでそれらから形成された矩形（方形）を二分することを、矩形の規則的な格子が得られるまで複数回繰り返すことと同意義である。この格子内の各矩形を、「初期タイル」と呼ぶことができる。初期タイルサイズは、地理的データセット内の何等かの型のデータの何等かのレイヤの１つのパーセルによって表すことができる最大地理的エリアであると決定される。一実施例では、国全体の全ての領域のために１つの固定された初期タイルサイズが限定されるので、領域はより容易に併合することができる。一つの好ましい実施例においては、各初期タイルは、２17ナビゲーション単位×２17ナビゲーション単位の固定された所定のサイズである。
【００４３】
これらの初期タイルを、図４Ｂに格子１０８として示してある。代替としてこれらの初期タイルは、地理的エリア１００を、格子１０８と同一のパターンを有する規則的な格子に単に重ねることによって限定することができる。何れの場合も格子１０８は初期矩形タイル（例えば、タイル１１０a,b 、タイル１１０a+1,b 、・・・、タイル１１０m,n ）で作られている。
最小境界画定用矩形１０６（即ち、最小経度（ノード１０２Ｅに対応）、最小緯度（ノード１０２Ｓに対応）、最大緯度（ノード１０２Ｎに対応）、及び最大経度（ノード１０２Ｗに対応））を取り囲むために、格子１０８の境界の配置が決定される。格子境界は、図４Ｂに示すように格子を領域１００上に被せた時に、全ての空間的データが取り囲まれ、初期タイルが上述したようなサイズを有するように限定される。好ましい実施例では、格子境界の配置は、上述した受入れ可能な間隔にも準拠する。
【００４４】
例
格子境界を決定するための上述した手順を実施する例は以下のようである。
１）最小緯度（ＭｉｎＬａｔ）、最大緯度（ＭａｘＬａｔ）、最小経度（ＭｉｎＬｏｎｇ）、及び最大経度（ＭａｘＬｏｎｇ）を、最小境界矩形１０６の最小及び最大緯度及び経度にセットすることによって開始する。これらの値は度の 1/100,000の単位であるから、これらは経度で−18000000乃至 18000000 の範囲であり、緯度で−9000000 乃至 9000000の範囲である。
２）１の増分においてＫ＝25の場合、
（ａ）ＭａｘＬａｔを２K で除算する。
（ｂ）ＭａｘＬａｔに２K を乗算する。ＭａｘＬａｔは整数であるから、これら２つの演算は、ＭａｘＬａｔのＫ低位バイナリディジットを切り捨てる効果を有している。実際には、これは、除算及び乗算よりも効率的な、ＭａｘＬａｔを右シフト及び左シフトさせることによって行われる。
【００４５】
（ｃ）もし最小境界画定用矩形の最大緯度がＭａｘＬａｔよりも大きければ、ＭａｘＬａｔに２K を加算する。
（ｄ）ＭｉｎＬａｔを２K で除算する。
（ｅ）ＭｉｎＬａｔに２K を乗算する。
（ｆ）もし最小境界画定用矩形の最小緯度がＭｉｎＬａｔよりも小さければ、ＭｉｎＬａｔから２K を減算する。
（ｇ）もしＭｉｎＬａｔ＋２K がＭａｘＬａｔに等しければ、停止する。そうでなければ、次に高いＫの値に関して段階（ａ）から繰り返す。
３）ＭｉｎＬｏｎｇ及びＭａｘＬｏｎｇについて段階２の動作を遂行する。
これによって、ＭｉｎＬａｔ、ＭａｘＬａｔＭｉｎＬｏｎｇ、及びＭａｘＬｏｎｇが、格子１０８の境界、即ち最小境界画定用矩形１０６を囲むダイ・タイルを限定する。
【００４６】
４．パーセルの確立
前述したように、データをパーセル化する目的は、所定の最大パーセル量にできる限り近い、しかしそれを超えない量のデータを、各パーセルに含ませることである。例えば、所定の最大量は、16Ｋバイトである。
図４Ｂの格子１０８内の初期タイルの各々は、その中のデータの量が単一のパーセル内にフィットするか否かを見るために「試行パーセル」として調べられる。もし「試行パーセル」内の（インデックス情報及びヘッダのような）何等かのパーセルオーバヘッドを含むデータが（もし使用されていれば、データ圧縮を考慮して）最大パーセル量より小さいか、または等しければ、パーセルはその初期タイルで構成され、その特定データの型について、その初期タイルの分割は遂行されない。一方、所定の最大パーセル量を超えるデータの量を含むどの「試行パーセル」も、その「試行パーセル」内のデータが所望の最大量を超えた量の関数として、以下の２つの手順の一方を使用して分割される。（好ましい実施例では、以下に説明する推定技術を使用して試行パーセルを決定する。推定技術は、あるパーセルを形成するために必要な全ての段階を実際に遂行せずに、パーセルオーバヘッド及び圧縮を考慮する。）
「規則的な分割手順」：もし「試行パーセル」内のデータの量が最大パーセル量を所定の倍数だけ超えれば、その「試行パーセル」を２つの矩形に分割する。好ましい実施例では、「試行パーセル」を２つの矩形に分割するのは、先ずその試行パーセルのための最小囲みダイ・タイルを決定し（初期タイルに関して上述したようにして）、囲みダイ・タイルを二分し、次いでダイ・タイルを二分した線が試行パーセルと交差する場所で「試行パーセル」を分割することによって遂行される。代替として、「試行パーセル」はそれ自体簡単に二等分することができる。（囲みダイ・タイルの二分が常に試行パーセルを二等分するとは限らず、離心した位置において試行パーセルを分割することがあり得ることに注目されたい。本説明では、このような試行パーセルの分割でも「二分」という。）何れの場合も、ダイ・タイルの二分線は、経度または緯度方向の何れかにある。好ましい実施例では、ダイ・タイルを経度分割または緯度分割のどちらで分割しようとも、得られた２つの試行パーセルの矩形の最大縦横比（≧１）は最小になる。これらの得られた各矩形は、上述したように「試行パーセル」として調べられ、もしその中に含まれるデータが最大パーセル量の所定の倍数を超えれば二分される。これらの各副矩形も上述したように「試行パーセル」として調べられ、このプロセスは矩形または副矩形内のデータの量が最大パーセル量の所定の倍数より少なくなるまで続行される。ある実施例では、最大パーセル量は 16 Ｋバイトのデータであると予め定められており、従って、所定の倍数は 3.2である。（代替実施例では、最大量は 16 Ｋよりも大きいか、または小さい、例えば８Ｋまたは 32 Ｋのような別の量、またはこれらよりも大きいか、または小さい量にでも予め定めることができる。）従って、この手順によれば、「試行パーセル」のデータ内容が 51.2 Ｋバイトを超えた場合に「試行パーセル」が二分される。所定の倍数は、各パーセル毎の所望の最大充填率に基づいて選択される。この実施例では、所望の最大充填率は 80 ％である。何れかの試行パーセル内のデータの量が所定の量りも小さければ、試行パーセルのさらなる小分け（サブディビジョン）は、以下の「カストム分割手順」に従う。
【００４７】
「カストム分割手順」：もし何れかの「試行パーセル」内のデータの量が最大パーセル量は超えているが、最大パーセル量の所定の倍数より小さければ（例えば、16Ｋｂ＜ｘ＜51.2Ｋｂ）、以下のカストム分割手順が使用される。この「試行パーセル」のさらなる分割は必ずしも二等分ではなく、むしろ作成されるパーセルの数を最小にさせるように行われる。これは、パーセルを格納するために必要な空間及びパーセル内で浪費される空間の両者を最小にする効果を有する。
例えば、最大パーセルサイズまたは量の 3.6倍に等しいデータを含む試行パーセルが与えられた場合、これらのデータは４つのパーセル内にフィットさせることができる。しかしながら試行パーセルの二分は、それぞれ最大パーセルサイズの 1.2倍と、最大パーセルサイズの 2.4倍の２つの矩形にそれを分割する（もし、各矩形を分割するために二等分を使用すれば、最低５つのパーセルが発生することになる）。従って、この段階における矩形の小分けは、作成されるパーセルの数を最小にするという目的でなされるが、分割線は任意に選択されるのではないという制約を伴っている。より詳しく述べれば、「試行パーセル」が最大パーセルサイズよりは大きいが、その所定の倍数を超えないデータ内容を有している場合には、その「試行パーセル」はその一方の寸法に沿って２-Xの仕切りで分割される。好ましい実施例では、Ｘ＝｛１、２、３、４、５｝である。即ち、試行パーセルは、その幅の1/2 、または 1/4、または 1/3、または 1/16 、または 1/32 の仕切りにおいて分割される。例えば、試行パーセルは、その試行パーセルの幅の 5/8及び 3/8にそれぞれ等しい幅を有する２つの矩形に分割することができる。このカストム分割は、試行パーセルの寸法に直接適用することも、または好ましい実施例では、試行パーセルの最小囲みダイ・タイルの寸法に適用することもできる。後者の場合、試行パーセルは、ダイ・タイル交差の分割線がその試行パーセルと交差する場所において分割される。何れの場合も、分割線は経度方向または緯度方向の何れかである。
【００４８】
候補分割線は、以下のようにして調べられる。第１に、分割は、試行パーセルの経度及び緯度幅の両方に沿う指定された２-Xの各仕切りにおいて行われる。このような各分割の場合、得られた２つの各矩形の縦横比（大きい方の寸法と、小さい方の寸法との比として定義される）が決定され、２つの中の大きい方が識別される。次いで、各候補分割線毎に識別された最大縦横比が比較され、候補分割線が、これらの縦横比の最小から最大まで順序付けられる。順序付けられたリスト内の第１候補線から始めて、候補分割線から生じた矩形が調べられる。試行パーセルを分割するために選択された候補分割線は、その２つの得られた矩形の一方内のデータ内容が最大パーセルサイズよりは大きいが、最大充填率×最大パーセル量の倍数（例えば、２倍）及び最大パーセル量より小さいか、または等しい場合に遭遇するリスト内の最初のものである。例えば、分割線は、得られる矩形の一方の中に最大パーセル量の 1.6乃至 2.0倍の間の量が含まれるように選択される。矩形を１回より多く分割することによって２つのさらなる副矩形が形成され、各副矩形は最大パーセル量の 80 ％（ 0.8）より大きい充填率を有することができる。最大パーセル量の 80 ％乃至 100％の間の充填率を有するこれらの結果的な各副矩形がパーセル内に形成される。もし候補分割線がこの基準に合致しなければ、第１候補分割線（即ち、最大縦横比が最小になるもの）を使用して所与の矩形を分割する。
【００４９】
例
以下に、パーセル化中に、試行パーセルの二分を停止させる時点、及び試行パーセルの経度及び緯度の両方向の幅に沿って 1/32 、1/16、3/32、1/8 、5/32、3/16、7/32、1/4 、9/32、5/16、11/32 、3/8 、13/32 、7/16、15/32 、17/32 、9/16、19/32 、5/8 、21/32 、11/16 、23/32 、3/4 、25/32 、13/16 、27/32 、7/8 、29/32 、15/16 、及び 31/32の候補分割を評価するカストム手順を開始させる時点をどのようにして決定するのかを説明する。
目標パーセル充填率Ｆが選択される。例示の目的で、Ｆを 0.8（ 80 ％）としよう。上述したように、最大パーセルサイズＰも決定される。Ｐはバイトで表され、パーセル内に配置することができる最大データ量である。従って、最適には、サイズがＦ×ＰバイトとＰバイトの範囲内のパーセルを作成することが望ましい。
【００５０】
もしデータサイズＤを有する試行パーセルがＰ＜Ｄ＜1.6 ×Ｐの範囲内にあれば、目標範囲内に入るデータサイズを有するパーセルをそれから作成することは不可能である。もし結果的に得られる一方の矩形のデータサイズが 0.8×Ｐより大きいかまたは等しくなるように試行パーセルを分割すれば、他方の矩形のデータサイズは 0.8×Ｐよりも小さくなるからである。
このプロセスは、以下の受入れ不能なデータサイズのリストを与えるように延長することができる。
受入れ不能データサイズＤ：
０＜Ｄ＜ 0.8×Ｐ
Ｐ＜Ｄ＜ 1.6×Ｐ
２×Ｐ＜Ｄ＜ 2.4×Ｐ
３×Ｐ＜Ｄ＜ 3.2×Ｐ
次のエントリは、
４×Ｐ＜Ｄ＜４×Ｐ
になるから、この点においてリストは停止する。
【００５１】
上記リストから、受入れ可能なデータサイズの相補的なリストを生成することができる。
0.8 ×Ｐ≦Ｄ≦Ｐ
1.6 ×Ｐ≦Ｄ≦２×Ｐ
2.4 ×Ｐ≦Ｄ≦３×Ｐ
3.2 ×Ｐ≦Ｄ
上記リストは、0.8 に等しい充填率Ｆに対応する。他の充填率は、受入れ可能及び受入れ不能なデータサイズの異なるリストを生成する。一般的に言えば、受入れ不能なデータサイズのリストは以下のような形状である。
受入れ不能データサイズＤ：
０＜Ｄ＜Ｆ×Ｐ
Ｐ＜Ｄ＜２×Ｆ×Ｐ
・・・
ｎ×Ｐ＜Ｄ（ｎ＋１）×Ｆ×Ｐ
・・・
空き範囲に到達するまで続く。
【００５２】
以上は、パーセルを形成するためのカストム手順に以下のように使用される。試行パーセル分割から生じた２つの各矩形のデータサイズは、（可能な場合には何時でも）受入れ可能な範囲の１つに入るべきである。実際には、これは矩形内のデータサイズが最高受入れ不能範囲の高い方の端（この例では、3.2 ×Ｐ）よりも幾らか大きく、矩形が上述した二分手順に従って分割できることを意味する。最高受入れ不能範囲の高い方の端に接近すると、カストム分割（即ち、この例では、1/32、1/16、3/32、1/8 等）が考えられるようになる。
上述したようにして候補分割線が調べられ、比較される。そして分割のために選択された分割線は以下の基準に合致する場所である。試行パーセルの２つの各副矩形内に入るデータの量は、それが理論的にはそれ自体を矩形に副分割でき、それらが指定された最小パーセルデータ充填率を平均的に達成するようなサイズである。上述した基準を満たすことができない場合が発生し得る。
【００５３】
データはカストム分割手順で選択された分割線で分割され、作成された２つの各副矩形毎に必要に応じてカストム分割プロセスが繰り返される。上述したように、二分及びカストム分割手順は試行パーセルに直接適用することも、または試行パーセルの最小囲いダイ・タイルに適用することもできるが、後者の方が好ましい。若干の場合には、最小囲いダイ・タイルが試行パーセル境界に正確に等しいことに注目されたい。この最も顕著なものは、初期タイル１０８に関して発生し得る。最小囲いタイルによって分割を限定するユーティリティは、あるタイルは繰り返して均等に半分に分割できるが、一方任意の寸法の試行パーセル矩形はそのようにできないことである。別の利点は、この手順が異なるデータベース間の境界における処理を容易ならしめることである。タイルの側を２-X分割で試行パーセルをカストム分割することは、１からＸまでの二分の数列と同意義である。従って、分割線、従って結果的な副矩形は、最小数のビット（任意矩形を限定するための８または 16 バイトまでとは対照的に、1/32分割毎に５ビット）で表すことができる。
【００５４】
（矩形内に含まれるデータベースの量を調べる際に、「正確に」分割線上に位置するどのデータエンティティも、もしその分割線が北・南線であれば、その線の「右側の」（「東」の）矩形内にそのデータと共に含まれ、もし分割線が東・西線であれば、その線の「上の」（「北」の）データと共に含まれる。）
上述した手順は、格子１０８内の全ての初期タイル１１０（そして、必要な場合、全ての結果的な矩形）に対して遂行される。
５．その後のパーセル化
前述したように、地理的データの各サブセットまたは型は、他の型のサブセットから分離して維持される。例えば、ルート計算データは地図作成データから分離して配置されている。更に、データの単一のサブセット内では、データは更にレイヤに分離することができる。
【００５５】
１つの型の地理的データの１つのレイヤ（即ち、ルート計算データのレイヤ０のような、最稠密であると推定されるレイヤ及び型）に対して上述したパーセル化手順が遂行された後に、同一データ型の他のレイヤ、及び他のデータ型のパーセル化が遂行される。これらの他のパーセル化（即ち、同一データ型の他のレイヤ、及び他のデータ型のパーセル化）は、初期パーセル化に使用されたものと正確に同一の初期タイリング格子１０８から開始される。異なるデータ型のその後の各パーセル化の各再帰レベルにおいて、ある矩形の小分けが必要になった場合には、それは、初期データ型のパーセル化中（もしくは何等かの先行パーセル化中）に使用されたものと正確に同一の分割線において（二分によって達成されていようと、またはカストム分割によって達成されていようと）遂行することが要求される。
【００５６】
高レイヤは低密度であるから、各パーセルが最大パーセルサイズ内にあるようにするために、データを多くのパーセル内に分割する必要はないかも知れない。従って、特定のデータ型の高レベルにおいては少ないパーセルが存在する可能性があり、若干のパーセルは低レイヤにおけるよりも大きい地理的エリアを表すことができる。しかしながら、前述したように、高レベルのデータの分割は、低レベルにおいてなされたものと同一分割線に沿ってなされ、高レベルにおける分割はデータの量が最大パーセルサイズよりも大きくなくなるまで、必要な限り進行する。
その後のパーセル化中、分割プロセスを従来のパーセル化におけるよりも更に進める必要があるかも知れない。これは、もし初期タイル、またはそれらから形成された矩形の何れかの中に位置するその後のデータ型のデータが、先行パーセル化中に使用されたデータ型よりも稠密であれば発生する。この場合、各タイルが最大パーセル量よりも少ないその後のデータ型を含むように、始めのパーセル化が初期タイルを充分に小さい副矩形に分割しなかったのかも知れない。この場合、分割線は、それが初期パーセル化手順である場合のように決定される。この要求は、異なるレイヤまたは型のパーセルＡ及びＢに関して、パーセルＡによってカバーされる地理的エリアが、パーセルＢによってカバーされる地理的エリア内に含まれているか、又はパーセルＢによってカバーされる地理的エリアが、パーセルＡによってカバーされる地理的エリア内に含まれているかの何れかの場合には常にそのようであることを意味する。
【００５７】
換言すれば、データ密度が最大であると予測されるデータの型（例えば、ルート計算データのレイヤ０）をパーセル化した後に、同一データ型の他のレイヤ（例えば、ルート計算データのレイヤ１）、または他のデータ型（例えば地図作成データのレイヤ０）が、以下のようにして初期パーセル化と並列にパーセル化される。
１）初期矩形へのデータの小分けが、正確に同一タイルのセットから開始される。
２）特定の矩形内のデータが最大パーセルサイズを超えると、従って小分けしなければならない場合には、２つの手順の一方が使用される。即ち、（１）もしその矩形が初期パーセル化において、または何れかの先行パーセル化において小分けされていれば、先行パーセル化において使用されたものと正確に同一の分割線が使用される。（２）もしその矩形が先に分割されていなければ、初期パーセル化に関して説明したようにしてその分割線が決定される。
【００５８】
長所
上述したパーセル化方法及び編成は、最適に充填されていないパーセルが作成されることを最小にし、それによって記憶媒体の格納効率を最大にすることを含む幾つかの長所を有している。これにより、１つまたは幾つかの固定されたサイズのバッファが与えられた場合、一時に、より多くのデータをメモリバッファ内に保持することができる。更に、本パーセル化方法及び編成によって同一型及びレイヤの隣接するパーセル間をナビゲートするのを容易にしながら、各パーセル内のこれらの隣接パーセル境界画定用矩形を含ませる必要も、または分離した空間的インデックスを読み出す必要もなくしている。パーセル境界を限定する方法が規則正しいので、近隣パーセルの最小にサイズ決めされた空間インデックスを各パーセル内に担持させることができる。更に、異なるレイヤ及び異なるパーセル型が並列にパーセル化されるので、この方法は、同一の、またはオーバラップしている地理的エリアをカバーする異なる型の、または異なるレイヤにおけるパーセル間をナビゲートするのを容易にする。更に、パネルを分割するためにダイ・タイルを使用することによって、境を接してはいるが分離して格納されている地理的データベース領域間をナビゲートするのが容易になる。
【００５９】
６．パーセルの順序付け
全てのデータ型のための全てのパーセルが確立されてしまうと、パーセルは、パーセルのディスクへの最終的な書き込みを容易にするために配置される。ＣＤ−ＲＯＭディスクのような記憶デバイスからデバイスを読み出す際のシーク時間を最小にするために、パーセルの各空間セットは、グローバルｋｄツリーインデックスの場合には、深さ優先順に（即ち、各分割線毎に、分割の座標よりも小さい座標を有する副矩形内に含まれる全てのパーセルが、分割の座標よりも大きい座標を有する副矩形内に含まれる全てのパーセルに先行するように）編成されるので、地理的に隣接するパーセルはディスク上で互いに密接する見込みがより大きくなる。特定の型のディスクにアクセスするために使用される見込みが最も大きいリニアまたは空間インデックスは、そのデータの次に、及びそれに先行して配置される。「グローバルｋｄツリー」は全ての空間パーセル型をインデックスするから、それは媒体上の種々の位置に（即ち、空間パーセルの各データセットの近くに、そしてそれに先行して）冗長的に複製され得る。
【００６０】
パーセルは、ほぼペアノ( Peano ) キー順にディスク上に格納される。パーセルの実際の順序付けは、パーセル化中、初期ダイ・タイルが副矩形に、そして最終的にパーセルに再帰的にスプリットされるにつれて生成される二次元ｋｄツリー（データベース領域全体を表す）に基づいている。パーセルの順序付けは、このｋｄツリーの深さ優先走査( traversal ) によって生成される。領域の初期囲いダイ・タイルを選択し、パーセル化中に各分割線を選択する方法（前述）のために、この順序付けは、各矩形の分割線がその矩形を正確に二等分するペアノキー順序付けと同一であるが、分割線が二等分線ではない場合には、ｋｄツリーの最低レベルにおいてペアノキー順序付けとは僅かに異なる。この順序付けは、正確なペアノキー順序付けと同様に、地理的に隣接しているパーセルをディスク上で互いに近接させて格納する見込みがより大きい。この順序付けが正確なペアノキー順序付けに優る点は、それがパーセル化プロセスによって自動的に生成され、従って付加的な分類を必要としないことである。二次元ｋｄツリーからなるインデックス（詳細は後述する）を使用して、ルート計算パーセルに空間的にアクセスすることができる（二次元は、パーセル生成中に使用される分割線の緯度及び経度である）。この型のインデックシングは、ルート案内応用が最初に車両の現在位置に対応する地図ディスクを探知する時のように、任意位置の初期探知のために有用である。しかしながら、開始位置が分かれば、近くの地図ディスクに関する全ての情報は、パーセル内部のインデックス内に見出すことができる。
【００６１】
７．インデックスツリーパーセル化及び物理的記憶フォーマット
種々のインデックスツリーが、物理的記憶フォーマットに使用される。これらは、各ループ計算、地図作成、及び関心点パーセル内に格納されている２ｄ「隣接パーセルｋｄツリー」を含む。ルート計算及び地図作成ディスクパーセルは、２ｄ「内部ｋｄツリー」も含んでいる。
種々のグローバルインデックスツリー（データベース領域毎に）も使用される。一般的に言えば、これらの各ツリーは、単一のインデックスパーセル内にフィットすることはできない。インデックスパーセルは、完全な、または部分的なツリー（グローバルツリー、またはサブツリー）を含むことができるか、または１つより多くの完全ツリー（グローバルツリーのサブツリー）を格納することができる。理論的に考察すると、探索時間を最小にするためには、インデックスパーセルのサイズは、それらがインデックスするレコードパーセルの（平均）サイズに等しくすべきであることを暗示している。
【００６２】
グローバルツリーのパーセル化は以下のように進行する。ノードは、第１位の下に格納される（探索時間を平衡させるために）。もしあるパーセルがその中に別のノードを格納することができない程充満していれば、新しいパーセルが作成されて未格納ノードが新しいパーセルのための根として選択され、第１位の下に再帰的に格納される。インデックスパーセルは、もしこれらの根における完全サブツリーがそのパーセル内にフィットする場合に限って１つより多くの根を含むことができる。即ち、もし完全サブツリーがあるインデックスパーセル内にパーセル化されていれば、完全サブツリーがそのパーセル内にフィットする場合に限って別の最高レベル未格納ノードをそのインデックスパーセル内の別の根として格納することができる。これにより、不要なクロスパーセルインデックス探索が防がれる。
【００６３】
これらの根は、各インデックスパーセル内で、０から開始される順番に（ツリー識別子によって）番号付けされる。従って、あるノードに対するパーセル間参照は、パーセルＩＤ（マイナス領域指定子）＋ツリーＩＤによる。あるノードに対するパーセル内参照は、バイトオフセットによる（「隣接パーセルｋｄツリー」及び「内部ｋｄツリー」を用いる場合のように）。インデックスツリーは、インデックスパーセル内に圧縮解除されて格納される。
インデックスパーセルは以下の構造を有している。パーセル内の第１のデータは、IdxPclHdr t ヘッダ（バイトパックされた）である。ヘッダに続くのは、ツリーＩＤによってインデックスされるパーセル内の根に対するオフセットアレイである。
【００６４】
Ushort 16     root offset[];      /* root offset array  */
オフセットアレイに続くのはツリーである。
８．グローバル空間的パーセル化ツリー
各領域毎に、２Ｄ  ｋｄ・グローバル空間的パーセル化ツリーが存在する。このツリーの構造は、全ての空間的にパーセル化されたデータ型（他のデータ型のための先行パーセル化と並列にパーセル化が進行されるので、限定されている）のための全てのパーセル化をリファインメントしたパーセル化に対応している。このツリーは、少なくとも２つの異なる種類の探索のために使用される。第１にこのツリーは、どのパーセルが、緯度及び経度座標が与えられた点を含んでいるのかを決定するために使用される。別の型の探索は、矩形の境界座標が与えられた矩形と交差する１つまたはそれ以上のパーセルを決定するために使用される。これらの両方の型の探索は、質問、地図表示、ルート計算、等々を含む種々の機能に使用することができる。このｋｄツリーの中のノードは、もしそのノードの右（左）の子に対応する矩形がそのデータパーセルのための境界画定用矩形であれば、その右（左）記述子識別子対リストを介して、データパーセルを参照する。それは、ある型（例えば、ルート計算のレイヤ１）のデータパーセルを参照することができ、また別の型（例えば、地理作成のレイヤ０）のデータパーセルを参照する子孫ノードを有することもできる。
【００６５】
各「隣接パーセルｋｄツリー」は、グローバルツリーのサブツリー（外部から領域パーセルを表すノードのためのものを除く）を表している。グローバルツリー内のノードは、異なるインデックスパーセル内に格納されている子を有することができ、一方「隣接ｋｄツリー」内の対応するノード及び対応する子は、同一パーセル内に格納されることに注目されたい。グローバルツリーのためのデータ構造は、「隣接パーセルｋｄツリー」の構造に類似しているが、以下のような相違がある。第１に、制御ビット８−９または制御ビット 10 −11の値０１は、枝刈りされた子が異なるインデックスパーセル内に根として現れることを意味している。この場合、子のオフセットは４バイトであり、オフセット（その根を格納しているインデックスパーセルと子との間、グローバルツリー内の全てのインデックスパーセルは同一のサイズと冗長情報とを有し、それによってランタイムにこのパーセルＩＤオフセットから子パーセルのＩＤを構成することができる）の最初の２バイト、及びオフセットの第２の２バイトがツリーＩＤを与える。更に、同一サイズを有するために（枝刈りされていない子のための４バイトオフセットが最も右を、即ち最下位バイトを使用する）、左及び右の両方の子オフセットが必要である。第２に、インデックスパーセル内のパーセルＩＤに対するさらなる参照が存在しないから、記述子リストは、パーセルＩＤのためのテーブルインデックスを格納していないが、その代わりに直接的にパーセルＩＤを格納している。しかしながら、これらのパーセルＩＤは必ずしも記憶装置内で整列させる必要はない。最後に、子オフセットが２バイトの単位であるから、記述子識別子対リスト全体は２バイトの倍数に丸められる。
【００６６】
９．ルート計算パーセル内部構造
データレコード内の情報は、圧縮された形状で担持することができる。圧縮解除した後もまだデータは、パックされた形状にあって、パディングバイトも、そして一般的には未使用フィールドも存在しない。従って、各圧縮解除されたデータレコードは、可変長文字配列の形状にある。この圧縮解除されてはいるが、パックされているデータが、インタフェースレイヤ４１（図２の）によってナビゲーション応用プログラムソフトウェアに渡される論理レコードを作成する源である。
殆どのレコード（特に、底レイヤより上のノード及びセグメントを除外した）について、２K レコードの各ブロックの始まりを探知するために、オフセットのテーブルが使用される。これは、調べなければならない可変長レコードの数を減少させる（所望のレコードを順次に探索する場合に比して）。
【００６７】
パーセルヘッダ内のデータは、パーセル内をナビゲートするためにナビゲーション応用プログラム（詳しく言えば、インタフェースレイヤ４１）によって使用される。従って、これらのデータは、直ちに使用できる形状にある。例えば、パーセルヘッダ内のデータは、適用できる場合には、データレコードのように文字配列フィールド内の代わりに、２バイト、または４バイトの符号付きまたは符号の付かない整数として限定されているフィールド内に格納される。
底レイヤのパーセル内では、ノードレコードは緯度及び経度に基づいてペアノキー順に格納され、セグメントレコードはセグメントの「左」の緯度及び経度に基づいてペアノキー順に格納される。このペアノ順序付けは、所定サイズの格子のレベルまで続き、格子内では緯度・経度順序付けが続く。次いで、底レイヤパーセル内のエンティティＩＤが連続的にパーセル内で割当てられる。高めのレイヤにおいては、セグメント及びノードレコードは、単にエンティティ識別子順にパーセル内に格納される。
【００６８】
例えば、セグメントに関連する「トラック進入禁止」のような制限、または付加的な属性に関する情報を格納するために、条件レコードが使用される。日付・時間レコードは、例えば「 4:00 ＰＭから 6:00 まで左転回禁止」のような条件が有効であることを指示する条件に関連する情報を含む。条件及び日付・時間レコードは、主要セグメントの左ノードのペアノキーに基づいて、ペアノキー順に格納される。ペアノキー順にレコードを格納すると、空間的に近接しているエンティティがパーセル内の互いに近いレコードによって表されることが多いので、パーセル内のレコードを探索するのに消費される時間が短縮される。
１０．地図作成、関心点、及び運転パーセル内部構造
以下に注記するものを除いて、地図作成、関心点、及び運転パーセルは、ルート指定パーセルと同一の、または類似の内部構造を有している。地図作成及び関心点データは、各レイヤ内に交互配置される。これは、地図作成データ及び関連関心点データが、一緒にアクセスされることが多いという例外に基づいている。交互配置は、高いＣＤ−ＲＯＭの回転速度においてより有用になる。それは、高速においては所望のデータに到達するまでの回転遅延が、非交互配置の場合に読み出しヘッドをデータに到達させるように移動させるのに要する時間に比して比例的に短いのからである。交互配置されていないデータに到達するためにヘッドが移動しなければならない距離（及び、それに要する時間）はデータボリュームのある関数として増加するので、これは特に、データのボリュームが増加すると然りである。
【００６９】
ルート計算及び運転データは、たとえデータが同じようにパーセル化され、若干の機能のために一緒に使用されようとも、交互配置する必要はない。その理由は、ルート計算プロセスの速度を増加させることが可能であるからである。運転データ及びルート計算データを交互配置すると、ルート計算データへのアクセスをスローダウンさせることになりかねないので、ある程度この目的が無効になってしまう。
Ｂ．冗長データ−隣接パーセル情報
各パーセル内には、そのパーセルの地理的に隣接するパーセル（同一の型で、同一のレイヤのパーセル）か、または同一の地理的エリアにオーバラップするパーセル（異なる型の、または異なるレイヤのパーセル）の何れかの、若干の他の関心パーセルに関する情報が格納されている。特定の型のパーセル内では、若干の、しかし全てではない他の型のパーセルが関心事である。例えば、ルート計算パーセル内ではオーバラップしている運転パーセルが参照されるが、オーバラップしている関心点パーセルは参照されない。全ての関心パーセルは、一緒に単一ｋｄツリー構造内に格納される。この構造は、各パーセル毎の暗示境界画定用矩形情報を含む。上述したパーセル化計画は、数ビット（５ビット／分割）でエンコードすることができるパーセル境界を作成するので、暗示なのである。各エントリ（即ち、各内部ノード、またはｋｄツリー内の葉）も、そのエントリにおける分割線によって限定された副矩形に対応するパーセルのパーセル識別子をも含んでいる。
【００７０】
図５Ａに示す例は、図を簡略化する目的で１つの型のパーセル（例えば、ルート計算パーセル）だけ、及び４つのレイヤだけを含んでいる。図５Ａの例は、パーセルＡ１のための親、近隣、及び子パーセル情報を示している。
図５Ｂ及び５Ｃは、ｋｄツリー内のあるエントリの構造を示しており、あるパーセルを取り巻く地理的エリアを記述している。一般的に言えば、ある矩形内の各分割は、２バイト、またはそれ以上のバイト（２バイトの制御情報、及び左及び右の子へのオフセットを表す０−４バイト（８または 16 ビット／オフセット））のｋｄツリーエントリを用いて記述される。切断は、矩形の最小囲いタイルの何れかの 1/32 分割において行うことができ、従って制御情報の５ビットが、親矩形を左及び右副矩形に切断した線の位置に専用される。ｋｄツリー（内部、または葉）ノードがあるパーセルに対応する場合には、パーセルの型及びレイヤ、及び他の情報を含むパーセル記述子（１バイト）がｋｄツリー内に存在する。パーセル記述子に続くのは、識別子テーブル内への１バイト、または３バイトの何れかのインデックスであり、殆どの場合は１バイトで充分であるが、テーブル内に 254パーセルＩＤより多くが存在する場合にはインデックスが拡張されることが予測される。パーセル識別子テーブルは、４バイトエントリを含み、１バイト領域指定子は含まれていない。領域指定子が、パーセル識別子テーブルを含むパーセルのそれとは異なる場合には、テーブル内の４バイトパーセル識別子の最上位ビットは１にセットされ、全パーセル識別子が外部パーセル識別子の分離したテーブル内でルックアップされることを指示する。
【００７１】
例
図５Ｄ及び５Ｅには、ｋｄツリーテーブルの構造及びパーセル識別子テーブルの例が示してある。簡略化のために、この例は単一のパーセル型及び単一のレイヤを含んでいるに過ぎない。もし複数のパーセル型及びレイヤがこのｋｄツリー内に含まれていれば、ｋｄツリー内のどの（内部、または葉）ノードも、複数のパーセル識別子に対応させることができる。これは、所与のｋｄツリーエントリには単一より多くの左パーセル記述子及び右パーセル記述子が後続することを意味している。この例では、ｋｄツリー及びパーセルＩＤテーブルは共に、全てのオフセット及びインデックスを１バイト内に含むことができるように充分に小さい。
【００７２】
Ｃ．圧縮
再度図１及び２を参照する。一実施例では、パーセルは、それらがディスク２２から読み出された後のメモリ２０内では圧縮された形状に維持され、パーセル内のエンティティは、それらがナビゲーション応用機能２８、３０、３２、及び３４によって要求された時には圧縮解除される。一実施例では、パーセルは、図２に関連して説明したインタフェースレイヤ４１内ではそれらの圧縮された形状で維持される。これにより、メモリの使用が減少する。もし完全に圧縮解除されたパーセルをメモリキャッシュ内に保持すれば、特に圧縮解除されたパーセルレコードの長さが変化するから、より多くのキャッシュメモリを必要としよう。例えば、ルート計算機能２８は、パーセルがディスクから読み出される度に、パーセル内のレコードの極く一部だけにアクセスすることが多い。従って、このアプローチを使用すると、圧縮解除のための処理時間が短縮される。圧縮されたレコードは、通常は長さが可変であるから、たとえ圧縮解除されたレコードが固定長であるとしても、圧縮されたディスク内の任意のレコードを探知するために、以下のアプローチを使用することができる。
【００７３】
位置合わせ考察
圧縮されたデータレコード、並びに圧縮解除された直後のデータレコードが存在する中間（パックされた）形状は、文字配列である（即ち、バイナリバイトアレイであり、ＡＳＣＩＩ文字配列ではない）。従って、位置合わせの考察は行わない。パーセルを記述するために、及びその中をナビゲートするために使用される各パーセルのヘッダ部分内のデータは、最も便宜的にＣ言語倍長整数、短整数、構造またはユニオンの形状で格納されることが多い。これらのデータ型のための倍長及び位置合わせは、プラットフォームが異なれば変化し得る。地理的データ４０は種々のプラットフォーム上で使用するように設計されているから、位置合わせ及び長さのための協約を定義することが適切である。これらの協約を地図データ（例えば、ＣＤ−ＲＯＭディスク）を含む媒体上のデータに適用し、論理レコードフォーマットは、インタフェースレイヤソフトウェア４１が実行するハードウェアプラットフォームのための位置合わせ及び長さ規則を省略する。上述した中間（パックされた）形状は、それがナビゲーション応用の全体的な独立成分にアクセス可能であるので、全ての物理的記憶フォーマット内で同一であるべきである。
【００７４】
以下の協約が地図データパーセルヘッダ内のデータ型のために使用される。

データ型     位置合わせ     長さ  
短整数                ２バイト境界            ２バイト
倍長整数              ４バイト境界            ４バイト
構造／ユニオン        ４バイト境界            ４バイト倍数
地図データ内のバイトは「ビッグ・エンディアン」形状（最上位ビット優先）であり、地図データ内の短整数及び倍長整数は共に「ビッグ・エンディアン」形状（最上位ビット優先）である。
Ｄ．エンティティ識別子を介してのパーセル内レコードアクセス
パーセル内で特定の型の各レコードが、独特なエンティティ識別子を有している場合、以下に説明するこのようなレコードを探知する２つの方法の一方を使用することができる。第１の方法は、所与の型のレコードに、エンティティ識別子がパーセル内で連続的に割当てられている時に、レコードを探知するために使用される。例えば、パーセル内の第１のレコードはエンティティ識別子０を有し、第２のレコードはエンティティ識別子１を有する等であり、間隙は設けられていない。第２の方法は、間隙は存在するが、それでもレコードはエンティティ識別子による順番に格納されているような、レコードを探知するために使用される。この第２の方法は、セグメントレコード及び底レイヤより上のルート計算パーセル内のノードレコードにアクセスするために使用され、一方第１の方法は全てのパーセル内の他の殆どのレコード型にアクセスするために使用される。
【００７５】
「方法  １」
レコードにアクセスするこの方法は、エンティティ識別子がパーセル内で連続的に割当てられているレコードを探知するために使用される。
（１）パーセルヘッダは、パーセル内のエンティティ型に関する以下の情報を含んでいる。
「オフセット」：  パーセルの始まりからデータまでのオフセット。
「カウント」：  レコードカウント。
「ブロック数」( Numblks ) ：  圧縮されたレコードのブロックの数。
「ブロックカウント」( Blkcnt )：  ブロック当たりの圧縮されたレコードの数（指数の形状で担持される、ここにｋは２k レコードを暗示している）。
【００７６】
それらの識別子はパーセル内で連続的であるが、０から始まっていないエンティティ型の場合、パーセル内の第１のエンティティ識別子が担持される。これは底レイヤノード及びルート計算パーセル内のセグメントレコードに適用される。
（２）「ブロック数」のテーブル＋１のテーブルのエントリ（各々 16 ビット）を指すオフセット。ここにテーブルエントリＮは「ブロックカウント」レコードを指し、その最初は（Ｎ−１）×「ブロックカウント」に等しいエンティティＩＤを有するレコードである。
（３）各レコードブロックの第１バイトが、そのブロック内の第１データレコードまでのオフセットである「タイプ１可変長符号なし値」の始まりである。このフィールドに続くのは、「タイプ１可変長符号なし値」より２k 多いフィールドであり、それらの各々はブロック内の圧縮されたレコードの長さである。これらの長さフィールドを使用することにより、以下の例のように、あるブロック内のレコードを通して迅速にナビゲートすることが可能になる。
【００７７】
「例」
ブロックは各々 32 レコードからなり、ブロック内の各レコードの長さは１バイトによって表されるように充分に小さい。ブロックの第１バイトは、ブロックの始まりからそのブロック内の最初の圧縮されたデータレコードまでのオフセットである値 33 を含む１バイトのフィールドを含む。ブロック内の第２バイトは、ブロック内の第１の圧縮されたレコードを含む。第３バイトは、ブロック内の第２の圧縮されたレコードを含む、等々である。ブロック内の第 33 バイトは、ブロック内の第 32 の圧縮されたレコードの長さを含んでいる。ブロック内の第７のレコードの始まりを見出すために、ブロックの始まりのアドレス、ブロックの始まりからブロック内の第１の圧縮されたレコードまでのオフセット、及び最初の６レコードの長さが一緒に追加される。この例では、ブロックの最初の７バイトがブロックのアドレスに追加される。
【００７８】
例えば、あるパーセル内に所与のエンティティ型の 1500 レコードが存在し、「ブロックカウント」が 32 であれば、 16 ビットオフセットの 47 のテーブルが生成され（即ち、「ブロック数」＝ 46 ）、その最初のものはＩＤ  ０−31を有するレコードを含むブロックを指し、２番目のものはＩＤ  32−63を有するレコードを含むブロックを指す等である。従って、ＩＤ 100を有するレコードを見出すためには、100 を 32 で除す（または、100 を５だけ右シフトさせる）。これにより３が求められ、これがレコード 100を含むブロックの（０をベースとする）インデックスである。異なるエンティティ型の場合、「ブロック数」の最良値は、レコードサイズ、レコードカウント、圧縮によって節約された空間のパーセント、または他の要因によって影響を受ける可能性があり、全てのパーセル内で同一である必要はない。
【００７９】
「方法  ２」
レコードへアクセスするこの方法は、独特なエンティティ識別子によって順番に格納されているが、エンティティ識別子が一般に０から始まっていない、そしてパーセル内で連続的に（間隙なしに）割当てられていないレコードを探知するために使用される。
（１）パーセルヘッダは、パーセル内のエンティティ型に関する以下の情報を含む。
「オフセット」：  パーセルの始まりからデータまでのオフォセット。
「カウント」：  レコードカウント。
（２）「オフセット」は「カウント」のテーブル＋１のテーブルのエントリ（各々 16 ビット＋ 24 ビット）を指す。各エントリの 24 ビットはレコードのエンティティ識別子であり、エントリの残りの 16 ビットはパーセルの始まりから、テーブルエントリのエンティティ識別子に対応する「圧縮された」レコードまでのオフセットである。最後のテーブルエントリはレコードを指さず、最後のレコードに続く最初のバイトを指す。
（３）圧縮されたレコードの長さはそのテーブルエントリ内のオフセットと、次に続くテーブルエントリ内のオフセット（そのオフセットの高位ビットは１に等しく「ない」）との間の差に等しい。その高位ビットが１に等しいオフセットを有するテーブルエントリは、あるレコードを指さない特別なエントリである。
【００８０】
圧縮解除されたレコードは、可変長でパックされた形状である。このパックされたレコードのサイズは、以下のようにして最小にすることができる。（１）これはＣ構造ではなくバイトアレイの形状であろうから、このフォーマット内にパディングバイトが存在することはあり得ない。（２）制限された数のビットを詰めた若干のフィールドは、１バイト内に一緒に組合わせることができる。（３）最後に、街路名のような文字列データは、普通のテキスト向き圧縮方法を使用してデータフィールドレベルにおいて圧縮することができる。
レコードの論理フォーマット（インタフェースレイヤ４１から応用ソフトウェアプログラム２８、３０、３２、及び３４へ戻されるフォーマット）は上述した圧縮解除され、パックされたレコードから作成される。
【００８１】
Ｅ．スーパーノード
一実施例では、地理的データのルート計算サブセット４８（図３の）と共に、以下の手順を使用する。
地理的データのルート計算サブセットは、ノード、条件、及びセグメントのための特色エンティティを含む。ノード特色は、ノードエンティティの形状である。若干のノードエンティティは、セグメントの端点に関する位置情報（即ち、緯度及び経度）を格納するために使用される。（セグメントの端点以外の位置情報に関係を有するノードエンティティも存在し得る。）各ノードに関係を有する位置情報は、経度、緯度、及び相対高度の表現で格納される。このノードエンティティは、ノードに関する付加的な情報を提供する属性を含むこともできる。
【００８２】
前述したように、データのルート計算サブセットのために使用されるパーセル化方法は、同時にメモリ内に保持することができる関連ルート計算情報の量を最大にするので、ルート計算中の時間を消費するメモリ動作を最小にする。この実施例のこの面によれば、ルート計算データセット内に単一の圧縮した( collapsed ) ノード（「スーパーノード」と呼ぶ）を含ませることによって、ルート計算機能２８（図２）をスピードアップさせることができる。これらの各圧縮したノード、即ちスーパーノードは、複数の近接して離間した、または関係を有する正規ノード及びセグメントを表す。複数の正規ノードを表すためにスーパーノードを使用する場合には、そのスーパーノードによって表される複数の正規ノードの何れかに関連があるセグメントは、正規ノードにではなく、そのスーパーノードに関連付けられる。そこで、ルート計算応用プログラムがルートを計算するために何れかのセグメントにアクセスする場合には、複数の正規ノードの代わりに、スーパーノードが使用される。若干の複雑な交差点を圧縮した交差点に置換することによって、ルート計算応用プログラムがこれらの交差点を通ってナビゲートするのに必要な時間及びデータが減少する。
【００８３】
例えば、図６Ａはロータリー６０８のある地図である。ルート計算データセット内に、セグメント６１２、６１４、６１６、及び６１８、及びノード６２２、６２４、６２８、及び６３２が形成される。この実施例によれば、ロータリー６０８を形成しているノード及びセグメントは、図６Ｂにスーパーノード６４０によって示されている単一のスーパーノードエンティティに圧縮される。スーパーノードデータエンティティ６４０は、ルート計算データセットのコンパイル中に自動的に生成される。セグメント６１１、６１３、６１５、及び６１７のためのセグメントレコードは、それらが、それぞれ実際のノード６２２、６２４、６２８、及び６３２の代わりに、スーパーノード６４０に接続されることを指示する。セグメント６１１、６１３、６１５、及び６１７のジオメトリは、図６Ｂのスーパーノード表現では異なって現れているが、セグメント長を含む全てのセグメントの属性は、交差点を完全に表現したものと同一に維持されている。
【００８４】
スーパーノードの目的は、ルート計算のスピードアップを援助することができるように、道路網の表現を簡易化することである。例えば、スーパーノード表現を用いない場合には、もしルート計算プログラム２８がノード６２６からノード６３０までのロータリー６０８を通るルートを計算するものとすれば、ノード６２６からノード６２４まで、ノード６２４からノード６２８まで、そしてノード６２８からノード６３０まで走行する処理をしなければならない。スーパーノード表現を用いると、ルート計算プログラムはノード６２６からノード６４０までとノード６４０からノード６３０までの走行を処理するだけでよい。
好ましい実施例では、たとえルート計算データセットの所与のレベルにスーパーノードを使用したとしても、そのレベルのデータセットはスーパーノードによって表される複数の正規ノードも含んでいる。これにより、もし必要ならば、これらの正規ノードに関連を有するどの情報へも、ナビゲーション応用プログラムがアクセスできるようにされたままである。例えば、計算されたルートの地図を表示するためには、全ての道路セグメントを示すことができるようにスーパーノードによって表される正規ノードを入手する必要がある。これは、各スーパーノードがその構成ノードへ戻る参照を供給するので決定することができる。
【００８５】
２、３のセグメント、または行き止まりの簡単な交差点の場合には、これらの比較的簡単な型のノードを表すためにスーパーノードを使用しても殆ど利益は得られないからスーパーノードは使用されず、その代わりにルート計算データセットは正規ノードを含む。
正確な位置は不要であるから、スーパーノードには、それが表すノードのグループのほぼ中心に地理的位置が与えられる。スーパーノード及びそれが表すノードは、スーパーノードによって表される正規ノードが同一パーセル内に一緒に配置されるように、パーセル化される時にユニットとして処理される。
データのルート計算サブセットまたはデータの地図作成サブセットのように、データがレイヤに編成される時、スーパーノードを形成する底レイヤのどの正規ノードも底レイヤより上のレイヤにおいては省かれる（即ち、スーパーノードは、少なくとも底レイヤの直上のレイヤ内には含まれるが、それらに従属する正規ノードは含まれない）ことに注目されたい。またスーパーノードは、どのレイヤにおいても限定することができる。
【００８６】
ナビゲーション応用のルート計算プログラム内の機能呼出しは、スーパーノードを正規ノード、及びそれが表しているセグメントに戻すように翻訳するために使用することができる。別の機能呼出しを使用して、スーパーノードに接続されている１つのセグメントから別のスーパーノードに到達するために走行すべきスーパーノードの内側のセグメントの順序付けられたリストを検索することができる。一実施例では、上述した機能呼出しは、ナビゲーション応用のルート計算機能２８内にではなく、図２のインタフェースレイヤ４１内に含ませることができる。
機能呼出しを使用して、スーパーノードの相対走行費用（または、「インピーダンス」）を求めることができる。スーパーノードの（または、正規ノードの）相対費用は、そのノードを横切って走行するのにどれ程多くの時間がかかるかを表している。スーパーノードの相対走行費用は、スーパーノードエントリの属性として含むことができ、または、好ましくは、スーパーノードの走行費用は、そのスーパーノードに接続されている１つのセグメントから別のセグメントに到達するために走行すべきスーパーノードの内側のセグメントの走行の長さ及び／または速度に基づくこともできる。図６Ａ及び１４の例では、セグメント６１１からセグメント６１５に到達するための相対走行費用は、セグメント６１２及び６１４の長さ、並びにセグメント６１１からセグメント６１５まで走行するのに必要な２つの右転回に基づいている。一実施例では、上述した機能呼出しは、図２のインタフェースレイヤ４１内に、またはナビゲーション応用のルート計算機能２８内に含ませることができる。
【００８７】
スーパーノードは何れかの交差点を表すのに使用され、特に２つより多い道路を含む複雑な交差点を表すのに有用である。例えば、スーパーノード表現６４２を中央分離帯付きハイウェイ６４４（図６Ｃ及び６Ｄに示す）のために使用することができ、スーパーノード表現６４８をクローバ型インターチェンジ６５０（図６Ｅ及び６Ｆに示す）のために使用することができる。
一実施例では、幾つかの正規ノードの代表としてスーパーノードを含ませる時点の決定は、上述したようにコンパイル時に行われる。一実施例では、スーパーノードは、所定の規則のセットに基づいてコンパイラ内で自動的に生成される。例えば、候補スーパーノードが確立され、それが所定の条件のセットに適合するか否かが調べられる。例えば、中央分離帯付きハイウェイのスーパーノードを形成する場合、ルート指定データが調べられて２つの多様にディジタル化された道路が交差する全ての場合を見出す。（多様にディジタル化された道路とは、各方向における交通を表すために分離したセグメントが使用されるような道路のことである。）これらの多様にディジタル化された道路の交差点を調べて、その交差点に正確に４つの内部ノードが存在するか否か、その交差点の内部に正確に４つのセグメントが存在するか否か、及び各内部セグメントが内部ノードによって２つの、そして２つだけの他の内部セグメントに接続されているか否かを決定する。もしこれらの条件の全てに合致すれば、スーパーノードエンティティが形成され、ルート指定データのレイヤ内に格納される。
【００８８】
同様に、スーパーノードはロータリーに関しても自動的に生成される。ロータリーを形成する場合の規則は、そのロータリー内にどれ程多くの内部ノード及びセグメントが含まれているかについての制限は含まない。候補スーパーノードを形成するために使用されるノード及びセグメントは、それらがロータリーの一部であることを指示する表示特性を有するものである。（ＧＤＦデータは、この型の情報を、セグメント及びノードと共に含むことができる。）候補スーパーノードが形成されると、ロータリーに関連していると識別されたセグメント及びノードを使用してスーパーノードが生成される。
Ｆ．正規化属性
記憶媒体上に格納されている地理的データを使用する若干のナビゲーション応用の動作をスピードアップする一方法は、記憶媒体上に格納されているデータの量を減少させ、それによって情報により早くアクセスできるようにすることである。ナビゲーション応用の動作をスピードアップする別の方法は、頻繁に使用されるデータをメモリ内に格納しておくことである。アクセスをスピードアップさせるこれらの両方法は、若干の地理的データを正規化された属性アレイ（後述）と共に記憶媒体上に格納することによって、及び若干の、または全ての正規化された属性アレイをメモリ内に読み込むことによって、使用することができる。
【００８９】
例えば、地理的データセット内のセグメントデータエンティティは、地理的領域内の全ての道路の各セグメントを識別する情報を含んでいる。これらの各セグメントデータエンティティは、そのセグメントの特性に関する属性情報を含む。例えば、地理的データセット内の各セグメントエンティティは、セグメントＩＤフィールドと、セグメントの位置、セグメントのランク、ルートの型、レーンカテゴリ（即ち、レーンの数）、速度カテゴリ、速度制限、アクセス特性等々を識別する属性とを有している。
この実施例では、各セグメント毎のデータレコード内のこれらの各属性フィールド毎に分離したエントリを含む代わりに、若干の属性に関して、セグメントレコードはレコードのテーブルを参照する単一のインデックスを含んでいる。このレコードのテーブルは、グローバル正規化された属性アレイとして参照される。これにより、全ての関連属性値の代わりに、単一のインデックスをセグメントレコード内に担持することが可能になる。この正規化された属性アレイを使用することは、属性の特定のグループのための属性値が、互いに完全に独立していないことを認識することに基づいている。例えば、もしセグメントのルート型属性が、そのセグメントが大都市間ハイウェイであることを指示していれば、通常はそのセグメントのための速度カテゴリ属性は、そのセグメントが高速カテゴリであることを指示しよう。実際の分離した個々の属性エントリの代わりに、これらの組合わせを１つのテーブル内に格納し（「正規化された属性アレイ」と呼ぶ）、インデックスをセグメントエンティティレコード内のテーブル内に格納することによってディスク記憶空間が節約され、地理的データセット内に見出されるこれらの属性の若干のグループの実際の異なる組合わせの数が充分に小さくなることが分かった。
【００９０】
好ましい実施例では、正規化された属性アレイは、データの特定のセット内の特定のエンティティのための属性の最も一般的な組合わせを含んでいる。一実施例では、グローバル正規化されたアレイは、256 の最も一般的な属性組合わせを含んでいる。地理的領域が異なれば、これらの属性の組合わせも異なり得る。
図７Ａは、記憶媒体上に格納された、図３に示した異なるデータの型、またはサブセットを含む地理的データ４０の表現である。これらのデータの型、またはサブセットは、ルート計算データ４８、地図作成データ５０、運転データ５２、及び関心点データ５４を含む。地理的データ４０のこれらの異なる各サブセットはパーセルに編成され、これらの各サブセットは所定の構造を有するレコードを含んでいる。
【００９１】
図示の実施例では、ルート計算データ４８はセグメント構造８１２を含み、地図作成データ８０６はポリライン構造８１４を含む。これらのデータ構造は、部分的に正規化された属性のアレイから導出される。詳しく述べれば、ルート指定データセグメント構造８１２は、部分的にルート計算の正規化された属性アレイ８１６から導出される。同様に、地図作成データポリライン構造８１４は、部分的に、地図作成の正規化された属性アレイ８１８から導出される。セグメント構造８１２は、データの型のための、速度カテゴリ、レーンカテゴリ、ランク、その他のデータ属性フィールドを含む。これらのデータは関係を有している。より多くのレーンを有する道路の速度制限は高くしてある等である。従って、これらの分離したデータフィールド（及び、それらに含まれているデータ）を、各ルート指定データセグメントレコードから取り除き、それらを正規化されたアレイ８１６に配置することが可能である。同様な関係が、地図作成データポリライン構造内にも見出される。各構造内では、取り除かれた属性の組合わせがインデックスに置換されている。インデックスは、置換された属性の特定の組合わせを含む正規化された属性アレイ内のエントリを指す。
【００９２】
若干の属性がグローバル正規化された属性アレイを指すインデックスによって置換されているような地理的データセットでは、若干のレコードをアレイをインデックスできなくすることが可能である。これらのレコードは、属性の組合わせが一般的ではない、従ってグローバル正規化された属性アレイ内に含まれる属性の特定組合わせの最も一般的な（例えば、256 の最も一般的な）出現によっては表されないようなものを含む。これらのレコードのための属性はグローバル正規化されたアレイ内には含まれていないから、これらのレコードはグローバル正規化された属性アレイを指すインデックスを含まない。この分離したアレイは、ローカル正規化された属性アレイとして含まれる。ローカル正規化された属性アレイは、普通ではないレコードが位置しているパーセル内に含まれる。ローカルアレイは、グローバルアレイのように編成される。もしパーセル内の複数のレコードが、グローバル正規化された属性アレイ内に見出されない同じ普通ではない組合わせを有していれば、この特定の普通ではない属性の組合わせを有する各レコード内のインデックスは、ローカルアレイ内の同一属性組合わせを指す。一実施例では、パーセル内の全てのレコードは、グローバル正規化された属性アレイ、またはローカル正規化された属性アレイの何れかを指すインデックスを含んでいる。この特色は、若干の普通ではない属性の組合わせは極めてローカル化されており、従って、これらの普通ではない組合わせを含む特定のパーセルを使用する時に、ナビゲーション応用が必要としないのに、それらをメモリ内にロードするのは効率的ではない。
【００９３】
例えば、図７Ｂに示すルート計算機能２８は、ルート計算データ４８のパーセルの１つにアクセスしている。グローバル正規化された属性アレイ８１６、またはローカル正規化された属性アレイ８２２の何れかを指す各セグメントエントリ内のインデックスを使用して、パーセル８２０内に格納されたルート計算データ内のセグメントレコードデータから、セグメントエンティティが作成される。好ましい実施例では、正規化された属性アレイデータの、グローバルアレイ８１６、またはローカルアレイ８２２の何れかから適切なデータレコードの適切なデータフィールドへの置換は、前述したインタフェースレイヤ４１によって遂行される。処理をスピードアップさせるために、グローバル正規化された属性アレイ８１６はメモリ内に保持しておくことができる。このグローバル正規化された属性を、記憶媒体からメモリ内へ（完全に、または部分的に）読み込み、ナビゲーション応用の動作中メモリ内に保持することができる。
【００９４】
Ｇ．セグメント集約( Segment Aggregation ) 
１．概要
前述したように、ナビゲート可能なセグメントは、そのセグメントが現れる最高ルート指定データレイヤを指定するランク属性を含む。ルート計算データ４８の最低レイヤは、全てのナビゲート可能なセグメント（即ち、全てのランクのセグメント）を含む。次々に高い各レイヤにおいて、最低にランク付けされた残余のセグメントのクラスが落とされて行く。一般的には、これによって複数の二価のノード、即ち正確に２つのセグメントの間の交差点が作成される。もしナビゲーションに関連するこれら２つのセグメントのための全ての属性が等しければ、二価のノードを落として行くことが可能であり、また有益である。これによりデータのサイズが減少し、ルート計算中に探査する必要があるセグメントの数が減少し、そして最終的な計算されたルートを形成するセグメントの数が減少する。このようにして形成されたセグメントを集約セグメントと呼ぶ。好ましい実施例では、集約セグメントは最低レイヤより上のレイヤ内に含まれる。
【００９５】
以下に、高いレイヤにおけるセグメントの集約を説明する。最初に、集約セグメントの物理的表現を説明する。２番目に、セグメントを集約させるための基準を説明する。３番目に、集約セグメントを形成するプロセスを説明する。
２．集約セグメントの物理的記憶
集約が行われると、集約セグメント内部のセグメントレコード及びノードレコードは所与のレイヤ内に縮約された( abbreviated ) 形状で維持される。各縮約されたセグメントは、セグメント識別子、長さ、通行時間、及び方位を含む。各縮約されたノードは、ノード識別子及び位置を含む。これらの縮約されたレコードには、縮約されたセグメントに共通の属性を含む集約セグメントレコードを通してアクセス可能である。集約セグメントレコードは、このセグメントにルート計算処理中に何れの端からも進入できるので、「左セグメント識別子」及び「右セグメント識別子」の両方を含んでいる。
【００９６】
図８Ａに、レイヤ０内の複数のセグメントを示す。ノードは、各セグメントの２つの端点に関連付けられている。レイヤ０では、全てのランクの全てのセグメントが表される。図８Ｂは、図８Ａに示したものと同数のセグメント及びノードを示しているが、レイヤ内で最低のランクを有するセグメントが破線で示されていることが異なる。図８Ｃでは、最低にランク付けされたセグメントは除かれている。（図８Ｂ及び８Ｃは中間段階を示すものであって、あるレイヤを代表してはいない。）図８Ｄでは、セグメントＳ４、Ｓ５、Ｓ６、Ｓ９、及びＳ１１は集約セグメントＡＧ１２に集約されている。集約セグメントＡＧ１２は、集約セグメントの端点に対応するノードＮ１０９及びＮ１０４を含む。更に、集約セグメントは、集約セグメントＡＧ１２の内部であるノードＮ１０６、Ｎ１０７、Ｎ１０８、及びＮ１１３をも含む。これらの内部ノードは、どのノードにおいても（たとえこれらのノードが集約セグメントの端点であっても）ルート計算プログラムを１つのレイヤから別のレイヤへ移動可能ならしめることによって、ルート探索の際に好ましい結果を与える。これは、ルート計算プログラムがより迅速により高いレイヤへアクセスでき、それによって潜在的により早いルート計算を行い得ることを意味している。
【００９７】
図８Ｅは、図８Ｄの集約セグメントレコードと、レイヤ１内の他のデータエンティティとの間の関係を示している。
３．集約基準
一実施例では、隣接するセグメントの各連続対が以下の基準を満たしていれば、どのような数の連続セグメントの集約も許容される。
（１）当該レイヤ内において、交差の点（ノード）において正確に２つのセグメントが交わっていること。
（２）２つのセグメントが以下の条件の何れの一部分でもないこと。
(i)交差ノードを横切って伸びる運転制限
(ii)車両制限
(iii)走行方向の制限
(iv)ゲート
(v)特大車両制限
(vi)二股道路
(vii)料金ブース
(viii)信号
（３）２つのセグメントが正確に同一セットのナビゲート可能な特色名を共有していること（地図作成特色名を除く）。
【００９８】
（４）２つのセグメントについて以下の属性が同一であること。
(i)ランク
(ii)速度カテゴリ
(iii)レーンカテゴリ
(iv)アクセス特性、及び
(v)以下のセグメント属性
(a)中央分離帯付きセグメント
(b)走行方向−左
(c)走行方向−右
私道
ランプ
有料道路
制御されたアクセス
鉄道フェリー
ボートフェリー
集約される２つの隣接するセグメントの間で、残りの属性が異なっていても許容されることに注目されたい。一般的に言えば、これらの属性は、集約セグメントのための集約された属性のセットを生成するプロセスにおいて、組合わされるか、もしくは落とされる。上述した基準は、単なる例示に過ぎない。これらは現在では好ましいものであるが、他の基準または上述した基準のサブセットも使用可能である。
【００９９】
４．集約セグメントを形成するプロセス
集約セグメントを形成する第１段階は、集約セグメントのための考え得る端ノードを識別することである。これらは「集約セグメント有意」ノードとして知られている。各レイヤの地理的データベース内の全てのノードは、それが「集約セグメント有意」であるか否かを決定するために評価される。ノードは、最高レイヤから開始され、以下下方へ一時に１つずつ評価されて行く。あるノードに１つのセグメントだけが接続されているか、または２つより多いセグメントが接続されている場合、そのノードは所与のレイヤにおける「集約セグメント有意」である。しかしながら、もし正確に２つのセグメントがあるノードに接続されていれば、そのノードは集約セグメント有意ではない。もし任意のレイヤのあるノードが集約セグメント有意であると決定されれば、それはそれより低い全てのレイヤにおいても集約セグメント有意である。一方の端に集約セグメント有意ノードを有し、他方の端に非有意を有しているレイヤ内の各セグメントは、集約セグメントのための潜在的な開始端である。
【０１００】
図８Ｃにおいては、２つより多いセグメントに接続されているノードＮ１０２及びＮ１１２が集約セグメント有意である。ノードＮ１０６、Ｎ１０７、Ｎ１０８、Ｎ１０９、及びＮ１１３は、それらが２つのセグメントに、そして２つだけのセグメントに接続されているので、非有意である。セグメントＳ１は、それが集約セグメント有意である１つのノードＮ１１２と、非有意である他のノードＮ１０９を有していることから、集約セグメントのための潜在的開始点として識別される。非有意ノードＮ１０９は、集約セグメントを形成するための潜在的開始点として選択される。図８ＣにおいてノードＮ１０９に接続されている他方のセグメントＳ４は、（１）その他方のノードＮ１０８が集約セグメント有意であるか否かを決定し、そして（２）他の集約基準（前述）を満足しているか否かを調べることによって評価される。もしそれが非有意であれば、Ｎ１０８に接続されている他方のセグメント（即ち、Ｓ５）が同じようにして評価される等々である。このプロセスは、集約セグメント有意ノードに到達するまで、または集約には不適格である異なる条件を有する２つのセグメントを接続している非有意ノードに到達するまで続行される。これらの条件は上述した。もし非有意ノードが、集約には不適格である異なる条件を有する２つのセグメントを接続していれば、そのノードはそのランク及びそれより下のための集約セグメント有意ノードと呼ばれる。
【０１０１】
あるセグメントの列（２つの集約セグメント有意ノード間の）は、非有意ノードによって互いに接続されていることが識別され、これらのセグメントを表す集約セグメントレコードが作成される。集約セグメントレコードには、それを集約セグメントとして識別するためのセグメントＩＤが与えられる。集約セグメントの端ノードは、集約セグメント有意ノードである。集約セグメントレコードは、その集約セグメントによって表されているノード（１つまたは複数）及びセグメントのための縮約されたノード及びセグメントレコードを指すポインタを含んでいる。これらの縮約されたレコードは、集約されたセグメントの各レイヤに維持される。
集約されたセグメントレコードは、集約されたセグメントの「正当方向」における長さ、平均速度、及び走行時間を含む集約セグメントに関する付加的な情報（集約セグメントを走行する際の（ノード費用を含む）全ての走行費用、またはインピーダンスを考慮している）も格納している。「正当方向」とは、任意の集約セグメントに関して、１方向だけへの走行が正当であることができることを意味する。走行の正当方向は、最初に、例えば左から右へのような１方向において評価される。もし受入れることができれば、通過時間が計算され、もし逆方向の走行も正当であればその方向に関しても同一であるものと見做される。もし集約のための条件が賦課されていなければ、これは必ずしも真である必要はない。もし左から右へが受入れることができない走行方向であれば、通過時間は右から左について決定される。
【０１０２】
上述した方法は、その端に集約セグメント有意ノードと、両端の間に少なくとも１つの非有意ノードとを有する集約セグメントを発生させることに注目されたい。しかしながら、あるレイヤ内の全ての集約セグメント有意ノードは必然的に集約セグメントの端点に位置している。
上述したアプローチは、集約セグメント有意ノードの間に伸びる、または代替として、集約セグメント有意ノードの間の最も左及び最も右のセグメントの非有意ノードの間だけに伸びる（図８Ｃに示すように）集約セグメントに使用することができる。前者の場合の利点は、ルート探索プログラムがルートを決定するのに僅かなステップ（集約セグメント有意ノード間のセグメントを横切るのに３ステップの代わりに１ステップ）で済むことである。後者の場合の利点は、集約するセグメントを審査するための条件が、若干の制約（例えば、左転回禁止）を有しているセグメントを、それ以外の全ての点では不適格にしないものとすれば、ルート探索プログラムはその集約セグメントが計算されたルートの一部を形成できるか否かをより迅速に（即ち、僅かなステップで）決定できることである。何れの場合も、上述した集約セグメントを使用することにより、ルート探索プログラムは、どのノードにおいても（たとえ集約セグメントの一部を形成しているノードにおいても）レイヤをジャンプすることができる利点が得られる。
【０１０３】
集約セグメントによって与えられる別の利点は、セグメントを集約すべきか否かを決定するための条件を使用することによって、正当に走行することができない集約セグメントが作成される可能性を減少させることである。
Ｖ．物理的記憶フォーマットファイルを形成するためのコンパイルプロセス
Ａ．コンパイラ−概要
以上に、ナビゲーションシステム内のナビゲーション応用プログラムによる地理的データベースの使用及びアクセスを容易にするために、物理的媒体上に地理的データベースを設ける種々の面を説明した。前述したように、エンドユーザのナビゲーションシステムにおいて使用され、アクセスされる記憶媒体上に格納するのに適するフォーマットに編成する前に、地理的データベースは別の異なるフォーマットで供給され、編成されることがあり得る。例えば、地理的データは、始めにＧＤＦフォーマットまたはたのフォーマットのような交換フォーマットに編成することができる。交換フォーマットは、データの交換を容易にすることも、またはデータの取得及び更新を行うこともできる。記憶媒体上にデータの使用を容易にするような技法で地理的データを格納するために、データはこの元の、即ち交換フォーマットから変換される。この変換プロセスは、以下に説明するように、地理的データセットコンパイラによって達成することができる。一実施例では、コンパイラはＣプログラミング言語で書かれているが、代替実施例ではどのような適当なプログラミング言語を使用することもできる。
【０１０４】
図９Ａに、地理的データセットコンパイラ９００の流れ図を示す。コンパイラ９００は、幾つかの異なる種類のデータ９０１を受入れる。例えばデータ９０１は、地図カバレッジデータ９０２、共通補助データ９０３、及び関連サード・パーティデータ（ＴＰＤ）９０４を含むことができる。地図カバレッジデータ９０２は、上述したＧＤＦ交換フォーマットで供給することができ、また他の種類のデータを何等かの適当なフォーマットで供給することもできる。サード・パーティデータもＧＤＦフォーマットで供給することができる。補助データベースは説明、音声、またはアイコン型のデータを含むことができる。一実施例では、コンパイラ９００は、ＧＤＦ  ３．０仕様の地図カバレッジデータ９０２を受入れることができるが、代替実施例では他のデータベースフォーマットも同様に受入れることができる。
【０１０５】
地理的データセットコンパイラ９００は、地理的データセットを含む出力９０５を生成する。この出力は、ナビゲーションシステムにおいて使用するために、図１の記憶媒体２２のような記憶媒体上に格納するのに適するように圧縮され、最適化されたフォーマットである。出力９０５が記憶媒体２２上に格納される時に、それは図２のデータベース４０を含む。地理的データセットコンパイラ９００は、編成された出力９０５を準備する場合にデータベース４０が車両内の特定のオンボード記憶媒体の特性を含む車両内システムのようなエンドユーザのシステム内で使用される際のデータベース４０のレイアウトを考慮に入れる。媒体特性が変化した場合、レイアウト構造またはフォーマットを相応に変化させる必要がある。地理的データセットコンパイラ９００によって作成されるデータベースを含む出力９０５は、所与の記憶媒体のための適切な物理的記憶フォーマットに従う。これは、媒体従属面を地理的データセットコンパイラ９００のコア機能から分離することによって達成される。
【０１０６】
一実施例では、地理的データセットコンパイラ９００は、128 ＭＢのＲＡＭ及び１ＧＢのページング空間を有するＩＢＭモデルＲＳ６０００上で走る。ＲＳ６０００は、ＡＩＸ  ４．１  ＯＳを走らせ、開発環境はＩＢＭのＣ  Ｓｅｔ＋＋バージョン３．１である。ＡＮＳＩ  Ｃ及びＣ＋＋コンパイラは、ｘｌｃ及びｘｌＣをそれぞれ含み、デバッガはｘｌｄｂである。他のコンピュータ、オペレーティングシステム、及び開発ツールも適当であろう。
地理的データセットコンパイラ９００は、データベース９０１を、ＧＤＦフォーマット（主としてＡＳＣＩＩ交換フォーマットである）からデータベース９０５内の最適化され、圧縮されたバイナリフォーマットに累進的に変形するプロセスのシーケンスを含んでいる。この変形を達成するために、地理的データセットコンパイラ９００は、このプロセスのためのルーチンのフレームワークを供給する。
【０１０７】
地理的データセットコンパイラ９００は、一般的に３つのレイヤ、即ち、データ変形レイヤ９１０、サービスレイヤ９１２、及び物理的フォーマット分離レイヤ９１４を含んでいる。これらのレイヤが一緒になって、入力データ９０１を、所望の物理的媒体上に書き込むために適当な媒体特定のフォーマットの出力９０５にコンパイルする。
Ｂ．コンパイラサービスレイヤ
コンパイラサービスレイヤ９１２は、地理的データセットコンパイラ９００内の処理のために使用可能な、そして使用されるルーチンのライブラリを含んでいる。ルーチンのライブラリは、地理的データの処理のために特別に開発された特殊化された機能を含むデータセットコンパイラ内で一般的に使用される機能のための基本命令のセットを含んでいる。例えば、サービスレイヤは、Ｉ／Ｏの処理、ファイル及びテーブル管理、誤り処理、メモリ管理及びバッファリング、デバッギング、及びデータ操作のための機能を含む。サービスレイヤ９１２は、他の機能のためのルーチンも含むことができる。
【０１０８】
好ましい実施例では、サービスレイヤ９１２は、データの処理及び変形を強化するために共用メモリモデルも実現する。普通の共用メモリ技術は、並行プロセス間でメモリを共用させる。サービスレイヤ９１２は、非並行プロセスにまたがって共用メモリを実現する。これは、グローバルｋｄツリー（データパーセル化に関して説明済み）の開発のような種々のデータ変形プロセスに利点を提供する。グローバルｋｄツリーの開発のためのプロセスは、他の変形プロセスに使用されるものと同一のデータの若干を使用するが、必ずしも他のプロセスと同時に走らせる必要はない。非並行共用メモリを使用することによって、サービスレイヤは、グローバルｋｄツリーの開発のために設けられたプロセスと他のプロセスとの間でデータを共用することができる。
【０１０９】
Ｃ．コンパイラデータ変形レイヤ
１．概要
図９Ｂを参照する。地理的データセットコンパイラ９００のデータ変形レイヤ９１０は、地理的地図カバレッジデータ９０１を一般化された交換フォーマットから中間出力に変形する。データ変形レイヤ９１０は、２つの主要ステップまたは段を含む。交換フォーマットのデータから開始される第１段９２３において、データ変形レイヤ９１０はデータ９０１を転送ファイルフォーマットのファイル９２５に変換する。普通のシナリオでは、データ９０１は、ＧＤＦのような一般化された交換フォーマットでコンパイラに供給される。ＧＤＦのような交換フォーマットは、それからデータを、ナビゲーションシーケンス内の記憶媒体上で使用する物理的記憶フォーマットに直接変換することが困難なように、データを編成する。例えば、ＧＤＦを物理的記憶フォーマットに直接変換することが困難である一つの理由は、物理的記憶フォーマット出力ファイルを発生するためには、ＧＤＦファイルの全ての必要部分を格納するための極めて大量のメモリをコンパイラ内に必要とするからである。従って、好ましい実施例では、地理的データを先ず転送ファイルフォーマットに変換し、それからのデータのさらなる処理を容易にしている。
【０１１０】
データを転送ファイルフォーマットに変換した後、データ変形レイヤ９１０の第２段９２８は転送ファイルフォーマット内のファイル９２５を処理して分離した中間データファイル９２７を発生する。これらの分離した中間データファイル９２７を発生する際に、この第２段９２８は、最終的に種々の分離したナビゲーション応用機能によって使用される分離したデータの集まり（例えば、セグメント９３１、９３３等）を生成する。前述したように、各ナビゲーション応用機能は、典型的には地理的データベース全体の若干の部分だけを使用する。従って、各ナビゲーション応用機能の動作を容易にするために、物理的記憶フォーマットは各ナビゲーション応用機能に、地理的データベースのサブセットだけを表すそれ自体の分離した地理的データの集まりを供給する。各サブセットは、通常はナビゲーション機能が使用しないデータベースの部分を排除することが好ましい。このデータ変形段において、データ変形プロセスは、例えばファイル９４１、９４３、及び９４５（ここでは「中間データファイル」、または「データファイルユニット」という）のような実際の分離したファイルとしてこれらの分離した地理的データの集まりを作成する。これらの各中間データファイルは、データベース全体の一部分、即ちビューだけを含む。
【０１１１】
これらの中間データファイルを発生するプロセスの一部としてのこのデータ変形レイヤプロセスのさらなる面として、スーパーノード、集約セグメント、及び生成された形状点のような若干の新しいデータのアイテムが、転送ファイルフォーマット内のデータから作成される。これらの新しいデータのアイテムは転送ファイルフォーマット内のデータから導出されるのであるが、それらはＧＤＦ入力ファイル内の直接の写しは有していない。更に、これらの中間データファイルが生成されるにつれて、これらの各中間ファイルは各中間データファイル内のパーセルにグループ化される。データ変形レイヤの処理の後に、後述するように、後刻分離レイヤプロセスにおいて分離したデータファイルが単一の大きいファイルに再組合わせされる時に、データのパーセル編成が維持される。もしサード・パーティデータを物理的記憶フォーマット内に含ませることを意図するのであれば、それらはデータ変形プロセス内に組み込まれる。
【０１１２】
データ変形レイヤ９１０におけるプロセスに関して以下に詳細に説明する。
２．転送ファイルフォーマット
コンパイラ９００は、数多くの異なるファイルで地理的データを受けることができる。一実施例では、コンパイラ９００は交換フォーマットで、特定的にはＧＤＦ  ３．０で地理的データを受ける。前述したように、もしデータが始めにＧＤＦのようなフォーマットで供給されれば、そのデータを更に処理する前に、そのデータを先ず交換フォーマットから転送ファイルフォーマットに変換することが好ましい。ＧＤＦフォーマットは物理的記憶フォーマットを発生するデータの部分の処理を容易にするような技法でデータを編成しないので、この変換が遂行されるのである。転送ファイルフォーマットへのこの変換プロセスは、地図カバレッジデータ並びにサード・パーティデータ（もしあれば）にも適用できる。
【０１１３】
コンパイラプロセスを開始する前にある決定がなされて、記憶媒体上に表される（１つまたは複数の）地図カバレッジエリアを限定する。記憶媒体上に表される地図カバレッジエリアは、大都市エリア、州、隣接州、国全体、または他の領域または領域の組合わせを含むことができる。このプロセスの部分は、ＧＤＦファイルが編成された技法を考慮に入れることができる。国の異なる地理的部分のために、分離したＧＤＦ交換ファイルが存在し得る。記憶媒体上に格納される所望の地図カバレッジエリアは、必ずしも単一のＧＤＦファイルの境界と一致させる必要はない。従って、コンパイラプロセスへの入力は、１つより多くのＧＤＦファイルを含むことができる。即ち、ＧＤＦ入力は物理的に複数のファイルに区分けすることができる。ＧＤＦファイルは論理的に区分けする、即ち異なるカバレッジエリアを単一のファイル内に別々に含ませることができる。媒体上に表される地図カバレッジエリアの選択を行った後に、選択された地図カバレッジエリアに対応する１つまたはそれ以上のＧＤＦファイルをコンパイラプロセスへの入力として使用する。
【０１１４】
転送ファイル生成プロセスは、幾つかの論理転送ファイル９２５の集まりの形状で出力を供給する。特定の転送ファイルの数及び型は、物理的記憶フォーマットファイル内に含ませることを望む特定の情報の型に基づいて決定することができる。一実施例では、名前、言語、管理領域、郵便コード、線形地理作成特色（ポリライン）、及びポリゴナル地図作成特色（ポリゴン）、ノード、セグメント、付属物、関心点、関心点の型、及び関心点のチェーンのような異なる型の転送ファイルが作成される。更に、幾つかの相互参照転送ファイルを作成することができる。これらの相互参照ファイルは、他のファイル内の種々のエンティティの若干を互いに対応付けるのを容易にする。一実施例では、これらの相互参照ファイルは、郵便コード及び管理領域相互参照、及びゾーン及び管理エンティティ相互参照を含む。更に、これらの転送ファイルの生成に関する情報を保管する制御ファイルを作成することができる。これらの転送ファイルは、バイナリ型ファイル、またはＡＳＣＩＩ型ファイルであることができる。一実施例では、名前、管理エンティティ、及び言語転送ファイルはＡＳＣＩＩ型ファイルであり、残りはバイナリ型ファイルである。これらの各転送ファイルをＧＤＦファイルから発生する方法を以下に説明する。一実施例におけるこれらの特定ファイルへのデータの集め方は、物理的記憶フォーマットファイルを発生するためのプロセスの一部を表しているが、データの他の集め方及び他のプロセスを使用しても差し支えない。
【０１１５】
名前転送ファイル及び言語転送ファイルはそれぞれ、ＧＤＦファイル内の名前及び属性レコードからのデータを使用して作成される。名前転送ファイルは、物理的特色の名前（例えば、道路、場所等の名前）を含み、言語転送ファイルはこれらの特色の名前の言語（例えば、フランス語、英語等）を含む。
管理エリア転送ファイルは、地図カバレッジ領域（例えば、州、郡、市）内の行政区分の階層を表すテーブルの形状で作成される。管理エリア転送ファイルは、ＧＤＦ関係、名前、属性、エリア、及び複雑な特色レコードを使用して作成される。これらの同一ＧＤＦレコードを使用して、地図カバレッジエリア内の郵便コードを含む郵便コード転送ファイルも作成される。更に、これらの同一ＧＤＦレコードから、ゾーン転送ファイルを作成することもできる。ゾーン転送ファイルは、地図カバレッジエリア内の近隣を識別するデータを含む。
【０１１６】
管理エリア転送ファイル、郵便コード転送ファイル、及びゾーン転送ファイル（もし使用可能であれば）内のエントリを関係付ける相互参照転送ファイルが作成される。この相互参照転送ファイルは、管理エリア、郵便コード、及びゾーンを参照するＧＤＦ関係レコードを使用して作成される。
ポリゴン転送ファイルは、ＧＤＦファイル内のエリア、面、縁、名前、属性、ＸＹＺ、及びノットレコードから作成される。ポリゴンエンティティは、公園、湖等のような地図カバレッジ領域内のエリアを表す。このファイルは、テーブルの形状である。
ノード転送ファイルは、ＧＤＦファイル内の点特色、ノットレコード、ＸＹＺレコード、及び属性レコードから作成される。
【０１１７】
セグメント転送ファイル及び付属物転送ファイルは、ＧＤＦ線特色レコード、縁レコード、ＸＹＺレコード、属性レコード、点特色レコード、及び先に作成された管理エリア転送ファイルから作成される。（付属物転送ファイル内のエンティティは、道路標識、状態、形状点、ブロック、番地範囲、オーバーパス情報、等々を含む。）
ポリライン転送ファイルは、ＧＤＦ線レコード、特色レコード、縁レコード、ＸＹＺレコード、ノットレコード、属性レコード、及び名前レコードから作成される。ポリラインエンティティは、道路、クリーク、及び鉄道のようなナビゲート可能な、及びナビゲート不能な両線形特色を含む。全てのポリラインレコードを作成した後に、ポリゴン及びポリラインレコードは地図作成転送ファイル内に併合される。
【０１１８】
ＰＯＩ（関心点）転送ファイル、及び関心点の型転送ファイルは、ＧＤＦ関係レコード、点特色レコード、属性レコード、名前レコード、及び先に作成された管理エリア転送ファイルから作成される。
更に、ＰＯＩチェーン転送ファイルのような他の転送ファイルを作成することができる。この転送ファイルは、マクドナルドレストラン、マリオットホテル等々のような関心点チェーンの名前を含むことができる。
各転送ファイルを作成する際に、作成されるエンティティの属性に関する完全な情報を得るために、ＧＤＦ属性定義及び属性値レコードが参照される。更に、各転送ファイルを作成する際に、転送ファイルエンティティのための識別番号を得るために、ＧＤＦ外部更新レコードが参照される。
【０１１９】
このプロセスの一部として、異なるレコード型のカウントを生成し、制御ファイル内に維持することができる。
もし、地図カバレッジデータに加えて、サード・パーティデータを物理的記憶フォーマット内に含ませることを意図するのであれば、この時点でサード・パーティデータを１つまたはそれ以上の転送ファイルに変換することができる。サード・パーティデータは、特別な関心物に関係付けられて特別に生成されたデータを含むことも、または一般的に付加的なデータが別のパーティによって生成されるか否かの付加的情報に関係付けることもできる。これらのサード・パーティデータは、付加的に、販売者に特定のデータフォーマットで供給することができる。地図カバレッジデータファイルは、上述した正規の関心点データに加える付加的な関心点型データとして、このサード・パーティデータを指すポインタを有することができる。主データファイル９０２とサード・パーティデータ９０４との間のこれらのポインタは、発生される転送ファイル内に維持され続ける。
【０１２０】
３．中間データファイル及び補助ファイルの作成
地理的データ及び何等かのサード・パーティデータ９０４を転送ファイル９２５に変換した後に、今は転送ファイルフォーマットになったデータを使用して、最終的に種々のナビゲーション応用プログラムによって使用されるデータを含む種々の特殊化された中間データファイル９２７が作成される。異なる型のナビゲーション機能のためのこれらの中間データファイルは、１つの型の中間データファイルを作成するのに先に作成された別の型の中間データファイルを必要とする場合を除いて、一般的にはどのような順番ででも作成することができる。
これらの中間ファイルは、どのような適当な、便利な手法で命名することもできる。例えば、シカゴ圏を含むカバレッジエリアのためのレベル０ルート指定データを chicago.rt0と呼ぶことができ、レイヤ１の場合には chicago.rt1と呼ぶことができる。これらの中間ファイルが作成されるにつれて、それらはパーセルにも編成される。補助ファイル９４９（例えば、ファイル９５１、９５３、９５５）は、各中間データファイル毎に１つの補助ファイルとして作成される。補助ファイルは、それが関連している中間データファイル内の各パーセルの開始位置を識別するオフセットを含む。これらの補助ファイルには、ルート指定レイヤ０データファイル chicago.rt0の補助ファイルには chicago.rf0等々のような、どのように適当に命名しても差し支えない。補助ファイル内の情報は、後述するように分離レイヤプロセスにおいて使用される。
【０１２１】
４．ルート指定中間データファイル
データ変形レイヤプロセスは、複数の中間ルート指定データファイル９３１を作成する。これらの各ルート指定中間データファイルは、最終的にルート指定ナビゲーション応用によって使用されるように空間的に編成される。このプロセスの一部として、ルート指定データの分離したレイヤが作成される。この段階において、各分離したレイヤが作成され、分離した中間データファイルとして格納される。また、このプロセスの一部として、前述したようにスーパーノード及び集約セグメントが作成される。更に、ルート指定データの各分離したレイヤに対応する各分離した中間ルート指定データファイル内では、データは前述したようにパーセルに編成される。ルート指定データの任意のレイヤにおいては、パーセルは、セグメント、ノード、及び状態、アクセス特性、日付・時間変更子（“ＤＴＭ”）等のような関連するナビゲート可能な属性を含む。
【０１２２】
中間ルート指定データファイル９３１は、上述したセグメント、ノード、及び付属物転送ファイルから作成される。これらの転送ファイル内の関連データがメモリ内にロードされ、種々のエンティティ間の関係を表すポインタが作成される。例えば、セグメントエンティティレコードは、そのセグメントの端点のノードのためのノードエンティティレコードを指すポインタを有していよう。
生成された形状点
データ変形レイヤプロセスの一部として、特別な形状点（「生成」または「人工」形状点と呼ぶ）が作成され、若干のセグメントエンティティの属性として中間ルート指定データファイル内に含まれる。従って、これらの生成形状点が、ルート指定データファイルを作成するプロセスの一部として作成され、若干のセグメントエンティティの属性として含まれるのである。
【０１２３】
上述したように、セグメントデータエンティティは、その長さに沿う１つまたはそれ以上の形状点属性を含むことができる。もし道路セグメントが直線以外であれば、形状点属性はそのセグメントに沿う地理的位置（緯度、経度）を供給してそのセグメントに沿う真の物理的位置を正確に表し、車両の位置決め等を援助する。図１０Ａは、直線セグメントＳ２０及び形状点ＳＰ１、ＳＰ２、及びＳＰ３を有するセグメントＳ２１を示している。
好ましい実施例では、たとえあるセグメントが直線であっても、従ってそれに沿って位置するどのような形状点も必要としないとしても、もしそのセグメントの何れかの部分が所定の長さしきい値を超えれば、生成形状点が作成され、形状点属性としてセグメントエンティティに関連付けられる。従って、ルート指定レイヤ中間データファイルを作成するコンパイラプロセスの一部として、各セグメントエンティティが調べられ、それが形状点を有せずに所定の長さしきい値を超える部分を含むか否かが決定される。もしそうであれば、形状点を有せずに所定のしきい値を超えるセグメント内の長さが存在する場合には、生成形状点が作成され、そのセグメントに関連付けられる。一実施例では、所定のしきい値は、東・西または北・南方向において 512ナビゲーション単位（１度の 512/100,000）である。他の形状点と同様に、これらの生成形状点は、そのセグメントに沿う真の位置（緯度、経度）を表している。生成形状点が含まれているのが直線であるために、これらの生成形状点の位置は比較的容易に導出することができる。生成形状点を含ませたことにより、形状点を有することなく 512ナビゲーション単位よりも大きいセグメントの部分は存在しなくなる。関連する生成形状点ＧＳＰ１、ＧＳＰ２を含むセグメントＳ２０を図１０Ｂに示す。
【０１２４】
この特色は、あるセグメントが、たとえそのセグメントがその中にその端点を有していなくてもそのセグメントが通過する全てのパーセルに、またはそれが通過する各パーセル内の何等かの正規形状点に、関連付けられる見込みが増加する長所を提供する。例えば、あるセグメントの直線長があるパーセルの隅（例えば、図１０ＡのパーセルＰ３４）を通過するかも知れない。セグメントＳ２０の端点（及びもしあれば、正規形状点）はこのパーセルの外側に位置しているから、何等かのデータがセグメントＳ２０をそのパーセルに関連付けることはあり得ない。図１０Ｂに示すように、直線セグメントに沿って規則的な間隔で生成形状点を含ませることは、そのようにしなければセグメントに関連付けられないパーセル内にセグメントの点を位置決めする手段を提供する。
【０１２５】
好ましい実施例においては、あるセグメントの何れかの部分があるパーセルの一部分を横切り、そのセグメントがそのパーセル内に何等かの形状点または端点（ノード）を有していない場合にも、そのパーセルを横切るそのセグメントの部分が少なくとも 512ナビゲーション単位であるか否かには拘わりなく、生成形状点を計算し、そのセグメントと共に含むことができる。あるセグメントが横切る全てのパーセルのリストを生成し、全てのセグメントのノード及び形状点に関連付けられたパーセルのリストと比較することができる。この比較に基づいて、セグメントを特定のパーセルに対応付けるために、そのセグメントの何れかの部分に生成形状点を追加する必要があるか否かを決定することができる。生成形状点の位置はパーセル内の何処であってもよく、必ずしもパーセル境界上である必要はない。
【０１２６】
ルート指定中間データファイル（続き）
セグメントエンティティのための方位属性が、セグメントエンティティの形状点から計算される。各セグメント毎に２つの、即ちセグメントの各端毎の１つずつの方位が計算される。方位属性は、セグメントが「通じている」方向を表している。方位は、真北に対する変位の角度として計算される。セグメントの各端毎の方位を計算するために、セグメント内の１つまたはそれ以上の形状点が使用される。これらの形状点は、そのセグメントの端点における各ノードに近接する、または約 100ナビゲーション単位（または約 300フィート）以内のものを含む。端点におけるノード及びそれに近接する形状点を使用して、仮想線が生成される。この仮想線の方向が真北に対して比較され、方位の値が計算される。好ましい実施例では、計算された方位は、格納を容易にするために０乃至 225の値に正規化される。方位は各セグメントエンティティ毎の属性として格納される。
【０１２７】
ノードエンティティのランクが限定され、集約セグメント及びスーパーノードが前述したようにして作成される。集約セグメントの決定に関して言えば、全てのレイヤ内のノードエンティティは、そのノードが「集約セグメント有意」であるか否か、即ち、そのノードがそのレイヤのための集約セグメントの端ノードであるか否かを指示する属性を含む。またこの段階において、正規化された属性テーブル内のエントリに対応する属性の組合わせを含むセグメントエンティティには、その正規化された属性テーブルを指すポインタが割当てられる。ノードのための位置データ及び形状点（生成形状点を含む）を使用して、ペアノキーアレイが作られる。
各レイヤ内のデータは、最低レイヤ（最も稠密）から開始して、前述したようにしてパーセル化される。好ましい実施例では、パーセルを形成する際に、パーセルの最終サイズの推定が行われる。
【０１２８】
推定技術
上述したパーセル化プロセスにおいては、データの量を評価する多くの場合が存在する。例えば、前述した「規則的な分割手順」中に、より小さい矩形領域を表す部分にデータを分割し続けるかどうかを決定する目的で、データの量が評価される。前述した「カストム分割手順」では、パーセルを形成するために所望の分割線を決定する目的で、データの量が評価される。これらの場合、これらの評価は、ある量の地理的データから形成されるパーセルの最終サイズが幾つかの要因によって影響され得ることを考慮に入れる。例えば、地理的データに加えて、全てではないにしても殆どのパーセルは、パーセルヘッダのようなオーバヘッドと、ｋｄツリーのようなインデックス情報とを含んでいる。パーセル内に含まれているこれらの付加的な種類の情報の若干はサイズが固定され、他はデータの量または内容と共に変化し得る。これらの型のオーバヘッドがパーセル内の空間を占めるので、所与の量のデータをパーセルに形成できるか否かを評価する上で、これらの情報の付加的なアイテムを考慮に入れる必要がある。一方、若干の型のデータのサイズは、圧縮技術を使用して減少させることができる。また、所与の量が所望の充填率を有するパーセルに形成できるか否かを評価する際にも、これらの圧縮技術を考慮する必要がある。
【０１２９】
これらの評価を行う一方法は、評価が必要になった時に、ある量のデータからパーセルを形成する全てのステップを遂行することである。このプロセスは評価を行わせるために必要情報を供給するが、所望のパーセル境界の決定に到達するためには多くの試行パーセル結果（最終的には破棄される）を生成する必要があるので比較的非効率である。代替として、好ましい実施例では、推定技術を使用する。
推定技術は、ある型の地理的データ内に存在する変数を識別する。これらの変数は、ある型の地理的データ内の異なる型の各エンティティの量として識別される。例えば、ルート指定データでは、変数は所与の量の地理的データ内に存在するノード、セグメント、状態、及び形状エンティティの各々の量として識別される。スーパーノード及び集約セグメントの量も別々に識別される。推定技術は、これらの各変数に定数を適用し、所与の量のデータから形成されるパーセルのおおよそのサイズを推定する。これらの各変数に適用される定数は、これらの各変数を比較的広い範囲で（及び、他の各変数に対して）変化させ、結果的なパーセルサイズが計算される。
【０１３０】
実際のパーセルが、代表的なデータサンプルについて生成される。推定定数が初期値として与えられ、得られたパーセルサイズ推定が実際のパーセルサイズと比較される。１つの定数が選択され、その値が、推定を改良する方向に少量だけ変動される。選択された定数を更に変化させてもさらなる改良が得られなくなると、このプロセスが第２の選択された定数について繰り返され、その後残りの全ての推定定数について繰り返される。このプロセスは、推定が受入れ可能な範囲内になるまで、またはさらなる改良を得ることができなくなるまで、全ての推定定数について１回またはそれ以上の回数繰り返される。
推定プロセスにより、結果的に得られるパーセルを約２％以内で推定することができる。この推定技術は、推定技術が殆ど常に許容サイズ以内で推定できるようにする目標パーセルサイズ（例えば、 95 ％）と共に使用される。
【０１３１】
推定技術は、地図作成、運転、関心点等を含む全ての型のデータに適用することができる。各型のデータは異なるエンティティを有しているから、各型のデータはそれ自体の変数及び定数を有することになろう。しかしながら、定数は同じようにして導出される。
ルート指定中間データファイル（続き）
二次元ｋｄツリーが、各レイヤ毎に、そのレイヤのための集約セグメント有意ノード（前述）を使用して作成される。勿論、レイヤ０はどのような集約セグメント有意ノードも含んでおらず、従って、正規ノードを使用してレイヤ０のためのｋｄツリーが作成される。
各ルート指定パーセルがレイヤ０のための中間ルート指定データファイル内に限定されるにつれて、パーセルはパーセルデータのサブセットを含むセルに更に分割される。これらのセルは、512 ナビゲーション単位（１度の 512/100,000）のような所定のサイズを有するように限定される。セルは、ペアノキー順に編成される。各セル内の位置データは、昇順に緯度及び経度によって編成される。これらのセルは、後刻パーセル内のデータの空間的探索を容易にするように使用することができる。
【０１３２】
パーセルが生成されるにつれて、臨時パーセル識別子（「パーセル参照番号」または“ＰＲＮ”と呼ぶ）が割当てられる。パーセルは、グローバルｋｄツリーから深さ優先順（ほぼペアノキー順）に各ファイル内に格納される。
パーセル化されたルート指定データ内の全てのエンティティには、転送ファイル内で使用されたものに対して新しい識別番号が割当てられることに注目されたい。また、エンティティが転送ファイルから最初に生成される時点に、それらにこれらの新しい識別番号が割当てられることにも注目されたい。これらの場合、古い識別番号と新しい識別番号との間の相互参照テーブルが作成される。従って、既に新しい識別番号を割当てられているエンティティにその後のステップが参照を行う時には、これらの相互参照テーブルを使用してエンティティを転送ファイルから（それらは未だ古い識別番号を有している）入手することができる。
【０１３３】
５．地図作成中間データファイル
ルート指定中間データファイルを生成した後に、地図作成中間データファイルが生成される。地図作成中間データファイルは、ポリライン及びポリゴンを含んでいる。ポリラインは、線形特色を表す地理的データベースの地図作成部分内のデータエンティティである。ポリゴンは、エリア特色を表す地理的データベースの地図作成部分内のデータエンティティである。ポリライン及びポリゴンは、ナビゲーションシステム内の視覚ディスプレイ上に像を発生させるために、ナビゲーションシステムの地図表示機能によって使用される。
データ変形レイヤプロセスは、ナビゲート可能な、及びナビゲート不能な両方の特色のためのポリラインを作成する。地図作成データの各レイヤ毎に分離したポリラインが作成される。一般的に言えば、後述するように、ポリラインは、パーセルの境界、またはパーセルの小分けのような若干の制限と矛盾しない各特色の考え得る最長の「ストランド」によって表されるべきである。
【０１３４】
ポリライン転送ファイルを使用して、各ナビゲート不能なポリライン毎のノードが線形順番に順序付けられる。各ポリラインエンティティの長さ及び最小境界画定用矩形が計算される。この計算された長さは他の情報と共に、ポリラインエンティティを所与の地図作成の一般化レイヤ内に含ませるべきか否かを決定するために使用することができる。
セグメント、ノード、及び付属物転送ファイルからのノード、形状点、及びセグメントは、ナビゲート可能なポリラインエンティティ（即ち、道路）を作成するために使用される。ナビゲート可能なポリラインエンティティは、幾つかのセグメントを組合わせてセグメントのより長いスタンドを形成させることによって作成する。ナビゲート可能なポリラインエンティティの場合、若干の属性がポリラインに沿って変化しないままであることを条件として、セグメントはできる限り長いポリラインを構成するように組合わされる。例えば、セグメントが車両のアクセス、平均速度、レーンの数、走行の方向、ランク、または道路の型（例えば、舗装済み、ランプ、有料道路）のような同一属性の何れか１つ、またはそれ以上を有していることを条件に、セグメントはポリラインを形成するように組合わせることができる。ポリラインを構成した後に、ナビゲート可能なポリラインエンティティの長さ及び最小境界画定用矩形が計算される。ナビゲート不能なポリラインの場合と同様に、この長さ値は、ポリラインを所与の地図作成の一般化レイヤ内に含ませるべきか否かを決定するために使用することができる。ナビゲート可能なポリラインの最小境界画定用矩形は、以下に詳述するように、ポリラインがパーセルの細分の境界と交差するか否かを決定するために使用することができる。
【０１３５】
ポリゴン転送ファイルを使用して、各ポリゴンに関連付けられたノードエンティティが反時計方向に順序付けられるように、各ポリゴン毎のノードエンティティが順番に編成される。各ポリゴンエンティティの周縁、面積、及び最小境界画定用矩形が計算され、格納される。これらの計算された値を他の情報と共に使用して、所与の地図作成レイヤ内の図形のオーバレイのための優先順位を決定し、またそのエンティティを所与の地図作成の一般化レイヤ内に含ませるべきか否かを決定するために使用することができる。
順序付けられたポリゴン及びナビゲート不能なポリライン、並びにナビゲート可能なポリラインは、複数のレイヤ内に編成される。各レイヤ毎に１つのポリゴンファイル及び１つのポリラインファイルが作成される。地図作成データのレイヤの数は、ルート指定データのレイヤの数に対応するように選択することができる。例えば、もしルート指定データが５レイヤであれば、地図作成データのレイヤも５レイヤに形成することができる。地図作成データの最低（最稠密）レイヤが最初に形成される。（地図作成データのレイヤの数は、異なるランクのセグメントの数にも対応させることができる。）
ルート指定データと同様に、地図作成データの選択された属性の普通に発生する組合わせを含む正規化された属性テーブルを構成することができる。もし正規化された属性テーブルを使用するのであれば、地図作成正規化された属性テーブルを指すポインタを、選択された地図作成データエンティティ内に含ませることができる。
【０１３６】
地図作成データの各レイヤが形成されるにつれて、そのレイヤ内の地図作成データがパーセル化される。予備的に、各レイヤ毎の位置データ（例えば、緯度、経度）が、位置の経度または緯度の何れかによって編成される。例えば、各位置毎にキーを、位置を指すポインタ、及び位置が対応しているエンティティを指すポインタと共に生成することができる。キーは、それらが指す位置の経度に従って昇順に（左から右へ）編成される。代替として、キーを指すポインタが、緯度によって昇順に編成されたポインタと共に生成される。前述したように、この位置データは、パーセル化のための推定技術に使用される。
もしルート指定データ（または、他の空間的に編成されたデータ）が未だにパーセル化されていなければ、地図作成データの各レイヤは前述したようにしてパーセル化することができる。もしルート指定または他の空間的データのパーセル化に基づいてグローバルｋｄツリーが既に生成されていれば、先に生成された同一境界を使用して地図作成データをパーセル化する。地図カバレッジエリアのための地図作成データは、どのパーセル内のデータの量も最大パーセル量を超えないという要求を満足する最大エリアをカバーするパーセル内に含まれるべきである。従って地図作成データパーセルは、先に生成されたルート指定データパーセルと同一の地理的境界を必ずしも有している必要はない。例えば、もし地理作成データの密度が低ければ、地図作成データをルート指定データ程多く分割してはならないかも知れない。しかしながら、地図作成データを分割してパーセルを形成する際に、ルート指定データをパーセル化する際に生成されたものと同一の分割線が使用されよう。これは、複数のルート指定データパーセルを、１つの地図作成パーセルとして同一地理的エリアに対応させることができる（そして、地図作成データがルート指定データよりも稠密であるような領域では、その逆も真である）ことを暗示している。もし所与のレイヤ内の地図作成データがルート指定データよりも稠密であれば、ルート指定データのパーセル化で限定済みの分割を超えて、地図作成データのさらなる分割を行う必要があり得る。このような地図作成データのさらなる分割は、上述したようにして行うことが可能である。
【０１３７】
地図作成パーセルの小分け
地図作成データの場合、所与のレイヤにおいて各パーセルが限定されるにつれて、パーセルはパーセル内のデータのサブセットを含むセルに更に分割される。これらのセルは、パーセル上にオーバレイされた規則的な格子パターンによって限定することができる。パーセル内にそのパーセルセル構造を識別するヘッダが作成される。
セルは、そのパーセルのカバレッジエリア内の比較的大きい非オーバラップ地理的矩形を表す。これにより、パーセルのカバレッジエリアにオーバラップする探索矩形に対応するデータが抽出し易くなる。セルは、パーセル内の地図作成データによって表される地理的エリアのズーミング及びパンニングを管理するために、地図表示ナビゲーション応用機能によって付加的に使用される。ナビゲーションシステムの好ましい実施例は、媒体からのパーセル内のデータだけを読み出すことはできるが、これらのデータは圧縮されている。従って、地図位置を所与のズームレベルで表示するためには、セル構造を使用することによって、パーセル内のデータのサブセットだけ、即ちセル内容だけを拡張し、ナビゲーション応用へ戻す必要がある。このような小分けを行わない場合には、探索矩形内のデータを探知するためには、パーセル全体を拡張して調べる必要があろう。地図をズームアウトするか、または左右上下にパンする場合には、データのセルの隣接サブセットを使用することができる。
【０１３８】
例えば、図１１Ａにおいて地図表示に必要なエリアは、地図作成パーセルの小さい部分と交差している。パーセル内のデータはセルに編成されているから、地図表示エリアと交差している２つのセル内に含まれるデータだけを調べればよい。所与の矩形にオーバラップしているセルは、地図パーセル内部のｋｄツリー（その各葉ノードがセルを表している）を探索することによって見出し得る。各セルが、ポリラインレコードの連続間隔、ポリゴンレコードの連続間隔、及び点レコードの連続間隔を備えているように、あるセル内の所与の型のレコードは連続的に格納されている。
図１１Ｂは、地図作成パーセルの内部ｋｄツリーエントリを示している。前述したように、矩形の最小囲い２I ×２J タイルの何れかの 1/32 分割において、ｋｄツリーのためのカットが限定される。ｋｄツリーの各葉ノードはセルを表し、地図作成エントリレコードの１組の間隔に対応している。
【０１３９】
パーセルの小分けは、セル境界において大きいポリゴン及び長いポリラインをも破る。これらのパーセルセルの境界を明確に画定するために、セル境界と交差するポリゴン及びポリラインは、セル境界に従うように切り取る、またはクリップすることができる。例えば、図１１Ｃに示すように、もしポリゴンエンティティＰＧ１０が６つの異なるセルＣ１−Ｃ６の部分を占める湖を表しているものとすれば、この湖を表すポリゴンエンティティは、各セルＣ１−Ｃ６内に位置する湖の部分を表す６つの分離したポリゴンエンティティ（ＰＧ１１−ＰＧ１６で示す）によって置換される。これらの各新しいポリゴンエンティティには、セル内に新しいエンティティ識別番号が与えられるので、地図表示のために適切なデータを読み出すことができる。一実施例では、ポリゴンエンティティは、それらがどのセル内に位置しているのかを指示する情報は含んでいない。
【０１４０】
６．相互参照中間データファイル
ルート指定及び地図作成データをパーセル化した後に、相互参照ファイルを作成し、地図作成データの各レイヤ内の各パーセル内のエンティティと、ルート指定データのパーセル内のルート指定エンティティとを相関させることができる。一実施例では、地図作成エンティティは、ルート指定データのレイヤ０内のルート指定データエンティティだけに相関付けられる。これらの相互参照ファイルは、例えば、ルート計算応用によって計算されたルートを形成するルート指定データ内のセグメントエンティティに対応するルートを表示し、強調表示（ハイライト）させるべく、ナビゲーション応用プログラムが適切な地図作成データを見出すために使用することができる。
【０１４１】
７．場所中間データファイル及び場所インデックス
場所データとは、例えば市、郡、近隣等のような管理エリア及びゾーンのことをいう。データ変形レイヤプロセスは、管理エリア、セグメントノード、及び付属物転送ファイルを使用して場所中間データファイル及びインデックスを作成する。これらの転送ファイルはメモリ内にロードされ、場所は、例えば、国、州、郡、市等のような階層順に編成される。一般的に言えば、階層の各レコードにおいて、同一の管理階層親場所を有する場所は、一緒に配列され、アルファベット順に順序付けられる。しかしながら、もしある場所の直の階層管理親が「住所有意」ではないと決定されれば、その場所は、住所有意であると決定されている階層内の次に高いレベル親に基づいて、同一の階層管理親場所を有する他の場所と一緒に配列され、アルファベット順に順序付けられる。ある場所は、それが通常は住所を限定するために使用されない場合に、「住所有意」ではないと決定される。例えば、米国内の住所情報は、典型的には自治体（例えば、市、町、村）を含み、自治体の直の管理階層親は郡である。しかしながら、郡は通常は住所に使用されないから、米国では郡は住所有意ではない。従って次に高い階層管理親、即ち州が使用される（何故ならば、州は住所に使用され、従って住所有意である）。この場合、市及び郡は共に、それらが位置している州によって編成されることになろう。
【０１４２】
異なるレベルの階層における関連場所間のポインタが生成される（例えば、市はそれが位置する郡を指し、郡はそれが位置する州を指し、その逆も真である）。また各場所毎に、最小境界画定用矩形を計算することができる。各場所毎の最小境界画定用矩形は、階層の最低レベルにおいて決定され、格納される。階層内の各高レベル場所毎の最小境界画定用矩形は、その場所内に含まれるより低い場所の最小境界画定用矩形を組合わせ、次いでこれらの組合わされた矩形のための最小境界画定用矩形を生成することによって計算することができる。場所に関連付けられた最小境界画定用矩形は、ナビゲーション応用プログラムによる空間的探索を容易ならしめる。
場所名のために、Ｂツリー（平衡多方向探索樹）インデックスファイルを作成することができる。これらのインデックスは、これらの場所のための識別番号順にこれらの場所名を含む。インデックスファイル内の各エントリは、関連パーセル内の場所のレコードを指すポインタを有している。場所データは、ハフマンエンコーディングまたは他の公知の圧縮方法を使用して圧縮することができる。
【０１４３】
場所データは場所中間データファイル内に格納される。他の中間データファイルと同様に、場所データファイルもそれが作成されるにつれてパーセル化される。しかしながら、空間的に編成されたデータとは異なり、場所データは空間的にはパーセル化されない。その代わりとして、場所データは、場所中間データファイルのパーセルが最大パーセル量に近接するように、しかしそれよりは小さくなるように、サイズだけに基づいて（場所エンティティが配列されている順序で）パーセル化される。
８．郵便コード中間データファイル及び郵便コードインデックス
データ変形レイヤプロセスは、郵便コード及びセグメント転送ファイルからの郵便コードデータを使用して、郵便コード中間データファイル及びインデックスを生成する。これらのファイルはメモリ内にロードされ、郵便コードは英数字順に編成される。各郵便コード毎に、郵便コードを有するセグメントに基づいて最小境界画定用矩形が計算される。郵便コードのための最小境界画定用矩形は、郵便コードをベースとする空間的探索を容易にするために、ナビゲーション応用プログラムによって使用することができる。
【０１４４】
各郵便コードの関連パーセルを指すポインタを含む郵便コードについて、Ｂツリーインデックスファイルを作成することができる。郵便コードデータは、ハフマンエンコーディングまたは他の公知の圧縮方法を使用して圧縮することができる。
郵便コードデータは、郵便コード中間データファイル内に格納される。場所中間データファイルと同様に、郵便コード中間データファイルは、データの量に基づいてパーセル化される。
９．ナビゲート可能な特色名中間データファイル及びインデックス
データ変形レイヤプロセスは、名前転送ファイル及び付属物転送ファイルからのナビゲート可能な特色名データを使用してナビゲーション特色名中間データ及びインデックスを生成する。これらのファイルはメモリ内にロードされ、名前はアルファベット順に編成される。ナビゲート可能な特色名のために、Ｂツリーインデックスファイルを作成することができる。これらのインデックスファイルは名前レコードを含み、各レコードは名前に関連したパーセルを指すポインタを含んでいる。ナビゲート可能な特色名データは、ハフマンエンコーディングまたは他の公知の圧縮方法を使用して圧縮することができる。
【０１４５】
ナビゲート可能な特色名データは、ナビゲート可能な特色名のベース名によってアルファベット順に格納される。格納されたナビゲート可能な特色名データはパーセル化され、中間データファイル内に格納される。
１０．ナビゲート可能な特色（場所によって順序付けされている）中間データファイル
ナビゲート可能な特色の識別番号も、場所階層の最低レコードにおける各場所毎に編成される。各ナビゲート可能な特色が関連付けられている１つまたは複数の場所は、ナビゲート可能な特色を構成しているセグメントから決定される。より詳しく述べると、このような各セグメント毎に、そのセグメントが位置している管理エリアはセグメント転送ファイルから決定することができ、そのセグメントのための道路名は付属物転送ファイルから決定することができる。従って、管理エリアを、ナビゲート可能な特色のための道路名に相関させることができる。場所は、それらの識別番号によって編成される。各場所毎のナビゲート可能な特色の識別番号は、これらの場所内に昇順で編成される。更に、各ナビゲート可能な特色の識別番号レコードは運転パーセルの１つまたは複数の識別番号をも含んでおり、関連する場所内にナビゲート可能な特色を見出すことができるようになっている。
【０１４６】
このデータは、場所によって編成された道路のリストを生成するために、及び道路／場所組合わせに関連するセグメントを識別するために、ナビゲーション応用プログラムによって使用することができる。
場所によって順序付けられたナビゲート可能な特色のために、少なくとも２つのＢツリーインデックスファイルを作成することができる。１つのインデックスファイルは場所情報を一次キーとして使用し、ナビゲート可能な特色ベース名を二次キーとして使用する。このインデックスファイルは、ある場所内のベース名と一致するナビゲート可能な特色を探知するために使用される。他のインデックスファイルは、ナビゲート可能な特色のＩＤを一次キーとして使用する。このインデックスファイルは、ナビゲート可能な特色のＩＤが既に知られており、その場所のようなナビゲート可能な特色に関する付加的な情報を入手したい場合に使用される（例えば、先行探索から）。
【０１４７】
１１．運転中間データファイル
運転データは、セグメント及びそれらのアドレス範囲、ナビゲート可能な特色の識別番号、道路標識情報、及び例えばセグメントとナビゲート可能な特色との間の、及びその逆のエンティティ間の相互参照を含んでいる。
データ変形レイヤプロセスは、セグメント、ノード、及び付属物転送ファイルを使用して運転中間データファイル及びインデックスを生成する。種々のエンティティ間に関係を確立するためにポインタが作成される。例えば、ポインタが、ルート指定データ内のセグメントと、場所データ内の場所名との間の関係を確立する。別の例では、あるセグメントは、そのセグメントエンティティの端点のノードのレコードを指すポインタを有している。
【０１４８】
生成形状点を計算し、運転セグメントと共に格納することも、または代替として、ルート指定中間データファイルの生成中に作成された生成形状点を使用することもできる。
ペアノキーアレイを作成するために、ノード、形状点、及び人工形状点（今はメモリ内にある）のための位置データが使用される。代替として、ルート指定中間データファイルのために生成されたペアノキーアレイを使用することができる。
運転データパーセル（ナビゲート可能な特色名及び場所のような）を生成するために転送ファイルから入手したデータの若干は、他の型のデータのための中間ファイルを先に生成した時に既に新しい識別番号が割当てられていることがあり得る。従って、これらのエンティティのための古い識別番号は、各中間ファイルを作成する時に生成される相互参照テーブルを使用して、新しい識別番号に変換される。
【０１４９】
運転データは、先に生成されたグローバルｋｄツリーを使用してパーセル化される。運転データは、各パーセル毎に所望の最小充填率を満足するようにパーセル化すべきである。所与の地理的エリアのための運転データは、所望の最小充填率が満足される最大エリアをカバーするパーセル内に含まれるべきである。もし先に限定されたパーセルに対応する地理的矩形エリア内に取り囲まれている運転データが最大パーセル量を超えれば、前述したように所望のパーセル量を達成するために、そのデータをより小さい矩形エリアに対応する集約（グルーピング）に更に分割することができる。
運転データの場合、各パーセルが限定されるにつれて、セグメントをそのパーセル内部のセルインデックスに関連付けることができる。セルインデックスは、緯度及び経度の組合わせであることができる。パーセルは、セルに分割されたものとして表され、各セルは１度の 256/100,000のような規則的なサイズの地理的エリアとして限定される。パーセル内の各セグメント毎に最小境界画定用矩形が計算され、セグメントの最小境界画定用矩形の最も北及び最も南の隅に位置しているセルが識別される。次いでこれらのセルがセグメントに関連付けられる。（最小境界画定用矩形の最も北及び最も南の両方の隅が同一セル内に位置することがあり得るが、もしそうであれば、この情報は相応にセグメントに関連付けられる。）セグメントデータのこの配列によって、セグメントがまたがっているセルを迅速に調べることができるために、パーセル内のデータの空間的探索が容易になる。
【０１５０】
１２．関心点及びサード・パーティ中間データファイル
関心点転送ファイル９３０を使用して、別のデータ変形レイヤプロセスはこれらのデータを読み出し、関心点中間データファイルを生成する。この中間ファイルを作成する際に、このプロセスは関心点を、地図作成中間データファイル内の地図作成データのパーセルと同一の境界を有するパーセルに空間的に編成する。この段において、もしサード・パーティデータが転送ファイルフォーマット内に含まれていれば、これらのデータも中間ファイル及び関連インデックスに編成される。サード・パーティ中間データファイルを生成する際に、データは、前述したように地図作成及び関心点パーセルと同一の境界を有するパーセルに編成される。
【０１５１】
１３．近隣ｋｄツリー中間データファイル
全ての空間的データ（ルート指定、地図作成、及び地図作成相互参照データ）をパーセル化した後に、変形レイヤプロセスは、各型の空間的データのための各パーセル内に近隣ｋｄツリーを格納する。あるパーセル内の近隣ｋｄツリーは、そのパーセル、そのパーセルの１つまたは複数の親（もしあれば）、そのパーセルの子（もしあれば）、及びそのパーセルの隣接パーセル（もしあれば）を識別する。これらの近隣ｋｄツリーは、空間的な探索のために、及び１つのパーセルに別のパーセルからアクセスするために、ナビゲーション応用プログラムによって使用することができる。
１４．グローバルｋｄツリー中間データファイル
空間的に編成された各パーセル毎に近隣ｋｄツリーが限定され、格納された後に、グローバルｋｄツリーは圧縮された形状に変換され、中間ファイル内に格納される。
【０１５２】
Ｄ．物理的記憶フォーマット分離レイヤ
前述したように、地理的データセットコンパイラ９００は出力９０５を供給する。この出力９０５を発生するコンパイラ９００の成分は、物理的記憶フォーマット分離レイヤ９１４である。物理的記憶フォーマット分離レイヤ９１４は、データ変形レイヤ９１０によって生成された中間データファイル９２７から出力９０５を発生させる。分離レイヤ９１４は、前述した配置計画に従って、中間データファイル９２７から媒体に特定のフォーマットを形成する。
物理的記憶フォーマット分離レイヤ９１４によって得られる利点の１つは、それが、データ変形レイヤプロセスのような残りの地理的データセットコンパイラプロセスを、特定の異なる型の媒体のディテール及び特性から分離することである。異なる型の媒体は、種々のデータ成分について異なる配置及び冗長戦略から利益を得ることができる。例えば、ＣＤ−ＲＯＭ上では、最も屡々アクセスされることが予測されるか、または最高に早いアクセス時間が要求されるデータは、内側トラックの近くに配置される。
【０１５３】
図９Ｃを参照する。物理的記憶フォーマット分離レイヤ９１４によって発生された出力９０５は、少なくとも１つの記憶媒体地理的データファイル１００１を含んでいる。記憶媒体地理的データファイル１００１は、データ変形レイヤ９１０によって作成された中間ファイル９２７内に含まれる個々のパーセルの全てを含んでいる。分離レイヤ９１４において、これらの個々のパーセル化された中間ファイル９２７が単一のファイルに連結され、記憶媒体ファイル１００１が形成される。
分離レイヤ９１４において、１つより多い地図データカバレッジエリア（ＤＣＡ）を、単一の記憶媒体地理的データファイル１００１に組合わせることができる。各地図データカバレッジエリアは、図４Ａの領域１００のような特定の地理的領域に関係付けられる。もし単一の地理的データファイル１００１内に複数の地図データカバレッジエリアが含まれていれば、各地図データカバレッジエリアはそれ自体の地図データファイルヘッダを含む。（地図データヘッダファイルは、後述するように、その特定データカバレッジエリアに適用可能なグローバルデータを含んでいる。）例えば、ファイル１００１は２つの地図データカバレッジエリアと、相応して２つのヘッダ１００４及び１００５とを含んでいる。地図データファイルヘッダは、それが関係を有しているデータのパーセルの直前の記憶媒体地理的データファイル内に配置される。
【０１５４】
分離レイヤ９１４の出力９０５の一部として含まれているのは、媒体ファイルまたは成分１００９である。媒体ファイル／成分１００９は、分離したファイルとして形成することができ、また好ましくは、媒体ファイル１００９は記憶媒体地理的データファイル１００１のパーセル化された成分（即ち、「媒体成分」）として形成することもできる。媒体成分１００９は、全体として記憶媒体に関係するグローバルデータを含んでいる。
ファイル１００１内のデータの配置は、種々の中間データファイルを単一のファイルに連結し、各中間データファイル毎にオフセット（「パーセルＩＤ」と呼ぶ）を作成することによって与えられる。パーセルＩＤは、パーセルサイズ、冗長度、及びファイル１００１の開始からのオフセットの組合わせである。従ってパーセルＩＤは、本質的に媒体特性に依存する。パーセルＩＤは、媒体上の特定のパーセルを迅速に探知可能にするだけではなく、パーセルのサイズを識別する情報を担持しているために、ナビゲーション応用プログラムが、パーセルをロードするのに充分なメモリを適切に割当てることを可能にする。ＣＤ−ＲＯＭの場合、パーセルＩＤはセクタ番号を反映することが好ましい。ＰＣＭＣＩＡカードの場合には、パーセルＩＤは、例えば 256バイトの単位でバイトオフセットを反映する。パーセルＩＤの１ビットはパーセルの余分の（冗長）コピーを指示するために使用される。これらのコピー（もしあれば）の位置は、ナビゲーション応用によってメモリ常駐テーブルから決定することができる。ＣＤ−ＲＯＭのような媒体の場合、媒体上に格納されている種々のコピーの中から選択する能力によってＣＤヘッドに最も近い冗長コピーを選択することができるために、データ検索時間が短縮される。一代替実施例では、データの冗長コピーを、「グローバルｋｄツリー」のようなインデックス情報のために使用することができる。
【０１５５】
中間データファイル内の全てのデータはパーセル化されているから（考え得る若干のグローバルデータを除く）、パーセル参照をパーセルＩＤで置換できるようになる前に、パーセルは先ず特定のシーケンス内に滞在する。パーセルプレースホールダ( placeholder ) 情報がこの目的のために設けられている。この情報は、バイトオフセットに翻訳することができる先に生成された「パーセル参照番号」（ＰＲＮ）、またはパーセルインデックスの形状である。パーセルインデックス（０−ｎ）は、中間データファイルを作成するデータ変形レイヤ９１０内の各プロセスによって生成される生の順次インデックスである。従って、分離レイヤ９１４は先ず中間データファイルからのパーセルをロードし、パーセルを最寄りの境界単位に丸められた所定のシーケンスに書き直す。次いで、パーセル参照番号が新たに生成されたパーセルＩＤによって置換される。この第２の段階は、含まれている特定のデータ構造の知識を含む。この第２のステップが処理するパーセルには２つの型が存在する。データパーセルに対してローカルのパーセル参照番号は、そのパーセル型のための適切なパーセルヘッダを読み込み、これらのパーセル参照番号を含むパーセルテーブルにはヘッダを通してアクセスする必要がある。対応するパーセルＩＤに対するパーセル参照番号を更新するためには、インデックスパーセル内に担持されているパーセル参照番号が、特定のインデックスファイルパーセルを読み込み、インデックスツリーを辿る必要がある。空間的、及び非空間的インデックスが存在するから、このステップはインデックスツリーを生成する際に開発された情報を使用する。
【０１５６】
このプロセスを遂行する一代替アプローチは、各パーセル参照番号毎のオフセットを含む補助ファイルを準備することである。インデックスツリーパーセル参照番号の更新は、オフセットによって指示された特定の位置にアクセスし、次いでその位置におけるパーセル参照番号を実際のパーセルオフセットを含む既存テーブルへのインデックスとして使用することを含む。
別の代替アプローチは、パーセル参照番号の位置まで下がってナビゲートする機能をも含む中間データファイルを発生するデータ変形レイヤ内に、物理的記憶フォーマット分離レイヤ９１４がパーセル参照番号をパーセルＩＤに置換できるようにするプロセスを設けることである。以下に概要を説明する方法は、この後者のアプローチに基づくものである。
【０１５７】
物理的記憶フォーマット分離レイヤ９１４の動作の２つの有用な副産物は、パーセル冗長度テーブル及びインデックス根パーセルＩＤの生成である。
どのような異なる型の記憶媒体の場合でも、地理的データ出力ファイル１００１を含む出力ファイルが先ずハードディスク上に作成される。出力ファイルをＣＤ−ＲＯＭのような実際の記憶デバイス２２へ転写するのは、当分野においては公知のマスタリングプロセス９１７の機能である。
２．物理的記憶フォーマット分離レイヤの成分
分離レイヤ９１４は、入力として、データ変形レイヤ９１０によって生成された中間データファイル９２７、及びデータ変形レイヤ９１０によって各中間データファイル毎に生成された補助ファイル９４９を使用する。分離レイヤプロセスは、データカバレッジエリア名、使用中の媒体の型、及び記憶媒体上の開始ユニット（または、位置ユニット）の１つまたはそれ以上を識別する入力を受入れるように構成可能であることができる（手動入力プロンプト、または構成ファイルからの何れかによって）。分離レイヤは、好ましいデータ配置順及び冗長性情報を含むルックアップファイル１０２０（「データ マップファイル」と呼ぶ）も使用する。冗長性は、異なるデータファイルユニットが繰り返し出現することによって暗示される。
【０１５８】
前述したように、各中間データファイル毎に補助ファイル（「オフセット記述子ファイル」と呼ぶ）が生成される。「オフセット記述子ファイル」は、各中間データファイル毎のパーセルオフセット及びパーセルサイズを含んでいる。例えば、中間データファイル９４３はデータパーセル９４３Ａ、９４３Ａ、９４３Ａ・・・を含み、この中間データファイル９４３に関連付けられている補助ファイル９５３は中間データファイル９４３のパーセルオフセット及びサイズを含んでいる。パーセルオフセットは、ファイルの開始からのそのパーセルのバイトオフセットを表している。好ましい実施例では、「オフセット記述子」ファイルは、全てのレイヤの各型の中間データファイル毎に存在する。例として、ルート指定レイヤ０乃至レイヤ４ファイルのための中間データファイルは、各々それ自体の「オフセット記述子」ファイル（ファイル内のパーセル参照番号によって明示的にインデックスされるバイトオフセットのテーブルを含む）に関連付けられている。好ましい実施例では、インデックス及び関連グローバルデータファイルを含む各中間データファイルは、ファイル内に含まれているパーセルの合計数を指示する固定サイズのファイルヘッダを有している。
【０１５９】
分離レイヤは、ディスク上のデータファイルユニット、及び付随する「オフセット記述子」ファイルの両方のためのファイルエクステンション及び接尾部を識別する情報を含む各中間データファイル毎のファイル１０３０（「ファイル情報記述子」ファイルと呼ぶ）をも使用する。「ファイル情報記述子」ファイル１０３０は、特定の中間ディスクファイルが何等かのパーセル参照番号を含むか否かを指示する情報をも含む。
３．物理的記憶フォーマット分離レイヤの動作
分離レイヤ９１４においては、シーケンスに書き直される前に各パーセルを調べ、データを書き込む記憶媒体に関連する境界単位のサイズにパーセルを均等に順応させるには、パーセルのサイズをどの程度多く増加させるべきかを決定する。記憶媒体が異なれば、境界単位のサイズも異なり得る。例えば、ＣＤ−ＲＯＭの場合には境界単位は 2048 バイトであり、ＰＣＭＣＩＡカードの場合には境界単位は 256バイトである。パーセルが媒体の境界単位の倍数に正確に対応するサイズを有していない限り、パーセルのサイズはある量のパディング（「丸め調整」ともいう）を追加することによって、パーセルを境界単位の次に最大の倍数に対応するサイズに「切上げ」られる。中間データファイル内の各パーセルは異なる量のデータを有し得るので、パディングの量は各中間ファイル内の各パーセル毎に別個に計算される。
【０１６０】
パーセルのサイズを媒体上の境界単位の次に大きい倍数に合わせるようにパーセルにパディングを行うには、先ずパーセルのサイズを物理的境界単位の数の表現で決定する必要がある。媒体の型に依存して、これは２つの公式の一方を使用することを含む。
境界単位が２×Ｋ（Ｋ＝1024バイト）であるＣＤ−ＲＯＭの場合には、丸め調整は次の２Ｋ単位に丸められた（パーセル サイズ％２×Ｋ）に等しい（ここに「パーセル サイズ」は、パーセルが中間データファイル内に存在する時のパーセルのサイズに等しい）。
境界単位が 256バイトであるＰＣＭＣＩＡカードの場合には、丸め調整は次の 256単位に丸められた（パーセル サイズ％ 256）に等しい（ここに「パーセル サイズ」は、パーセルが中間データファイル内に存在する時のパーセルのサイズに等しい）。
【０１６１】
もしＣＤ−ＲＯＭまたはＰＣＭＣＩＡカード以外の媒体を使用するのであれば、異なるサイズの異なる境界単位が存在し得るので、丸め調整は相応して変更される。
分離レイヤ９１４は、媒体の型、地図カバレッジエリア等を識別する適切なパラメータを用いて初期化される。また、順序及び冗長性を指示するルックアップファイル１０２０（即ち、「データ マップ」ファイル）がロードされる。ルックアップファイル１０２０を通る第１のパスがメモリ内で遂行され、中間データファイル及び冗長性の合計数が決定される。もし特定のファイルがそのデータカバレッジエリア内に存在しなければ、分離レイヤプロセスは、失われたファイルが最小セットの一部ではない限り、次のファイルへ移動する。最小セットは、例えばグローバルデータ、少なくとも１組のインデックス、及び中間データファイルを含むことができる。
【０１６２】
第１の中間データファイル内の各パーセルのサイズ及び位置を識別する補助ファイル（即ち、「オフセット記述子」ファイル）を使用してパーセルがメモリ内に読み込まれ、そのパーセルを最大の境界単位に丸めた後に、ディスク上の記憶フォーマットファイル１００１へ書き戻される。パーセルが書き込まれた後に、補助ファイルを使用して、プロセスは第１の中間データファイル内の次のパーセル上に移動する。丸め調整が再度計算され、パーセル＋丸め調整がディスクへ書き込まれる。プロセスは、第１の中間データファイル内の全てのパーセルがパディングされ、ディスクに書き込まれるまで続行する。パーセルがディスクに書き込まれるにつれて、パーセルＩＤが各パーセルに割当てられる。各パーセルには独特のＩＤが割当てられ、好ましい実施例ではパーセルＩＤは、物理的記憶フォーマットデータファイルの始まりからのオフセット＋パーセルのサイズ（丸め調整を考慮している）＋冗長情報の組合わせを表している。
【０１６３】
第１の中間データファイルからのパーセルがパディングされ、パーセルＩＤが割当てられ、そしてディスクに書き込まれた後に、次の中間データファイル（例えば、９４５）がメモリ内にロードされ、第１の中間データファイルと同じようにして、そのパーセルはパディングされ、パーセルＩＤが割当てられ、そしてディスクへ書き込まれる。前述したように、中間データファイルが処理されるシーケンスは、ルックアップファイル１０２０（「データ マップ」）を参照することによって決定される。第２の、及びその後の中間データファイルが処理されると、これらの中間データファイル内のパーセルは同一記憶フォーマットデータファイル１００１内へ書き込まれる。相応して、第２の、及びその後の中間データファイル内のパーセルには、第１の中間データファイルから書き込まれたパーセルを既に含んでいる同一の記憶フォーマットファイル１００１の開始からのオフセット（＋パーセルサイズ）であるパーセルＩＤが割当てられる。冗長パーセル（もしあれば）の場合には、新しい組のパーセルＩＤを受け入れるように拡張された同一プロセスが使用される。このプロセスが終わると、「データ マップ」ファイル内に存在する全てのデータ型についてパーセルＩＤが作成されており、媒体上で使用可能になっている。好ましい実施例では、あるデータベース領域のための全ての異なる中間データファイルからの全てのパーセルは、単一の領域当たりの記憶フォーマットデータファイル内に含まれている（即ち、全ての中間データファイルが結合型プロセス内に併合されている）。
【０１６４】
中間データファイルからの全てのパーセルが記憶フォーマットデータファイルに連結された後に、分離レイヤプロセスは、ディスクに書き込まれたディスクパーセル内の全てのパーセル参照番号を更新する。インデックスファイルを含む多くのデータは、同一パーセル内の、または他のパーセル内の何れかの他のデータに対する参照を含んでいる。ナビゲーション応用機能の動作を強化するために、これらの他のデータへの参照は、割当てられたパーセルＩＤを含むように更新される。先行分離レイヤプロセスが全てのパーセルに新しいパーセルＩＤを割当てているから、パーセル内部の全てのパーセル参照（先に割当てられたパーセル参照番号）は、これらの新たに割当てられたパーセルＩＤを使用して更新されなければならない。好ましい実施例においては、ルックアップファイル（「データ マップ」）は、更新を必要とするパーセル参照番号を有するパーセルを含む中間データファイルの型を識別する情報を含んでいる。分離レイヤ内のプロセスは、ディスクへ書き込まれた各パーセル毎に、パーセルＩＤ、及び先にそのパーセルに関連付けられたパーセル参照番号を追跡するテーブルを形成する。更新を必要とするパーセルを含む中間データファイルの場合、分離レイヤプロセスはパーセル内のパーセル参照番号までのオフセットを識別するためにルックアップファイルを使用する。全てのパーセル内の総てのパーセル参照番号が探知され、適切なパーセルＩＤに置換される。
【０１６５】
前述したように、物理的記憶フォーマットデータファイル１００１内には、１つより多い地図カバレッジエリア（即ち、データベース領域）を含むことができる。上述したプロセスは、同一物理的記憶フォーマットデータファイル１００１内に含まれるその後の地図カバレッジエリアを追跡する。代替として、付加的な地図カバレッジエリアを分離した物理的記憶フォーマットデータファイル内に含ませることができる。
この物理的記憶フォーマットデータファイル１００１は、ファイル１００１を記憶媒体上に書き込むマスタリングプロセス９１７において使用される。出力ファイルが媒体上に書き込まれると、それは図９Ｃに示す編成を保持する。マスタリングプロセスは普通のものであってよい。出力ファイル１００１がＣＤ−ＲＯＭのような物理的媒体上に格納されると、パーセルＩＤは媒体上の位置に直接的に対応するデータ内を参照するから、パーセルＩＤ情報は媒体上のデータの位置を迅速に探知することができる。即ち、上述した実施例では、パーセルＩＤは、媒体上に格納されている単一の地図データファイルの開始からのオフセット（＋パーセルサイズ）を表す。この情報を使用して、データが格納されている媒体上の位置を直接探知することができる。これは、記憶媒体上の地理的データを使用するナビゲーション応用機能の速度及び動作を強化する可能性を与える。
【０１６６】
ＶＩ．代替実施例
さらなる代替実施例では、ナビゲーションシステムは、無線通信を組み込むんで、それが使用する若干のまたは全てのデータを遠隔位置または中央位置から入手することができる。これらの代替実施例では、地理的データは遠隔または中央位置から供給することも、または代替として、若干のまたは全ての情報を無線通信を介して入手することもできる。例えば、無線通信を介して更新または実時間交通情報を供給し、車載ナビゲーションシステムに設置された地理的データベースを補足することができる。
以上の詳細な説明は単なる例示に過ぎず、本発明を限定するものではなく、特許請求の範囲が本発明の範囲を限定するものであることを理解されたい。
【図面の簡単な説明】
【０１６７】
【図１】地理的データ、及びオプションとして他のデータを格納している記憶媒体を含むナビゲーションシステムを示す図である。
【図２】図１のナビゲーションシステムのソフトウェア成分を示す図である。
【図３】図１の記憶デバイス上に格納されているナビゲーションデータファイルの型を示す図である。
【図４Ａ】図４Ａは、図１の記憶デバイス上のナビゲーションデータを編成するためのパーセル化プロセスを示す図である。
【図４Ｂ】図４Ｂは、図１の記憶デバイス上のナビゲーションデータを編成するためのパーセル化プロセスを示す図である。
【図４Ｃ】図４Ｃは、図１の記憶デバイス上のナビゲーションデータを編成するためのパーセル化プロセスを示す図である。
【図４Ｄ】図４Ｄは、図１の記憶デバイス上のナビゲーションデータを編成するためのパーセル化プロセスを示す図である。
【図５Ａ】図５Ａは、図１の記憶デバイス上のナビゲーションデータの若干からなるパーセル内の関連データを含むプロセスを示す図である。
【図５Ｂ】図５Ｂは、図１の記憶デバイス上のナビゲーションデータの若干からなるパーセル内の関連データを含むプロセスを示す図である。
【図５Ｃ】図５Ｃは、図１の記憶デバイス上のナビゲーションデータの若干からなるパーセル内の関連データを含むプロセスを示す図である。
【図５Ｄ】図５Ｄは、図１の記憶デバイス上のナビゲーションデータの若干からなるパーセル内の関連データを含むプロセスを示す図である。
【図５Ｅ】図Ｅは、図１の記憶デバイス上のナビゲーションデータの若干からなるパーセル内の関連データを含むプロセスを示す図である。
【図６Ａ】図６Ａは、図３に示すルート計算地理的データセットにおいて、複数の正規ノードをスーパーノードに置換するプロセスを示す図である。
【図６Ｂ】図６Ｂは、図３に示すルート計算地理的データセットにおいて、複数の正規ノードをスーパーノードに置換するプロセスを示す図である。
【図６Ｃ】図６Ｃは、図３に示すルート計算地理的データセットにおいて、複数の正規ノードをスーパーノードに置換するプロセスを示す図である。
【図６Ｄ】図６Ｄは、図３に示すルート計算地理的データセットにおいて、複数の正規ノードをスーパーノードに置換するプロセスを示す図である。
【図６Ｅ】図６Ｅは、図３に示すルート計算地理的データセットにおいて、複数の正規ノードをスーパーノードに置換するプロセスを示す図である。
【図６Ｆ】図Ｆは、図３に示すルート計算地理的データセットにおいて、複数の正規ノードをスーパーノードに置換するプロセスを示す図である。
【図７Ａ】図７Ａは、図３に示す地理的データセット内の若干のデータエントリ内の若干のデータ属性を表すために正規化された属性アレイの使用を示す図である。
【図７Ｂ】図７Ｂは、図３に示す地理的データセット内の若干のデータエントリ内の若干のデータ属性を表すために正規化された属性アレイの使用を示す図である。
【図８Ａ】図８Ａは、図３に示すルート計算地理的データセットにおいて使用するためのセグメント集約手順を示す図である。
【図８Ｂ】図８Ｂは、図３に示すルート計算地理的データセットにおいて使用するためのセグメント集約手順を示す図である。
【図８Ｃ】図８Ｃは、図３に示すルート計算地理的データセットにおいて使用するためのセグメント集約手順を示す図である。
【図８Ｄ】図８Ｄは、図３に示すルート計算地理的データセットにおいて使用するためのセグメント集約手順を示す図である。
【図８Ｅ】図８Ｅは、図８Ｄの集約セグメントと、それが関連付けられている他のデータとの関係を示す図である。
【図９Ａ】図９Ａは、図１のナビゲーションシステムに使用するために記憶媒体上に格納される地理的データベースを生成するための地理的データセットコンパイラの一実施例の成分を示す流れ図である。
【図９Ｂ】図１のナビゲーションシステムに使用するために記憶媒体上に格納される地理的データベースを生成するための地理的データセットコンパイラの一実施例の成分を示す流れ図である。
【図９Ｃ】図１のナビゲーションシステムに使用するために記憶媒体上に格納される地理的データベースを生成するための地理的データセットコンパイラの一実施例の成分を示す流れ図である。
【図１０Ａ】図１０Ａは、図９Ａ−２８に示すコンパイラにおけるプロセスで発生する「生成形状点」を示す図である。
【図１０Ｂ】図１０Ｂは、図９Ａ−２８に示すコンパイラにおけるプロセスで発生する「生成形状点」を示す図である。
【図１１Ａ】図１１Ａは、図９Ａ−２８に示すコンパイラにおけるプロセスによる地図作成データの小分けを示す図である。
【図１１Ｂ】図１１Ｂは、図９Ａ−２８に示すコンパイラにおけるプロセスによる地図作成データの小分けを示す図である。
【図１１Ｃ】図１１Ｃは、図９Ａ−２８に示すコンパイラにおけるプロセスによる地図作成データの小分けを示す図である。
【符号の説明】
【０１６８】
１０  ナビゲーションシステム
１２  プロセッサ
１４  ドライブ
１６  メモリ記憶デバイス
１８  ナビゲーション応用ソフトウェアプログラム
２０  メモリ
２２  記憶媒体
２４  測位システム
２７  ディスプレイ
２８  ルート計算機能
２９  スピーカ
３０  地図表示機能
３２  運転生成機能
３４  他の機能（サブプログラム）
４０  地理的データ
４１  インタフェースレイヤ
４８  ルート計算パーセル
５０  地図作成パーセル
５２  運転パーセル
５３  参照パーセル
５４  関心点パーセル
６０  非空間的に編成されたデータ
６１  サード・パーティデータ
６２  ナビゲート可能特色
６３  場所
６４  郵便コード
６５  交差道路／ジャンクション
６６  地図作成上の特色
１００  地理的エリア
１０１  ノード
１０２  最大・最小緯（経）度のノード
１０６  最小境界画定用矩形
１０７  最小囲みダイ・タイル
１０８  格子
１１０  初期タイル
９００  地理的データセットコンパイラ
【図１】
0004447585.tif 000002
【図２】
0004447585.tif 000003
【図３】
0004447585.tif 000004
【図４Ａ】
0004447585.tif 000005
【図４Ｂ】
0004447585.tif 000006
【図４Ｃ】
0004447585.tif 000007
【図４Ｄ】
0004447585.tif 000008
【図５Ａ】
0004447585.tif 000009
【図５Ｂ】
0004447585.tif 000010
【図５Ｃ】
0004447585.tif 000011
【図５Ｄ】
0004447585.tif 000012
【図５Ｅ】
0004447585.tif 000013
【図６Ａ】
0004447585.tif 000014
【図６Ｂ】
0004447585.tif 000015
【図６Ｃ】
0004447585.tif 000016
【図６Ｄ】
0004447585.tif 000017
【図６Ｅ】
0004447585.tif 000018
【図６Ｆ】
0004447585.tif 000019
【図７Ａ】
0004447585.tif 000020
【図７Ｂ】
0004447585.tif 000021
【図８Ａ】
0004447585.tif 000022
【図８Ｂ】
0004447585.tif 000023
【図８Ｃ】
0004447585.tif 000024
【図８Ｄ】
0004447585.tif 000025
【図８Ｅ】
0004447585.tif 000026
【図９Ａ】
0004447585.tif 000027
【図９Ｂ】
0004447585.tif 000028
【図９Ｃ】
0004447585.tif 000029
【図１０Ａ】
0004447585.tif 000030
【図１０Ｂ】
0004447585.tif 000031
【図１１Ａ】
0004447585.tif 000032
【図１１Ｂ】
0004447585.tif 000033
【図１１Ｃ】
0004447585.tif 000034