(57)【特許請求の範囲】
【請求項１】
Douglas-Peuckerアルゴリズムを用いてベクトル地図データを簡略化処理する際の処理単位を指定する処理単位指定装置であって、
前記ベクトル地図データの中から前記処理単位の基点となる点を特定する基点特定部と、
前記特定された基点と該基点に繋がる対象点との離間距離を算出する離間距離算出部と、
前記算出された離間距離に基づいて、前記対象点の次の対象点と前記基点との離間距離から前記対象点と前記基点との離間距離を減じた値が負に転じる該対象点を変曲点と特定する変曲点特定部と、
前記基点から前記特定された変曲点までを前記処理単位と指定する処理単位指定部と、
を備える処理単位指定装置。
【請求項２】
Douglas-Peuckerアルゴリズムを用いてベクトル地図データを簡略化処理する際の処理単位を指定する処理単位指定方法であり、コンピュータの機能として実現される処理単位指定方法であって、
基点特定部が、前記ベクトル地図データの中から前記処理単位の基点となる点を特定する基点特定ステップと、
離間距離算出部が、前記特定された基点と該基点に繋がる対象点との離間距離を算出する離間距離算出ステップと、
変曲点特定部が、前記算出された離間距離に基づいて、前記対象点の次の対象点と前記基点との離間距離から前記対象点と前記基点との離間距離を減じた値が負に転じる該対象点を変曲点と特定する変曲点特定ステップと、
処理単位指定部が、前記基点から前記特定された変曲点までを前記処理単位と指定する処理単位指定ステップと、
を備える処理単位指定方法。
【請求項３】
Douglas-Peuckerアルゴリズムを用いてベクトル地図データを簡略化処理する際の処理単位を指定するためのコンピュータプログラムであって、コンピュータを、
前記ベクトル地図データの中から前記処理単位の基点となる点を特定する基点特定手段と、
前記特定された基点と該基点に繋がる対象点との離間距離を算出する離間距離算出手段と、
前記算出された離間距離に基づいて、前記対象点の次の対象点と前記基点との離間距離から前記対象点と前記基点との離間距離を減じた値が負に転じる該対象点を変曲点と特定する変曲点特定手段と、
前記基点から前記特定された変曲点までを前記処理単位と指定する処理単位指定手段、
として機能させるコンピュータプログラム。
【請求項４】
請求項３に記載のコンピュータプログラムを記録する記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Douglas-Peuckerアルゴリズムを用いてベクトル地図データを簡略化処理する際の処理単位を指定する装置及びその方法に関する。
【背景技術】
【０００２】
近年、スマートフォン等の移動体端末装置の普及と相まって、当該装置に適用されるアプリケーションの開発も広く行われている。
このようなアプリケーションの一つとしてベクトル地図データが挙げられる。しかし、スタンドアロン型と異なり通信でデータの取得を行う通信型ナビゲーションにおいて、従来のベクトル地図データをそのまま用いることはそのデータサイズの大きさゆえ負荷が高く、可能な限りデータサイズを小さくすることが要求されていた。
一方、地図を表すための地図データにおいて、複数の点を繋いで形成される線図のうちいくつかの点を間引くことにより地図データのデータサイズを小さくする方法として、Douglas-Peuckerアルゴリズムが知られている。
本件発明に関連する従来技術を開示する特許文献１及び２も参照されたい。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１１３４５７号公報
【特許文献２】特開２００７−０８６４６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述のように、Douglas-Peuckerアルゴリズム（以下、ＤＰ処理ともいう）を用いれば、ベクトル地図データのデータサイズを小さくすることは可能である。しかしながら、本発明者は、当該アルゴリズムを用い、ベクトル地図データのいくつかの点が間引かれて簡略化された結果、当該地図データから形成される道路の形状が実際の道路の概略形状を反映できないケースが生じることに気がついた。
【０００５】
上述の方法でデータを簡略化した結果、実際の道路の概略形状が反映されないケースについて、図１を用いて以下に説明する。
図１の（ａ）に示すのは、各点を繋いでループ状の道路を形成するベクトル地図データである。これを上記ＤＰ処理の対象とした場合、まず始点としての点Ｘ１、終点としての点Ｘ１０に基づき、点Ｘ２、Ｘ３、Ｘ８、Ｘ９を間引くことが可能な点として削除する。すなわち、点Ｘ１と点Ｘ１０とを結ぶ直線Ｙ１を引き、当該直線Ｙ１と所定の閾値ｔに基づいて形成される範囲に含まれる点Ｘ２、Ｘ３、Ｘ８、Ｘ９を削除する。次に、直線Ｙ１と直交する直交線の長さが最も長くなる点Ｘ５を求める。そして（ｂ）に示すように、当該点Ｘ５と点Ｘ１とを結ぶ直線Ｙ２、点Ｘ５と点Ｘ１０とを結ぶ直線Ｙ３を引き、上記の処理を繰り返す。すなわち、直線Ｙ２と閾値ｔに基づいて形成される範囲及び直線Ｙ３と閾値ｔに基づいて形成される範囲に含まれる点Ｘ４、Ｘ６、Ｘ７を削除する。（ｃ）に示すのは、ＤＰ処理後のベクトル地図データである。
このようなケースにおいては、ＤＰ処理を行うことにより、ループ状であった実際の道路形状はくの字状に表され、実際の道路形状が反映されないこととなる。
【０００６】
そこで本発明者は、ベクトル地図データのデータサイズを小さくしつつ、実際の道路の概略形状を反映可能なようにベクトル地図データを簡略化すべく鋭意検討を重ねてきた。その結果、ＤＰ処理を行う際の処理単位を適切に指定することにより、ＤＰ処理後のベクトル地図データが実際の道路の概略形状を反映した地図データを生成することができることに想到した。
【課題を解決するための手段】
【０００７】
この発明は上述の課題に鑑みてなされたものであり、その第１の局面は次のように規定される。即ち、
Douglas-Peuckerアルゴリズムを用いてベクトル地図データを簡略化処理する際の処理単位を指定する処理単位指定装置であって、
前記ベクトル地図データの中から前記処理単位の基点となる点を特定する基点特定部と、
前記特定された基点と該基点に繋がる対象点との離間距離を算出する離間距離算出部と、
前記算出された離間距離に基づいて、前記対象点の次の対象点と前記基点との離間距離から前記対象点と前記基点との離間距離を減じた値が負に転じる該対象点を変曲点と特定する変曲点特定部と、
前記基点から前記特定された変曲点までを前記処理単位と指定する処理単位指定部と、
を備える処理単位指定装置。
【０００８】
このように規定される第１の局面の処理単位指定装置によれば、ベクトル地図データの中から処理単位の基点となる点を特定し、当該特定された基点とこの基点に繋がる対象点との離間距離を算出し、当該離間距離の変曲点を特定する。そして、基点から当該特定された変曲点に対応する対象点までを処理単位に指定する。このように指定された処理単位を用いて上記ＤＰ処理を行えば、ベクトル地図データのデータサイズを低減しつつ、実際の道路形状を反映させることができる。
ここで、「基点」とは、処理単位の始点となる点をいう。
また、「基点に繋がる対象点」とは、上記特定された基点を含んで形成される道路Ｌを構成する点を意味する。
「離間距離の変曲点」とは、当該対象点と基点との離間距離と、当該対象点の次の対象点と基点との離間距離との変化量が負に転じる当該対象点をいう。
上記対象点の次の対象点としては、上記道路を構成するラインに沿って隣の点であっても良く、また、所定のルールに基づく間隔で隣り合う点であっても良い。
【０００９】
また、この発明の第２の局面は次のように規定される。即ち、
Douglas-Peuckerアルゴリズムを用いてベクトル地図データを簡略化処理する際の処理単位を指定する処理単位指定方法であって、
基点特定部が、前記ベクトル地図データの中から前記処理単位の基点となる点を特定する基点特定ステップと、
離間距離算出部が、前記特定された基点と該基点に繋がる対象点との離間距離を算出する離間距離算出ステップと、
変曲点特定部が、前記算出された離間距離に基づいて、前記対象点の次の対象点と前記基点との離間距離から前記対象点と前記基点との離間距離を減じた値が負に転じる該対象点を変曲点と特定する変曲点特定ステップと、
処理単位指定部が、前記基点から前記特定された変曲点までを前記処理単位と指定する処理単位指定ステップと、
を備える処理単位指定方法。
このように規定される第２の局面の発明によれば、第１の局面と同等の効果を奏する。
【００１０】
更に、この発明の第３の局面は次のように規定される。即ち、
Douglas-Peuckerアルゴリズムを用いてベクトル地図データを簡略化処理する際の処理単位を指定するためのコンピュータプログラムであって、コンピュータを、
前記ベクトル地図データの中から前記処理単位の基点となる点を特定する基点特定手段と、
前記特定された基点と該基点に繋がる対象点との離間距離を算出する離間距離算出手段と、
前記算出された離間距離に基づいて、前記対象点の次の対象点と前記基点との離間距離から前記対象点と前記基点との離間距離を減じた値が負に転じる該対象点を変曲点と特定する変曲点特定手段と、
前記基点から前記特定された変曲点までを前記処理単位と指定する処理単位指定手段、
として機能させるコンピュータプログラム。
このように規定される第３の局面の発明によれば、第１の局面と同等の効果を奏する。
【００１１】
第３の局面に規定されるコンピュータプログラムを記録する記録媒体が第４の局面として規定される。
【図面の簡単な説明】
【００１２】
【図１】処理単位を考慮せずＤＰ処理を行った場合の処理の過程を示す模式図である。
【図２】本発明の実施の形態の処理単位指定装置１の構成を示すブロック図である。
【図３】本発明の処理単位指定装置１の指定方法を説明する模式図である。
【図４】本発明の実施の形態の処理単位指定装置１の動作を示すフローチャートである。
【図５】本発明の実施の形態の処理単位指定装置１を構成するコンピュータプログラムを示す。
【図６】本発明の装置１で指定された処理単位ごとにＤＰ処理を行う際の処理方法を説明する模式図である。
【図７】他の形状のベクトル地図データを従来通りＤＰ処理した場合と、本発明における処理単位ごとにＤＰ処理した場合を示す模式図である。
【図８】他の形状のベクトル地図データを本発明における処理単位ごとにＤＰ処理した場合を示す模式図である。
【発明を実施するための形態】
【００１３】
この発明の実施の形態の処理単位指定装置を説明する。
図２に、処理単位指定装置１の概略構成を示す。適宜、図３に示す模式図を用いて、以下に説明する。
図２に示すように、この処理単位指定装置１は、ベクトル地図データ保存部３、基点特定部５、離間距離算出部６、変曲点特定部７、処理単位指定部８及び処理単位保存部９を備える。
【００１４】
ベクトル地図データ保存部３にはベクトル地図データが保存される。ベクトル地図データとは、点、線、面のいずれかで構成されるデータであり、ある基準点からの座標位置や方向、連続する長さの情報で構成される。例えば、長さの情報と方向とを備え、複数の点を接続して構成される線（ラインともいう）は、地図上において、道路、鉄道、河川等を表示するものとなる。当該ベクトル地図データには、属性データが設定されていることが好ましい。当該属性データとして、例えば、上記線に設定される情報としての「この線は道路である」等の情報が挙げられる。他の例としては、上記点が信号である旨の情報や、上記面が運動場である旨の情報等が挙げられる。
【００１５】
基点特定部５は、上記ベクトル地図データ保存部３を参照して、ベクトル地図データの中からＤＰ処理の処理単位の基点となる点Ｐを特定する（図３（Ａ）参照）。当該基点の特定方法は、特に限定されないが、例えば、所定領域内に位置する任意の点を自動的に特定することとできる。また、別の方法として、オペレータの手動による上記基点の特定を許容するよう設計することとできる。この場合、任意の範囲のベクトル地図データに基づきディスプレイに表示された地図上の所望のポイントを、図示しない入力部を介してタッチ入力することにより特定することとしても良い。ここで、当該基点は処理単位の始点となる点であり、上記ベクトル地図データに道路である旨の属性データが設定されている場合には、当該道路属性が設定された区間の始点を基点として特定することとできる。また、三叉路等の分岐路における分岐点が間引かれると、当該分岐点における道路の連続性が損なわれる可能性がある。そこで、ＤＰ処理において基点が間引かれる対象とならないことに鑑み、当該分岐点を基点として特定することとしても良い。
【００１６】
離間距離算出部６は、上記基点特定部５で特定された基点Ｐと当該基点に繋がる対象点Ａ１〜Ａｎとの離間距離Ｄ１〜Ｄｎを夫々算出する。当該離間距離の算出方法としては、例えば、上記特定された基点の座標位置と対象点の座標位置とに基づくことにより、当該離間距離の算出を行うこととできる。ここで、「基点に繋がる対象点」とは、上記特定された基点を含んで形成される道路Ｌを構成する点であれば良く、当該基点に直接繋がる点の他、当該基点に間接に繋がる点を含むものとする。また、上記ベクトル地図データに道路である旨の属性データが関連付けられている場合には、上記特定された基点を含むラインＬ上の点を対象点とすることができる。離間距離算出部６は、上記離間距離の算出に際し、当該ライン上の全ての点を対象点としても良いし、該ライン上所定間隔の点を対象点とすることとしても良い。当該ライン上所定間隔としては、所定点間隔や所定距離間隔とすることができる。また、離間距離算出部６は、予め定められた一定範囲内に位置する対象点を対象として上記離間距離を算出することとしても良い。一定範囲として、例えば、上記特定された基点を含むライン上の分岐点までを範囲とすることとできる。これは、上述の基点の場合と同様、処理対象の終点を分岐点とすることで、ＤＰ処理において分岐点が間引かれることを回避でき、分岐点における道路の連続性を維持することができるからである。
【００１７】
変曲点特定部７は、上記離間距離算出部６において基点Ｐに関連付けて算出された離間距離Ｄ１〜Ｄｎに基づき、Ｄ１とＤ２との変化量、Ｄ２とＤ３との変化量、…を順に演算し、当該離間距離の変曲点Ｑを特定する（図３（Ｂ）参照）。すなわち、当該変曲点特定部７は、離間距離の変化量が負の値に転じる特性を有する対象点を変曲点として特定する。
処理単位指定部８は、上記変曲点特定部７の特定結果を受けて、基点Ｐから変曲点としての対象点Ｑ（＝対象点Ａ４）までを上記処理単位Ｕ１と指定する（図３（Ｃ）参照）。当該指定された処理単位は処理単位保存部９に保存される。
【００１８】
図４を用いて、図１に示す処理単位指定装置１の動作の一例を説明する。
まず、ステップ１では、基点特定部５は、ベクトル地図データのうちラインである旨の属性が付与されたデータ中の任意の点を、ＤＰ処理の処理単位の基点Ｐと特定する。
ステップ３では、離間距離算出部６は、ステップ１で特定された基点Ｐの次の点を対象点Ａｎと特定する。すなわち、基点Ｐとともに同一ラインＬを構成する点であって、基点Ｐと隣り合う点を対象点Ａｎと特定する。
ステップ５では、離間距離算出部６は、当該基点Ｐとステップ３で特定された対象点Ａｎとの離間距離Ｄｎを算出する。すなわち、離間距離Ｄｎは、基点Ｐの座標位置と対象点Ａｎの座標位置とに基づき、当該二点間の直線距離を算出する。
ステップ７では、離間距離算出部６は、ステップ３で特定された対象点Ａｎの次の点をＡｎ＋１と特定する。すなわち、基点Ｐ及び対象点Ａｎとともに同一ラインＬを構成する点であって、対象点Ａｎと隣り合う点を対象点Ａｎ＋１と特定する。
【００１９】
ステップ９では、ステップ５と同様に、離間距離算出部６は、当該基点Ｐとステップ３で特定された対象点Ａｎ＋１との離間距離Ｄｎ＋１を算出する。
ステップ１１では、ステップ５で算出された離間距離Ｄｎとステップ９で算出された離間距離Ｄｎ＋１とを比較し、比較の結果、Ｄｎ＋１からＤｎを減じた値が負の値となるとき（ステップ１３：Ｙｅｓ）、上記対象点Ａｎを変曲点Ｑ（図３（Ａ）においてＡ４＝Ｑ）と特定する（ステップ１５）。
一方、ステップ１３においてＮｏのとき、対象点Ａｎの隣の対象点Ａｎ＋１についてステップ５〜１３を実行する（ステップ１７、１９）。
ステップ２１では、ステップ１で特定された基点Ｐからステップ１５で特定された変曲点ＱまでをＤＰ処理の処理単位Ｕｎと指定し、保存する。
処理単位Ｕ１指定後、ステップ１５における対象点Ｑ（＝Ａ４）を基点Ｐとしてステップ１〜ステップ２１を繰り返すことにより、処理単位Ｕ２及びＵ３を指定することができる（図３（Ｃ）参照）。
【００２０】
図５は処理単位指定装置１のハード構成を示すブロック図である。
この装置１のハード構成は、一般的なコンピュータシステムと同様に中央制御装置２２１に対してシステムバス２２２を介して各種の要素が結合されたものである。
中央制御装置２２１は汎用的なＣＰＵ、メモリ制御装置、バス制御装置、割り込み制御装置更にはＤＭＡ（直接メモリアクセス）装置を含み、システムバス２２２もデータライン、アドレスライン、制御ラインを含む。システムバス２２２にはＲＡＭ（ランダムアクセスメモリ）２２３、不揮発メモリ（ＲＯＭ２２４，ＣＭＯＳ−ＲＡＭ２２５等）からなるメモリ回路が接続されている。ＲＡＭ２２３に格納されるデータは中央制御装置２２１や他のハードウエア要素によって読み取られたり、書き換えられたりする。不揮発メモリのデータは読み取り専用であり、装置をオフとしたときにもそこのデータは喪失されない。このハードウエアを制御するシステムプログラムはハードディスク装置２２７に保存されており、また、ＲＡＭ２２３に保存されており、ディスクドライブ制御装置２２６を介して適宜中央制御装置２２１に読みこまれて使用される。このハードディスク装置２２７には、汎用的な構成のコンピュータシステムを処理単位指定装置１として動作させるためのコンピュータプログラムを保存する領域が確保される。
【００２１】
このハードディスク装置２２７の所定の領域が、基点特定部５、離間距離算出部６、変曲点特定部７及び処理単位指定部８で特定、算出あるいは指定された情報を保存する保存部用に割り付けられる。
ハードディスク装置２２７の他の領域がベクトル地図データ保存部３用に割り付けられる。
システムバス２２２には、フレキシブルディスク２３２に対してデータの読み込み及び書き込みを行うフレキシブルドライブ制御装置２３１、コンパクトディスク２３４に対してそれからデータの読み取りを行うＣＤ／ＤＶＤ制御装置２３３が接続されている。この例ではプリンタインターフェース２３７にプリンタ２３８を接続させている。
システムバス２２２にはキーボード・マウス制御装置２４１が接続され、キーボード２４２及びマウス２４３からのデータ入力を可能としている。モニタ２４５がモニタ制御装置２４４を介してシステムバス２２２に接続されている。モニタ２４５にはＣＲＴタイプ、液晶タイプ、プラズマディスプレイタイプなどを利用することができる。
各種の要素（モデムなど）の増設を可能とするため空きのスロット２５１が準備されている。
【００２２】
このコンピュータシステムからなる処理単位指定装置１を稼動させるために必要なプログラム（ＯＳプログラム、アプリケーションプログラム（本発明のものも含む））は、各種の記録媒体を介してシステムの中にインストールされる。例えば非書き込み記録媒体（ＣＤ−ＲＯＭ、ＲＯＭカード等）、書き込み可能記録媒体（ＦＤ、ＤＶＤ等）、更にはネットワークＮを利用して通信媒体の形式でインストールすることも可能である。勿論、不揮発メモリ２２４、２２５やハードディスク装置２２７に予めこれらのプログラムを書きこんでおくこともできる。
【００２３】
図６は、図３（Ａ）に示すラインＬを上記処理単位指定装置１で指定された処理単位Ｕ１〜Ｕ３ごとにＤＰ処理した場合の模式図である。
図６（ａ）に示すのは、ラインＬにつき上記装置１で処理単位Ｕ１〜Ｕ３が指定されたベクトル地図データである。図６（ｂ）には、ＤＰ処理の説明がし易いように処理単位ごとに分割したものを示している。図６（ｃ）に示すのは、各処理単位のＤＰ処理後のベクトル地図データであり、当該ＤＰ処理後の各処理単位を連結したものを図６（ｄ）に示している。
従来のように、処理単位を考慮せずにＤＰ処理を行った場合には、図１（ｃ）に示すように実際の道路形状であるループ形状を維持することが困難であった一方、本発明の処理単位指定装置１で指定された処理単位に基づいてＤＰ処理を行った場合には、図６（ｄ）に示す簡略化されたベクトル地図データにおいても実際のループ形状の概略形状を維持して地図データを生成することが可能となる。
【００２４】
図７に、他の形状を示すベクトル地図データについて処理単位を指定し、ＤＰ処理を行った場合の例を示す。
図７（ａ）に示すようにカーブを有するライン状のベクトル地図データを処理単位を考慮せずにＤＰ処理すると、夫々（ｂ）に示すように実際の道路形状を維持することが困難である。一方、図７（ａ）に示すベクトル地図データを本発明の処理単位指定装置１に基づいて指定された処理単位ごとにＤＰ処理することにより、図７（ａ）に示す実際の道路の概略形状を維持して地図データを生成することが可能となる（図７（ｃ）及び（ｄ）参照）。
更なる例として、環状に重なる道路を表すベクトル地図データについて、処理単位を指定し、ＤＰ処理を行った場合の例を図８に示す。
図８に示すとおり、比較的複雑な道路形状であっても、本発明の装置１で指定された処理単位ごとにＤＰ処理を行えば、データサイズを小さくできるとともに、実際の道路形状の概略を反映させて地図データを生成することが可能となる。
【００２５】
以上、本発明の実施の形態について説明してきたが、これらのうち、２つ以上の実施の形態を組み合わせて実施しても構わない。あるいは、これらのうち、１つの実施の形態を部分的に実施しても構わない。さらには、これらのうち、２つ以上の実施の形態を部分的に組み合わせて実施しても構わない。
【００２６】
この発明は、上記発明の実施の形態及び実施例の説明に何ら限定されるものではない。特許請求の範囲の記載を逸脱せず、当業者が容易に想到できる範囲で種々の変形態様もこの発明に含まれる。
【符号の説明】
【００２７】
１  処理単位指定装置
３  ベクトル地図データ保存部
５  基点特定部
６  離間距離算出部
７  変曲点特定部
８  処理単位指定部
【図１】
0005731425.tif 000002
【図２】
0005731425.tif 000003
【図３】
0005731425.tif 000004
【図４】
0005731425.tif 000005
【図５】
0005731425.tif 000006
【図６】
0005731425.tif 000007
【図７】
0005731425.tif 000008
【図８】
0005731425.tif 000009