地図ポリゴン描画方法及び装置
【課題】ポリゴン表示を円滑化するため、周縁を構成する要素点のうち、ポリゴンの周辺形状の少ない所定の条件を満たす部分を間引くとき、隣接ポリゴン間に隙間が発生しない「ポリゴン描画方法及び装置」とする。
【解決手段】描画地図の全のポリゴンについて、各ポリゴンの周縁を形成する要素点を取得し、各ポリゴンについしてエッジを設定する。このエッジを構成する要素点について、ポリゴンの周囲形状の変化が少ないことを示す所定の条件を満たすとき、その要素点を削除する間引処理を行う。要素点を削除する間引処理を行ったとき、そのエッジが現在間引処理を行っているポリゴンに隣接するポリゴンを構成するエッジと一致するとき、その要素点も自動的に削除されるので前記削除が隣接するポリゴンにも反映される。この処理を全エッジ全ポリゴンに対して行う。
【解決手段】描画地図の全のポリゴンについて、各ポリゴンの周縁を形成する要素点を取得し、各ポリゴンについしてエッジを設定する。このエッジを構成する要素点について、ポリゴンの周囲形状の変化が少ないことを示す所定の条件を満たすとき、その要素点を削除する間引処理を行う。要素点を削除する間引処理を行ったとき、そのエッジが現在間引処理を行っているポリゴンに隣接するポリゴンを構成するエッジと一致するとき、その要素点も自動的に削除されるので前記削除が隣接するポリゴンにも反映される。この処理を全エッジ全ポリゴンに対して行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ディスプレイに地図を表示するに際して、地図の背景となるポリゴンを描画するとき、ポリゴンの周縁を形成する要素点を間引いて表示する地図ポリゴン描画方法及びその方法を実施する装置に関し、特に隣接するポリゴンのうち片側のポリゴンで間引処理を行うのに対して他側では間引処理を行わないことにより生じる隙間を無くすことができるようにした地図ポリゴン描画方法、及びその方法を実施する装置に関する。
【背景技術】
【0002】
地図を表示するには、地図帳として表示する以外に、近年は地図の電子データ化により、パソコンやナビゲーション装置を初め、携帯情報端末、携帯電話等々のディスプレイに表示することが多くなっている。このような地図の電子データ化によって、世界中任意の地点について、任意の縮尺で、しかも好みの表示手法によって自由に表示することができるようになっている。
【0003】
電子データ化された地図はDVDやメモリカード等の各種データ記録媒体に記録する以外に、インターネット等を通じて各種情報機器に取り込むことができるが、このような地図データは、多くの場合各種の縮尺レベルに応じて適当な大きさの経度幅及び緯度幅に区切られており、道路等は経度及び緯度で表現されたノードの座標集合としている。このような地図の表示に際しては、道路表示レイヤの他、地図画面上に道路、建築物、施設、海や河川、森、山岳等の地図上の背景を表示するポリゴン表示レイヤ、更には市町村名などの行政区画名、道路名、交差点名及び施設の名前やその施設のアイコン等の、文字や地図記号を表示するための情報データ表示レイヤ等、多くのレイヤのデータを重ねて表示している。
【0004】
この中のポリゴンを表示するデータは、地図を利用者にとってわかりやすく、且つ親しみ易く、見栄えがよいように表示するために重要な表示データとなっている。このポリゴンデータは、衛星写真や測量地図を元に整備されており、このポリゴンデータを地図上に表示する際には、その表示データ処理に多大な負担をかけることがあり、地図描画性能を悪化させるため、できる限り地図描画処理負担を軽くするように、ポリゴンの周縁を構成する要素点の間引き処理を行っている。
【0005】
そのようなポリゴンの周縁を形成する要素点の間引処理に際しては、主として図11に示すように行われている。図11に示す例においては、同図(a)に示すようなポリゴンPが存在する時、その一部が同図の要素点2の部分が突出しているとき、その突出部の要素点を間引くか否かは、ポリゴンの周囲形状の変化が少ないことを示す所定の条件を満たすときにその要素点を削除して間引く。その時の条件としては例えば同図(b)に示すようにして行う。
【0006】
即ち第1に、要素点2を中心としてその両隣の要素点1と要素点3との関係を、要素点2における角度αを計測し、そのαが例えば170度等の所定の角度αaと、180度の間に存在するかを判別する。
【0007】
第2に、図11に示す例においては、要素点2を挟む両隣の要素点1と要素点3を結ぶ直線に、要素点2から垂線を降ろし、そのときの長さL、即ち要素点2の前記直線との距離を計測して、その長さLが最大値の閾値としての所定の長さLa以下であるかを判別して、両条件を満たす時、この要素点2を間引くことにしている。こののような判別条件は、前記第1の条件を満たす場合でも、要素点2の両隣の要素点1と3の距離が大きい時は、この要素点は間引くことが好ましくないものとする。
【0008】
その処理に際して、前記角度αは、反時計回りを順方向とし、ポリゴン側の角度を測定している。したがって、図11(a)において、図示の例では要素点2がポリゴンにとって突出しているため、角度αは180度以下であるのに対して、図示とは逆に要素点2が凹部であるポリゴンの場合は、角度αは180度を超えるため、その場合は要素点2の間引き処理を行わないことになる。
【0009】
上記処理の結果、図11(c)のように、(1)要素点2について隣接要素点1及び3間の角度αがα1であって、所定角度αaよりも大きく、前記180度以下の時、であって、(2)隣接要素点間を結ぶ直線への垂線の長さL1が所定の長さLaよりも小さい時には、同図(d)に示すように要素点を間引き、要素点1と3のみとする。このような間引を行う要素点を選択する条件を満たす要素点2の部分は、ポリゴンの周囲形状の変化が少ない部分ということができる。なお、間引処理を行う条件は、上記以外に種々の手法が提案されている。
【0010】
前記のような要素点の間引処理の結果、ポリゴンの多くの要素点が間引かれ、ポリゴンの表示処理負担が軽くなり、地図全体の表示が速くなるため、特定地点の地図表示速度を向上し、また現在の地図表示からのスクロール表示や、地図の表示縮尺の変更等において、円滑な表示ができるようになる。
【0011】
なお、地図表示におけるポリゴンの表示に際して、ポリゴン間に隙間が発生する時、その隙間領域を抽出し、併合釦を操作することにより、隣接ポリゴンに合体して隙間を埋めて修正を行うことができるようにした技術は、特許文献1に開示されている。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開2007−213524号公報
【発明の概要】
【発明が解決しようとする課題】
【0013】
前記のように、電子データによって地図を描画する時、その背景となるポリゴンの表示処理負担を軽くするため、ポリゴンの周縁を形成する要素点を、前記のような所定の条件を満たす時に間引く技術では、例えば図12(b)に示すような隙間Sa、Sbを生じることがある。
【0014】
即ち図示の例では、最初は同図(a)に示すように、全ての要素点を用いてポリゴンA、B、Cを描画する時には各ポリゴン間で隙間が発生することはないが、前記のような要素点の間引処理を行うとき、ポリゴンAがその僅かの突出部分で要素点の間引処理を行った部分で、ポリゴンBは凹部となり、この部分での要素点の間引は行わなかった例を示している。
【0015】
同様に同図の例においては、ポリゴンAとポリゴンCとの関係において、ポリゴンCがその僅かの突出部分で要素点の間引処理を行ったとき、その部分でポリゴンAは凹部となっており、この部分での要素点の間引は行わなかった例を示している。その結果ここには隙間Sbが発生している。
【0016】
このようにして形成されたポリゴンの要素点の間引処理によって発生したポリゴン間の隙間は、例えば図13(b)に示すような海ポリゴンにおいて、1つの海ポリゴンが他の海ポリゴンと隣接して繋がっている時、そのポリゴンの境界の一部Rにおいて、同図のように広域地図表示状態ではほとんどわからないものの、同図(a)のように拡大して表示する時には、図中Rで示すよな隙間SaとSbが、周囲の海の色が存在しない、白地となって見えてくる。
【0017】
このようなポリゴン間の隙間は、地図自体の表示としては大きな問題は生じないものの、地図を拡大する程この隙間は目立ち、地図データの安っぽさを印象づけて見栄えが極めて良くない。そのため、前記特許文献のようにその隙間を埋める処理を行うことも提案されているが、その処理のためには人為的な操作を必要とし、全てのポリゴン間の隙間を無くすには膨大な手数を要する。
【0018】
なお、上記のようにポリゴンの表示を円滑にするために、ポリゴン周縁を形成する要素点を間引く処理は、地図データを提供する企業が地図データに対して処理を行い、このように処理した地図データを提供する以外に、特に間引処理を行っていない生のデータが提供される時、そのデータに基づいて地図を表示する、例えばパソコンやナビゲーション装置で間引処理ソフトによって処理する場合が存在しうる。
【0019】
したがって本発明は、地図の背景となるポリゴンの表示に際して、ポリゴン表示の処理負担を軽減するためにポリゴンの周縁を形成する要素点を所定の条件で間引く時、従来の条件では隣接するポリゴン間に隙間が発生し、地図の見栄えが悪くなる問題を、手数を要することなく、容易に解消することができるようにした地図ポリゴン描画方法、及びその方法を実施する装置に関する。
【課題を解決するための手段】
【0020】
本発明に係る地図ポリゴン描画方法は、前記課題を解決するため、描画する地図に含まれる全てのポリゴンを抽出し、前記抽出したポリゴンについて、各ポリゴンの周縁を形成する要素点を取得し、各ポリゴンについて相互に隣り合う複数の要素点からなる部分にエッジを設定し、前記エッジを構成する要素点について、ポリゴンの周囲形状の変化が少ないことを示す所定の条件を満たすとき、地図表示用要素点として削除する間引処理を行い、前記要素点を削除する間引処理を行ったとき、当該要素点が現在間引処理を行っているポリゴンに隣接するポリゴンを構成する要素点と一致するとき、当該隣接するポリゴンの要素点も削除する間引処理を行い、前記間引処理を、指定したエッジを構成する全ての要素点に対して行った後、指定したポリゴンを構成する他のエッジに対しても前記間引処理を行い、前記指定したポリゴンの全てのエッジに対して前記間引処理を行い、その後、前記抽出したポリゴンの全てに対して前記要素点の間引処理を行い、前記間引処理を行ったデータによりポリゴンを描画することを特徴とする。
【0021】
また、本発明に係る他の地図ポリゴン描画方法は、前記地図ポリゴン描画方法において、前記指定したポリゴンの全てのエッジに対して前記間引処理を行った後は、当該ポリゴンに隣接するポリゴンを順に指定して前記間引処理を行うことを特徴とする。
【0022】
また、本発明に係る他の地図ポリゴン描画方法は、前記地図ポリゴン描画方法において、前記エッジの設定に際しては、当該エッジの前後端の要素点については、少なくとも前記ポリゴンの周囲形状の変化が少ないことを示す所定の条件を満たす要素点以外の要素点を選択することを特徴とする。
【0023】
また、本発明に係る他の地図ポリゴン描画方法は、前記地図ポリゴン描画方法において、前記エッジの設定に際しては、当該エッジの前後端の要素点については、前記所定の条件のほか、隣接するポリゴンが変化する要素点を選択することを特徴とする。
【0024】
また、本発明に係る他の地図ポリゴン描画方法は、前記地図ポリゴン描画方法において、前記エッジを設定したとき、当該エッジが隣接するポリゴンのエッジと共通するときには、当該エッジを構成する要素点について、両ポリゴンにおいてそれぞれ対応する要素点についての対応データを作成し、一方のポリゴンの要素点を前記間引処理により削除するとき、前記対応データによって他方のポリゴンの要素点を削除する間引処理を行うことを特徴とする。
【0025】
また、本発明に係る他の地図ポリゴン描画方法は、前記地図ポリゴン描画方法において、前記一方のポリゴンの要素点を前記間引処理により削除するとき、前記対応データにより他方のポリゴンの要素点の間引処理を行う際には当該要素点については間引処理を行わないことを特徴とする。
【0026】
また、本発明に係る他の地図ポリゴン描画方法は、前記地図ポリゴン描画方法において、前記ポリゴンの周囲形状の変化が少ないことを示す所定の条件は、指示した要素点について隣接する要素点で形成される角度が所定角度以内であることを特徴とする。
【0027】
また、本発明に係る他の地図ポリゴン描画方法は、前記地図ポリゴン描画方法において、前記ポリゴンの周囲形状の変化が少ないことを示す所定の条件は、隣接する要素点を結ぶ直線に降ろした垂線の長さが所定以内であることを特徴とする請求項1記載のポリゴン描画方法。
【0028】
また、本発明に係る他の地図ポリゴン描画方法は、前記地図ポリゴン描画方法において、前記間引処理したデータは、地図表示用データとしてデータベースに保存することを特徴とする。
【0029】
また、本発明に係る他の地図ポリゴン描画方法は、前記地図ポリゴン描画方法において、前記間引処理したデータは、地図表示用データとしてデータベースに保存することを特徴とする。
【0030】
また、本発明に係る地図ポリゴン描画装置は、前記課題を解決するため、描画する地図に含まれる全てのポリゴンを抽出する間引処理ポリゴン抽出手段と、前記間引処理ポリゴン抽出手段で抽出したポリゴンについて、各ポリゴンの周縁を形成する要素点を取得するポリゴン周縁形成要素点取得手段と、前記間引処理ポリゴン抽出手段で抽出した各ポリゴンについて、相互に隣り合う複数の要素点からなる部分にエッジを設定するポリゴン周縁エッジ設定手段と、前記ポリゴン周縁エッジ設定手段で設定したエッジを構成する要素点について、ポリゴンの周囲形状の変化が少ないことを示す所定の条件を満たすとき、地図表示用要素点として削除する間引処理を行う要素点間引処理手段とを備え、前記要素点間引処理手段では、要素点を削除する間引処理を行ったとき、当該要素点が現在間引処理を行っているポリゴンに隣接するポリゴンを構成する要素点と一致するときには、当該隣接するポリゴンの要素点も削除する間引処理を行い、前記間引処理を、指定したエッジを構成する全ての要素点に対して行った後、指定したポリゴンを構成する他のエッジに対しても前記間引処理を行い、前記指定したポリゴン法の全てのエッジに対して前記間引処理を行い、その後、前記抽出したポリゴンの全てに対して前記要素点の間引処理を行うことによりポリゴンを描画するデータを作成することを特徴とする。
【0031】
また、本発明に係る他の地図ポリゴン描画装置は、前記地図ポリゴン描画装置において、前記要素点間引処理手段では、前記指定したポリゴンの全てのエッジに対して前記間引処理を行った後は、当該ポリゴンに隣接するポリゴンを順に指定して前記間引処理を行うことを特徴とする。
【0032】
また、本発明に係る他の地図ポリゴン描画装置は、前記地図ポリゴン描画装置において、前記ポリゴン周縁エッジ設定手段では、前記エッジの設定に際して、当該エッジの前後端の要素点については、少なくとも前記ポリゴンの周囲形状の変化が少ないことを示す所定の条件を満たす要素点以外の要素点を選択することを特徴とする。
【0033】
また、本発明に係る他の地図ポリゴン描画装置は、前記地図ポリゴン描画装置において、前記ポリゴン周縁エッジ設定手段では、前記エッジの設定に際して、当該エッジの前後端の要素点については、前記所定の条件のほか、隣接するポリゴンが変化する要素点を選択することを特徴とする。
【0034】
また、本発明に係る他の地図ポリゴン描画装置は、前記地図ポリゴン描画装置において、前記要素点間引処理手段では、前記ポリゴン周縁エッジ設定手段でエッジを設定したとき、当該エッジが隣接するポリゴンのエッジと共通するときには、当該エッジを構成する要素点について、両ポリゴンにおいてそれぞれ対応する要素点についての対応データを作成し、
一方のポリゴンの要素点を前記間引処理により削除するとき、前記対応データによって他方のポリゴンの要素点を削除する間引処理を行うことを特徴とする。
【0035】
また、本発明に係る他の地図ポリゴン描画装置は、前記地図ポリゴン描画装置において、前記要素点間引処理手段では、前記一方のポリゴンの要素点を前記間引処理により削除するとき、前記対応データにより他方のポリゴンの要素点の間引処理を行う際には当該要素点については間引処理を行わないことを特徴とする。
【0036】
また、本発明に係る他の地図ポリゴン描画装置は、前記地図ポリゴン描画装置において、前記ポリゴンの周囲形状の変化が少ないことを示す所定の条件は、指示した要素点について隣接する要素点で形成される角度が所定角度以内であることを特徴とする。
【0037】
また、本発明に係る他の地図ポリゴン描画装置は、前記地図ポリゴン描画装置において、前記ポリゴンの周囲形状の変化が少ないことを示す所定の条件は、隣接する要素点を結ぶ直線に降ろした垂線の長さが所定以内であることを特徴とする。
【0038】
また、本発明に係る他の地図ポリゴン描画装置は、前記地図ポリゴン描画装置において、前記間引処理したデータは、地図表示用データとしてデータベースに保存することを特徴とする。
【0039】
また、本発明に係る他の地図ポリゴン描画装置は、前記地図ポリゴン描画装置において、前記間引処理したデータは、地図表示用データとしてデータベースに保存することを特徴とする。
【発明の効果】
【0040】
本発明は上記のように構成したので、地図の背景となるポリゴンの表示に際して、ポリゴン表示の処理負担を軽減するためにポリゴンの周縁を形成する要素点を所定の条件で間引く時、従来の条件では隣接するポリゴン間に隙間が発生し、地図の見栄えが悪くなる問題を、手数を要することなく、容易に解消することができるようになる。
【図面の簡単な説明】
【0041】
【図1】本発明の実施例の機能ブロック図である。
【図2】同実施例の作動フロー図である。
【図3】同実施例で行う要素点間引処理の作動フロー図である。
【図4】ポリゴン毎の要素点の例を示す図である。
【図5】隣接ポリゴンのエッジ設定処理の例を示す図である。
【図6】ポリゴン毎のエッジの要素点対応表の例を示す図である。
【図7】ポリゴンAの間引処理の例を示す図である。
【図8】その後行われるポリゴンBの間引処理の例を示す図である。
【図9】その後行われるポリゴンCの間引処理の例を示す図である。
【図10】本発明による間引処理前と処理後の状態を示す図である。
【図11】従来から提案されているポリゴン構成要素点の間引処理例を示す図である。
【図12】同処理の結果ポリゴン間に隙間が生じる状態の説明図である。
【図13】従来ポリゴン間に隙間が生じる実際例を示す図である。
【発明を実施するための形態】
【実施例】
【0042】
本発明の実施例を図面に沿って説明する。図1は本発明における地図ポリゴン描画装置において、特にポリゴンの周縁を形成する要素点の間引処理を行う時、隣接するポリゴン間に隙間が発生しないようにするための処理を行う機能ブロック図を主として示しており、本発明を各種の態様で実施することができるようにした機能ブロック図を示している。なお、同図において、各機能を行う機能部は、それぞれ各機能を行う手段ということができる。
【0043】
図1の表示ポリゴンの周縁を形成する要素点の間引処理を行う装置の例においては、主として要素点の間引処理を行う対象を選択する間引処理対象選択部1と、その間引処理対象選択部1で選択した間引処理対象について、実際に間引処理を行う要素点間引処理部2とを備えている。
【0044】
図1の例えば前記両者が互いに連携して作動し、後述するように間引処理対象選択部1で選択したポリゴン、その中のエッジ、それを構成する要素点について間引処理を行うと、同じエッジの次の要素点、同じエッジの全ての要素点に対する処理が終了するとその次のエッジについて同様の処理を行い、そのエッジの処理が終了するとそのポリゴンの他のエッジを順に選択し、同様にして今回の処理を必要とする他のポリゴンに対して処理を行うことにより完了するようにしている。
【0045】
間引処理対象選択部1には、これから処理を行おうとする地図について、その地図に含まれる全てのポリゴンを抽出するための間引処理ポリゴン抽出部3を備える。間引処理用ポリゴン指定部4では、最終的にその地図の全てのポリゴンを指定することとなるが、順に処理を行うために適宜の順に処理するポリゴンの指定を行う。
【0046】
ポリゴン周縁形成要素点取得部5では、指定したポリゴンについて、また後述するようにその指定ポリゴンに直接隣接するポリゴンについて、それらのポリゴンの周縁を形成する要素点を全て取得する。それらのデータは従来より、各ポリゴンを表示するための元のデータに整理して記録されている。
【0047】
隣接ポリゴン検出部6では、前記のように間引処理用ポリゴン指定部4で指定したポリゴンについて、隣接するポリゴンを検出する。それらのポリゴンについても前記のようにポリゴン周縁形成要素点取得部5によって、要素点を取得する処理がなされる。その結果、例えば前記従来例として示した図12(a)と同様の例を示す図4(a)のように、間引処理用ポリゴン指定部4で指定するポリゴンがポリゴンAである時、隣接ポリゴン検出部6ではポリゴンBとポリゴンCを検出する。
【0048】
また、前記ポリゴン周縁形成要素点取得部4では、ポリゴンAについては要素点A1〜A24の24個の要素点を取得し、ポリゴンBについてはB1〜B17の17個の要素点を取得し、ポリゴンCについてはC1〜C18の18個の要素点を取得している。
【0049】
ポリゴン周縁エッジ設定部7では、間引処理用ポリゴン指定部3で指定したポリゴンと、隣接ポリゴン検出部6で検出したポリゴンについて、ポリゴン周縁を形成するエッジを設定する。この時の「エッジ」とは、各ポリゴンについて隣接する要素点が例えば10度以上折れ曲がっている要素点、或いは大きな曲折はないものの、その部分で隣接するポリゴンが変わる部分等の予め設定した条件の特徴的な要素点間を結ぶ周縁部分を検出する。それにより、前記のような「エッジ」を決定する。
【0050】
このようなエッジの検出処理により、前記図4の例においては、図5に示すようにポリゴンAについて、要素点A1〜A8がほぼ直線状態のためこれをエッジ1とする。このエッジに対してポリゴンAにおける反時計回りを順方向として、同様に要素点A8〜A14についてはエッジ2とする。
【0051】
また、要素点A16部分については10度以下の折曲であるときにはこれをエッジの端部とはせず、要素点A17部分については、隣接するポリゴンがポリゴンBからポリゴンCに変わるため、これをエッジの端部として、要素点A14〜A17をエッジ3とする。要素点A18部分については、前記要素点A16と同様に、例えば10度以下のわずかな折曲である時にはこれをエッジの端部とはせず、したがって要素点A17〜A20をエッジ4とする。また、要素点A20〜A1については、ほぼ直線上であるのでこの周縁部分をエッジ5としている。
【0052】
同様に隣接ポリゴンであるポリゴンBについては、ポリゴンAで設定したエッジ3は共通するエッジであるので、要素点B1〜B4をエッジ3の要素点とする。このエッジからポリゴンBにとって順方向に、要素点B4〜B6をエッジ6とし、要素点B6〜B10をエッジ7とし、要素点B12部分の折曲が小さいことによりこれはエッジの端部とはせず、したがって要素点B10〜B14をエッジ8とする。
【0053】
ポリゴンBの要素点B14〜B1についてはほぼ直線状であるのでこれをエッジ9とする。このエッジ9はポリゴンAに隣接するポリゴンでありポリゴンBにも隣接するポリゴンCにおける、要素点C4〜C8と共通して構成される。
【0054】
ポリゴンCについては、前記ポリゴンAのエッジ4について、ポリゴンAにおいては要素点A17〜A20が構成しているのに対して、要素点C1〜4が共通して構成している。ポリゴンCの要素点C4〜C8については、前記のようにポリゴンBの要素点B14〜B1と共にエッジ9を構成している。
【0055】
要素点C11部分については曲がりが少ないためこれをエッジの端部とはせず、要素点C8〜C15をエッジ10とする。また、要素点CC15〜C1はエッジ11とする。上記のようにして、指定ポリゴンAと、それに隣接するポリゴンであるポリゴンBとポリゴンCについて、一連のエッジを設定する。
【0056】
図1のポリゴン周縁エッジ設定部7では前記のようなエッジの設定を行い、エッジ構成要素点検出部8では前記のような各エッジが構成される各ポリゴンの要素点を検出する。間引処理エッジ指示部9では、前記間引処理用ポリゴン指定部4で指定したポリゴンと、隣接ポリゴン検出部6で検出したポリゴンについて、間引処理を行うエッジの指示を行う。
【0057】
間引処理要素点指定部10では、間引処理エッジ指示部9で指示したエッジについて、そのエッジを構成する要素点を順に指示する。このようにして、例えば現在間引処理用ポリゴン指定部4で指定したポリゴンについて要素点の間引処理を行う時、間引処理用エッジ指示部9ではそのポリゴンを構成するエッジを順に指示し、間引処理要素点指示部10では、そのエッジについてそのポリゴンにおいてエッジを構成する要素点を順に指示する。その後間引処理するポリゴンについて、指定ポリゴンのエッジを全て処理した後は、隣接ポリゴンについて同様の間引処理を行うエッジ及びそれを構成する要素点の間引処理を行い、最終的に全てのポリゴンの処理がなされる。
【0058】
要素点間引処理部2では、前記のように指示された要素点について、所定の条件を満たすものを間引く処理を行うものであり、基本的には前記従来例で示した図11の処理を行う。その中の間引可否判別処理部11では要素点を間引くか否かを判別する処理を行うものであり、その中の隣接要素点間角度計測部12で計測した、前記図11の隣接要素点間角度である角度αを計測する。その計測値に基づき、隣接要素点間角度所定域内判別部13で、図11(b)(c)に示すように、また同図の説明で述べたように、条件(1)αa<α1≦180度を満たすかどうかを判別する。
【0059】
また、隣接要素点間直線への垂線長さ計測部18では、図11(b)(c)に示すように、また同図の説明で述べたように、隣接する要素点を結ぶ直線への垂線の長さL1について、所定の長さLaより短いか、即ちL1<Laであるか否かを判別する。したがって間引可否判別処理部11では、前記間引条件(1)と’(2)の条件を満たすか否かを判別し、全て満たす時には間引処理を行う。
【0060】
間引フラグ処理部16では、前記間引可否判別処理部10で、特定の要素点について間引く旨の判別を行った時、図示の例では地図描画データとしてそれを間引いて描画するデータを形成するため、その要素点に間引フラグを立てる。その後このようにして全てのポリゴンについて、全てのエッジの全ての要素点の間引可否判別を行い、間引フラグ処理を行った後は、ポリゴン表示データ形成部18でポリゴンの表示を行うデータを形成する。
【0061】
前記のような処理を行う結果、図1(a)に示すように多数の要素点からなるポリゴンについて同図(c)に示すように最小限の要素点となり、その際に隣接ポリゴンが共通して構成するエッジについてはm、同図においてエッジ3及びエッジ4に示すように、隣接するポリゴンの内、片方で間引処理が行われた時には、他側の間引の判別にかかわらず、間引処理を行うこととなり、隣接するポリゴン間に前記図13(a)に示すような隙間を生じることが無くなる。
【0062】
これらの間引処理を図2及び図3の作動フローに従い、より詳細に順に説明する。図2の表示ポリゴン周縁形成要素点の間引処理の例においては、最初間引処理するポリゴンの抽出から始めている(ステップS1)。この処理は図1の間引処理ポリゴン抽出部3で前記のようにして行っている。
【0063】
その後間引処理するポリゴンを順に指定する(ステップS2)。この処理は図1の間引処理用ポリゴン指定部4で行っている。次いで指定ポリゴンの要素点を取得する(ステップS3)、この処理については図1のポリゴン周縁形成要素点取得部5で、間引処理用ポリゴン指定部4で指定したポリゴンについて要素点を取得することにより行っている。
【0064】
次いで、指定するポリゴンについて隣接するポリゴンを検出する(ステップS4)。この処理は図1の隣接ポリゴン検出部6において前記のようにして行っている。その後隣接ポリゴンの要素点を取得する(ステップS5)。この処理は図1のポリゴン周縁形成要素点取得部5において、隣接ポリゴン検出部6で検出したポリゴンについて、要素点を検出することにより行っている。このような処理により、前記のように図4に示すような各ポリゴンについて、要素点を取得する。
【0065】
その後指定ポリゴンに隣接するポリゴンの共通要素点を含むポリゴン周縁のエッジを設定する(ステップS6)。この処理は図1のポリゴン周縁エッジ設定部7で前記のようにして行っている。その結果図5に示すようなエッジ1〜エッジ11を設定することも前記の通りである。
【0066】
次いで各エッジについて、ポリゴン毎の要素点を対応付ける(ステップS7)。この処理は図6に示しており、ポリゴンAについてはエッジ1〜エッジ5が存在し、それらのエッジを構成する要素点は全て順方向に対応することを示している。同様にポリゴンBについては、エッジ3、6、7、8、9が存在し、それを構成する要素点はエッジ3についてはポリゴンAがA14〜A17と反時計方向で順方向であるのに対して、その要素点にそれぞれ対応するポリゴンBの要素点はB4、3、2、1と逆方向に対応していることを示している。ポリゴンBについてはその他のエッジは順方向となっている。
【0067】
ポリゴンCについては、エッジ4はポリゴンAの要素点が順方向であるのに対して、前記と同様の対応によってポリゴンCの要素点は逆方向となる。同様にエッジ9についてはポリゴンBが順方向である時、ポリゴンCについては逆方向となる。ポリゴンCのその他のエッジについては順方向である。
【0068】
各ポリゴンを構成するエッジについて、その要素点をそれぞれエッジ1〜11について示している。ここで例えばエッジ3についてはポリゴンAのエッジ3と、ポリゴンBのエッジ3が共通し、エッジ4についてはポリゴンAのエッジ4とポリゴンCのエッジ4が共通していることを示している。エッジ9についてはポリゴンBのエッジ9とポリゴンCのエッジ9が共通していることを示している。
【0069】
図2の例においてはその後、図3に示すような、ポリゴンの要素点の間引処理を行う。図3に示すポリゴンの周縁を形成する要素点の間引処理の例においては、最初間引処理する要素点を順に指示することから行っている(ステップS21)。図3に示す例においてはその後指定した要素点には既に間引フラグが立っているか否かを判別している(ステップS22)。
【0070】
即ち、図3に示す処理で最初に作動する状態では未だ間引フラグが立っている状態はないが、その後の処理で後述するステップS28で指定要素点に間引フラグを立てた後、ステップS29で未だ全ての要素点の間引チェックをしていないと判別した時にステップ21に戻り、新たな要素点を順に指示して同様の処理を繰り返すため、ここでは既に前記のように間引フラグを立てている要素点についてはその後の処理を行う必要がないので、ステップS1に戻り、次の要素点の指示を行うようにしている。
【0071】
ステップS21において指示した要素点は未だ間引フラグが立っていないと判別した時にはステップS23に進み、指定要素点について両隣の要素点とのなすポリゴン側の角度α1を計測する(ステップS23)。即ち、前記図11(b)(c)の条件(1)の判別を行うため、前記角度α1を計測する。
【0072】
その後ステップS24において、その計測した角度α1は180度以内であるか否かを判別する。ここで180度を超えたと判別した時には、この要素点については間引処理を行わないとしてステップS29に進み、未だ全ての要素点の間引チェックをしていないと判別した時にはステップS21に戻って、次の要素点を指示する。それに対して角度α1は180度以内であると判別したときにはステップS25に進み、計測した角度α1は例えば170度等の所定の角度αaを超えるか否かを判別する。
【0073】
ここで計測した角度α1が所定の角度αaよりも小さいと判別した時には、この部分はある程度以上の曲がりがあるため、間引きするにはふさわしくないと判別してステップS29に進み、前記作動を行う。それに対して計測した角度は所定の角度αaを超えると判別した時にはステップS26に進み、両隣の要素点を結ぶ直線に対する垂線の長さL1を計測する(ステップS26)。
【0074】
この処理は前記のように図11(b)(c)の条件(2)を判別するための計測を行うものであり、その計測結果に基づきステップS27で、垂線の長さL1は所定長さLa以下であるか否かを判別する。ここで垂線の長さが所定長さLa以下ではないと判別した時には、その部分での曲がりがある程度あるものとして間引くにはふさわしくないと判別し、ステップS29に進んで前記作動を行う。
【0075】
ステップS27で垂線の長さL1は所定の長さLa以下であると判別した時には、図11(b)(c)の(1)及び(2)の条件を全て満たす時であり、その時にはステップS28に進んで指定要素点について間引フラグを立てる。その後前記ステップS24、ステップS25、ステップS27のいずれかで否と判別された時と共にステップS29に進み、全ての要素点の間引チェックをしていないと判別した時にはステップS21に戻って次の要素点の指示を継続し、全ての要素点の間引チェックを行ったと判別した時にはステップS30に進んで、前記一連の処理を終了する。
【0076】
図2のステップS8で前記図3に示すような処理を行った後、ステップS9に進み、間引処理するポリゴンを順に指示する。ここでは前記処理によって最初に指定したポリゴンの処理が終了した後であるので、続いて隣接しているポリゴンについて処理を行うこととなる。そのように指示したポリゴンについても前記図3と同様の間引処理を行うが、その際には先のポリゴンで間引フラグを立てている時には、次のポリゴンでは特に判別することなく、間引処理を行うものとする。
【0077】
その後指定したポリゴンの全ての隣接ポリゴンの間引処理を行ったか否かを判別し(ステップS11)、未だ全ての隣接ポリゴンの間引処理を行っていないと判別した時にはステップS9に戻り、次のポリゴンを順に指示して前記作動を繰り返す。それに対してステップS11で全ての隣接ポリゴンの間引処理を行ったと判別した時には、ステップS12に進み、間引処理するポリゴンを全て処理したか否かを判別し、前記のように指定ポリゴン、それに続くその指定ポリゴンの隣接ポリゴンを処理した後更にそれらに隣接するポリゴンについて、全てを指示する迄、ステップS10で間引処理を行う前記作動を繰り返す。その後全てのポリゴンについて間引処理を行った時には、ステップS13に進んで、間引フラグの立っている要素点を間引いて表示用ポリゴンを作成する。
【0078】
本発明においては、図1に示す機能ブロックからなる装置を図2及び図3に示す作動フローによって順に作動することにより、所望の機能を行うことができるものであり、前記図6に示した各エッジについてポリゴン毎の要素点を対応付けた後、最初は指定したポリゴンAについて図7のような処理がなされる。
【0079】
図7に示すポリゴンAの間引処理の例においては、ポリゴンAの構成エッジ1〜5について、それぞれ図示するような要素点によって構成され、例えばエッジ1についてはほぼ直線で且つ他の隣接ポリゴンの影響等もないため、前後両端の要素点である要素点1と要素点8以外は間引処理を行う。図7においては、この時の要素点1〜8はポリゴンAの対応要素点はA1〜8であることを示している。以下も同様の要素点対応表を示している。
【0080】
ポリゴンAのエッジ2についても前後両端の要素点以外は間引処理を行う。エッジ3については、ポリゴンAとポリゴンBの共通要素点で構成されているが、この部分はポリゴンAにおける処理によって、要素点2、即ちA15の間引処理を行うことができる。その結果、対応する要素点をもつポリゴンBにおいて、この部分の要素点B3に対して間引処理するためのフラグが立てられる。その後、後述するようにポリゴンBでの処理では既に間引処理が行われるものとして、特に間引処理を行う必要がなくなる。
【0081】
ポリゴンAのエッジ4については前記従来例を示す図12(b)のように、この部分の凹部の底である要素点2(A19)については間引処理が行われない。但し、その後図9に示すポリゴンCの処理において、要素点2は間引処理されることとなる。要素点3(A19)については間引処理が可能である。エッジ5については、前後両端のエッジ以外は間引処理がなされる。
【0082】
その結果、図7(b)に示すようにポリゴンAが図示するようなエッジと構成要素点からなる時、同図(c)の処理後の図に示すように、要素点は整理され、特にエッジ3の部分についてはポリゴンAの処理によって要素点の間引がなされる結果、この部分は直線化する。同時に、ポリゴンB側にもこの処理が反映されるため、そのポリゴンBの要素点B2、B3も間引かれる結果、隙間無くポリゴンA、Bが隣接することとなる。
【0083】
図8には図7の前記処理の後に行われるポリゴンBについての間引処理を示しており、エッジ3については前記のようにポリゴンAの間引処理によって、要素点B2、B3が間引かれている。その他の特記するエッジとしてはポリゴンCと共通するエッジであるエッジ9が存在するが、最初に処理するポリゴンBの処理で図示するように要素点の間引が行われ、それによりポリゴンCの対応する要素点C4、5、6、7、8に間引フラグが立ち、間引かれることとなる。
【0084】
その処理の結果、同図(b)に示すように、ポリゴンBの各エッジの各要素点について、同図(c)に示すようにエッジ3は前記ポリゴンAの処理で間引処理され、エッジ9についてはここでの間引処理がポリゴンCに反映されることとなる。
【0085】
図9に示すポリゴンCの間引処理では、特にエッジ4において、このエッジ4に共通して対応するポリゴンAの各要素点については、要素点3のみが間引処理されたものであるが、このポリゴンCにおいては前記従来例を示す図12(b)のように要素点2の部分も間引処理が可能である。そのため要素点2(AA18、C3)もここで間引処理がなさ得る。その結果、ポリゴンCの要素点C3に対応するポリゴンAの要素点A18もこの間引きに反映される。エッジ9については前記のようにポリゴンBの処理において間引かれることとなっている。
【0086】
その結果最終的に図9(c)に示すように、また、その地図表示状態の拡大図を図10(b)に示すように、特にエッジ3及びエッジ4において、従来は図12(b)に示すようにポリゴン間に隙間が生じる部分において、全く隙間を生じることが無くなり、従来の問題を解決することができる。しかもこの処理は全て自動化でき、容易に全間引処理を行ったデータを得ることができる。また、間引前の原データが提供されている時には、地図を描画する機器側が、上記処理を行うソフトウェアによって、素早くポリゴン表示を行うことが可能となる。
【符号の説明】
【0087】
1 間引処理対象選択部
2 要素点間引処理部
3 間引処理ポリゴン抽出部
4 間引処理用ポリゴン指定部
5 ポリゴン周縁形成要素点取得部
6 隣接ポリゴン検出部
7 ポリゴン周縁エッジ設定部
8 エッジ形成要素点検出部
9 間引処理エッジ指示部
10 間引処理要素点指示部
11 間引可否判別処理部
12 隣接要素点間角度計側部
13 隣接要素点間角度所定域内判別部
14 隣接要素点間直線への垂線長さ計測部
15 垂線長さ所定値以下判別部
16 間引フラグ処理部
17 間引フラグ検出部
18 ポリゴン表示データ形成部
【技術分野】
【0001】
本発明は、ディスプレイに地図を表示するに際して、地図の背景となるポリゴンを描画するとき、ポリゴンの周縁を形成する要素点を間引いて表示する地図ポリゴン描画方法及びその方法を実施する装置に関し、特に隣接するポリゴンのうち片側のポリゴンで間引処理を行うのに対して他側では間引処理を行わないことにより生じる隙間を無くすことができるようにした地図ポリゴン描画方法、及びその方法を実施する装置に関する。
【背景技術】
【0002】
地図を表示するには、地図帳として表示する以外に、近年は地図の電子データ化により、パソコンやナビゲーション装置を初め、携帯情報端末、携帯電話等々のディスプレイに表示することが多くなっている。このような地図の電子データ化によって、世界中任意の地点について、任意の縮尺で、しかも好みの表示手法によって自由に表示することができるようになっている。
【0003】
電子データ化された地図はDVDやメモリカード等の各種データ記録媒体に記録する以外に、インターネット等を通じて各種情報機器に取り込むことができるが、このような地図データは、多くの場合各種の縮尺レベルに応じて適当な大きさの経度幅及び緯度幅に区切られており、道路等は経度及び緯度で表現されたノードの座標集合としている。このような地図の表示に際しては、道路表示レイヤの他、地図画面上に道路、建築物、施設、海や河川、森、山岳等の地図上の背景を表示するポリゴン表示レイヤ、更には市町村名などの行政区画名、道路名、交差点名及び施設の名前やその施設のアイコン等の、文字や地図記号を表示するための情報データ表示レイヤ等、多くのレイヤのデータを重ねて表示している。
【0004】
この中のポリゴンを表示するデータは、地図を利用者にとってわかりやすく、且つ親しみ易く、見栄えがよいように表示するために重要な表示データとなっている。このポリゴンデータは、衛星写真や測量地図を元に整備されており、このポリゴンデータを地図上に表示する際には、その表示データ処理に多大な負担をかけることがあり、地図描画性能を悪化させるため、できる限り地図描画処理負担を軽くするように、ポリゴンの周縁を構成する要素点の間引き処理を行っている。
【0005】
そのようなポリゴンの周縁を形成する要素点の間引処理に際しては、主として図11に示すように行われている。図11に示す例においては、同図(a)に示すようなポリゴンPが存在する時、その一部が同図の要素点2の部分が突出しているとき、その突出部の要素点を間引くか否かは、ポリゴンの周囲形状の変化が少ないことを示す所定の条件を満たすときにその要素点を削除して間引く。その時の条件としては例えば同図(b)に示すようにして行う。
【0006】
即ち第1に、要素点2を中心としてその両隣の要素点1と要素点3との関係を、要素点2における角度αを計測し、そのαが例えば170度等の所定の角度αaと、180度の間に存在するかを判別する。
【0007】
第2に、図11に示す例においては、要素点2を挟む両隣の要素点1と要素点3を結ぶ直線に、要素点2から垂線を降ろし、そのときの長さL、即ち要素点2の前記直線との距離を計測して、その長さLが最大値の閾値としての所定の長さLa以下であるかを判別して、両条件を満たす時、この要素点2を間引くことにしている。こののような判別条件は、前記第1の条件を満たす場合でも、要素点2の両隣の要素点1と3の距離が大きい時は、この要素点は間引くことが好ましくないものとする。
【0008】
その処理に際して、前記角度αは、反時計回りを順方向とし、ポリゴン側の角度を測定している。したがって、図11(a)において、図示の例では要素点2がポリゴンにとって突出しているため、角度αは180度以下であるのに対して、図示とは逆に要素点2が凹部であるポリゴンの場合は、角度αは180度を超えるため、その場合は要素点2の間引き処理を行わないことになる。
【0009】
上記処理の結果、図11(c)のように、(1)要素点2について隣接要素点1及び3間の角度αがα1であって、所定角度αaよりも大きく、前記180度以下の時、であって、(2)隣接要素点間を結ぶ直線への垂線の長さL1が所定の長さLaよりも小さい時には、同図(d)に示すように要素点を間引き、要素点1と3のみとする。このような間引を行う要素点を選択する条件を満たす要素点2の部分は、ポリゴンの周囲形状の変化が少ない部分ということができる。なお、間引処理を行う条件は、上記以外に種々の手法が提案されている。
【0010】
前記のような要素点の間引処理の結果、ポリゴンの多くの要素点が間引かれ、ポリゴンの表示処理負担が軽くなり、地図全体の表示が速くなるため、特定地点の地図表示速度を向上し、また現在の地図表示からのスクロール表示や、地図の表示縮尺の変更等において、円滑な表示ができるようになる。
【0011】
なお、地図表示におけるポリゴンの表示に際して、ポリゴン間に隙間が発生する時、その隙間領域を抽出し、併合釦を操作することにより、隣接ポリゴンに合体して隙間を埋めて修正を行うことができるようにした技術は、特許文献1に開示されている。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開2007−213524号公報
【発明の概要】
【発明が解決しようとする課題】
【0013】
前記のように、電子データによって地図を描画する時、その背景となるポリゴンの表示処理負担を軽くするため、ポリゴンの周縁を形成する要素点を、前記のような所定の条件を満たす時に間引く技術では、例えば図12(b)に示すような隙間Sa、Sbを生じることがある。
【0014】
即ち図示の例では、最初は同図(a)に示すように、全ての要素点を用いてポリゴンA、B、Cを描画する時には各ポリゴン間で隙間が発生することはないが、前記のような要素点の間引処理を行うとき、ポリゴンAがその僅かの突出部分で要素点の間引処理を行った部分で、ポリゴンBは凹部となり、この部分での要素点の間引は行わなかった例を示している。
【0015】
同様に同図の例においては、ポリゴンAとポリゴンCとの関係において、ポリゴンCがその僅かの突出部分で要素点の間引処理を行ったとき、その部分でポリゴンAは凹部となっており、この部分での要素点の間引は行わなかった例を示している。その結果ここには隙間Sbが発生している。
【0016】
このようにして形成されたポリゴンの要素点の間引処理によって発生したポリゴン間の隙間は、例えば図13(b)に示すような海ポリゴンにおいて、1つの海ポリゴンが他の海ポリゴンと隣接して繋がっている時、そのポリゴンの境界の一部Rにおいて、同図のように広域地図表示状態ではほとんどわからないものの、同図(a)のように拡大して表示する時には、図中Rで示すよな隙間SaとSbが、周囲の海の色が存在しない、白地となって見えてくる。
【0017】
このようなポリゴン間の隙間は、地図自体の表示としては大きな問題は生じないものの、地図を拡大する程この隙間は目立ち、地図データの安っぽさを印象づけて見栄えが極めて良くない。そのため、前記特許文献のようにその隙間を埋める処理を行うことも提案されているが、その処理のためには人為的な操作を必要とし、全てのポリゴン間の隙間を無くすには膨大な手数を要する。
【0018】
なお、上記のようにポリゴンの表示を円滑にするために、ポリゴン周縁を形成する要素点を間引く処理は、地図データを提供する企業が地図データに対して処理を行い、このように処理した地図データを提供する以外に、特に間引処理を行っていない生のデータが提供される時、そのデータに基づいて地図を表示する、例えばパソコンやナビゲーション装置で間引処理ソフトによって処理する場合が存在しうる。
【0019】
したがって本発明は、地図の背景となるポリゴンの表示に際して、ポリゴン表示の処理負担を軽減するためにポリゴンの周縁を形成する要素点を所定の条件で間引く時、従来の条件では隣接するポリゴン間に隙間が発生し、地図の見栄えが悪くなる問題を、手数を要することなく、容易に解消することができるようにした地図ポリゴン描画方法、及びその方法を実施する装置に関する。
【課題を解決するための手段】
【0020】
本発明に係る地図ポリゴン描画方法は、前記課題を解決するため、描画する地図に含まれる全てのポリゴンを抽出し、前記抽出したポリゴンについて、各ポリゴンの周縁を形成する要素点を取得し、各ポリゴンについて相互に隣り合う複数の要素点からなる部分にエッジを設定し、前記エッジを構成する要素点について、ポリゴンの周囲形状の変化が少ないことを示す所定の条件を満たすとき、地図表示用要素点として削除する間引処理を行い、前記要素点を削除する間引処理を行ったとき、当該要素点が現在間引処理を行っているポリゴンに隣接するポリゴンを構成する要素点と一致するとき、当該隣接するポリゴンの要素点も削除する間引処理を行い、前記間引処理を、指定したエッジを構成する全ての要素点に対して行った後、指定したポリゴンを構成する他のエッジに対しても前記間引処理を行い、前記指定したポリゴンの全てのエッジに対して前記間引処理を行い、その後、前記抽出したポリゴンの全てに対して前記要素点の間引処理を行い、前記間引処理を行ったデータによりポリゴンを描画することを特徴とする。
【0021】
また、本発明に係る他の地図ポリゴン描画方法は、前記地図ポリゴン描画方法において、前記指定したポリゴンの全てのエッジに対して前記間引処理を行った後は、当該ポリゴンに隣接するポリゴンを順に指定して前記間引処理を行うことを特徴とする。
【0022】
また、本発明に係る他の地図ポリゴン描画方法は、前記地図ポリゴン描画方法において、前記エッジの設定に際しては、当該エッジの前後端の要素点については、少なくとも前記ポリゴンの周囲形状の変化が少ないことを示す所定の条件を満たす要素点以外の要素点を選択することを特徴とする。
【0023】
また、本発明に係る他の地図ポリゴン描画方法は、前記地図ポリゴン描画方法において、前記エッジの設定に際しては、当該エッジの前後端の要素点については、前記所定の条件のほか、隣接するポリゴンが変化する要素点を選択することを特徴とする。
【0024】
また、本発明に係る他の地図ポリゴン描画方法は、前記地図ポリゴン描画方法において、前記エッジを設定したとき、当該エッジが隣接するポリゴンのエッジと共通するときには、当該エッジを構成する要素点について、両ポリゴンにおいてそれぞれ対応する要素点についての対応データを作成し、一方のポリゴンの要素点を前記間引処理により削除するとき、前記対応データによって他方のポリゴンの要素点を削除する間引処理を行うことを特徴とする。
【0025】
また、本発明に係る他の地図ポリゴン描画方法は、前記地図ポリゴン描画方法において、前記一方のポリゴンの要素点を前記間引処理により削除するとき、前記対応データにより他方のポリゴンの要素点の間引処理を行う際には当該要素点については間引処理を行わないことを特徴とする。
【0026】
また、本発明に係る他の地図ポリゴン描画方法は、前記地図ポリゴン描画方法において、前記ポリゴンの周囲形状の変化が少ないことを示す所定の条件は、指示した要素点について隣接する要素点で形成される角度が所定角度以内であることを特徴とする。
【0027】
また、本発明に係る他の地図ポリゴン描画方法は、前記地図ポリゴン描画方法において、前記ポリゴンの周囲形状の変化が少ないことを示す所定の条件は、隣接する要素点を結ぶ直線に降ろした垂線の長さが所定以内であることを特徴とする請求項1記載のポリゴン描画方法。
【0028】
また、本発明に係る他の地図ポリゴン描画方法は、前記地図ポリゴン描画方法において、前記間引処理したデータは、地図表示用データとしてデータベースに保存することを特徴とする。
【0029】
また、本発明に係る他の地図ポリゴン描画方法は、前記地図ポリゴン描画方法において、前記間引処理したデータは、地図表示用データとしてデータベースに保存することを特徴とする。
【0030】
また、本発明に係る地図ポリゴン描画装置は、前記課題を解決するため、描画する地図に含まれる全てのポリゴンを抽出する間引処理ポリゴン抽出手段と、前記間引処理ポリゴン抽出手段で抽出したポリゴンについて、各ポリゴンの周縁を形成する要素点を取得するポリゴン周縁形成要素点取得手段と、前記間引処理ポリゴン抽出手段で抽出した各ポリゴンについて、相互に隣り合う複数の要素点からなる部分にエッジを設定するポリゴン周縁エッジ設定手段と、前記ポリゴン周縁エッジ設定手段で設定したエッジを構成する要素点について、ポリゴンの周囲形状の変化が少ないことを示す所定の条件を満たすとき、地図表示用要素点として削除する間引処理を行う要素点間引処理手段とを備え、前記要素点間引処理手段では、要素点を削除する間引処理を行ったとき、当該要素点が現在間引処理を行っているポリゴンに隣接するポリゴンを構成する要素点と一致するときには、当該隣接するポリゴンの要素点も削除する間引処理を行い、前記間引処理を、指定したエッジを構成する全ての要素点に対して行った後、指定したポリゴンを構成する他のエッジに対しても前記間引処理を行い、前記指定したポリゴン法の全てのエッジに対して前記間引処理を行い、その後、前記抽出したポリゴンの全てに対して前記要素点の間引処理を行うことによりポリゴンを描画するデータを作成することを特徴とする。
【0031】
また、本発明に係る他の地図ポリゴン描画装置は、前記地図ポリゴン描画装置において、前記要素点間引処理手段では、前記指定したポリゴンの全てのエッジに対して前記間引処理を行った後は、当該ポリゴンに隣接するポリゴンを順に指定して前記間引処理を行うことを特徴とする。
【0032】
また、本発明に係る他の地図ポリゴン描画装置は、前記地図ポリゴン描画装置において、前記ポリゴン周縁エッジ設定手段では、前記エッジの設定に際して、当該エッジの前後端の要素点については、少なくとも前記ポリゴンの周囲形状の変化が少ないことを示す所定の条件を満たす要素点以外の要素点を選択することを特徴とする。
【0033】
また、本発明に係る他の地図ポリゴン描画装置は、前記地図ポリゴン描画装置において、前記ポリゴン周縁エッジ設定手段では、前記エッジの設定に際して、当該エッジの前後端の要素点については、前記所定の条件のほか、隣接するポリゴンが変化する要素点を選択することを特徴とする。
【0034】
また、本発明に係る他の地図ポリゴン描画装置は、前記地図ポリゴン描画装置において、前記要素点間引処理手段では、前記ポリゴン周縁エッジ設定手段でエッジを設定したとき、当該エッジが隣接するポリゴンのエッジと共通するときには、当該エッジを構成する要素点について、両ポリゴンにおいてそれぞれ対応する要素点についての対応データを作成し、
一方のポリゴンの要素点を前記間引処理により削除するとき、前記対応データによって他方のポリゴンの要素点を削除する間引処理を行うことを特徴とする。
【0035】
また、本発明に係る他の地図ポリゴン描画装置は、前記地図ポリゴン描画装置において、前記要素点間引処理手段では、前記一方のポリゴンの要素点を前記間引処理により削除するとき、前記対応データにより他方のポリゴンの要素点の間引処理を行う際には当該要素点については間引処理を行わないことを特徴とする。
【0036】
また、本発明に係る他の地図ポリゴン描画装置は、前記地図ポリゴン描画装置において、前記ポリゴンの周囲形状の変化が少ないことを示す所定の条件は、指示した要素点について隣接する要素点で形成される角度が所定角度以内であることを特徴とする。
【0037】
また、本発明に係る他の地図ポリゴン描画装置は、前記地図ポリゴン描画装置において、前記ポリゴンの周囲形状の変化が少ないことを示す所定の条件は、隣接する要素点を結ぶ直線に降ろした垂線の長さが所定以内であることを特徴とする。
【0038】
また、本発明に係る他の地図ポリゴン描画装置は、前記地図ポリゴン描画装置において、前記間引処理したデータは、地図表示用データとしてデータベースに保存することを特徴とする。
【0039】
また、本発明に係る他の地図ポリゴン描画装置は、前記地図ポリゴン描画装置において、前記間引処理したデータは、地図表示用データとしてデータベースに保存することを特徴とする。
【発明の効果】
【0040】
本発明は上記のように構成したので、地図の背景となるポリゴンの表示に際して、ポリゴン表示の処理負担を軽減するためにポリゴンの周縁を形成する要素点を所定の条件で間引く時、従来の条件では隣接するポリゴン間に隙間が発生し、地図の見栄えが悪くなる問題を、手数を要することなく、容易に解消することができるようになる。
【図面の簡単な説明】
【0041】
【図1】本発明の実施例の機能ブロック図である。
【図2】同実施例の作動フロー図である。
【図3】同実施例で行う要素点間引処理の作動フロー図である。
【図4】ポリゴン毎の要素点の例を示す図である。
【図5】隣接ポリゴンのエッジ設定処理の例を示す図である。
【図6】ポリゴン毎のエッジの要素点対応表の例を示す図である。
【図7】ポリゴンAの間引処理の例を示す図である。
【図8】その後行われるポリゴンBの間引処理の例を示す図である。
【図9】その後行われるポリゴンCの間引処理の例を示す図である。
【図10】本発明による間引処理前と処理後の状態を示す図である。
【図11】従来から提案されているポリゴン構成要素点の間引処理例を示す図である。
【図12】同処理の結果ポリゴン間に隙間が生じる状態の説明図である。
【図13】従来ポリゴン間に隙間が生じる実際例を示す図である。
【発明を実施するための形態】
【実施例】
【0042】
本発明の実施例を図面に沿って説明する。図1は本発明における地図ポリゴン描画装置において、特にポリゴンの周縁を形成する要素点の間引処理を行う時、隣接するポリゴン間に隙間が発生しないようにするための処理を行う機能ブロック図を主として示しており、本発明を各種の態様で実施することができるようにした機能ブロック図を示している。なお、同図において、各機能を行う機能部は、それぞれ各機能を行う手段ということができる。
【0043】
図1の表示ポリゴンの周縁を形成する要素点の間引処理を行う装置の例においては、主として要素点の間引処理を行う対象を選択する間引処理対象選択部1と、その間引処理対象選択部1で選択した間引処理対象について、実際に間引処理を行う要素点間引処理部2とを備えている。
【0044】
図1の例えば前記両者が互いに連携して作動し、後述するように間引処理対象選択部1で選択したポリゴン、その中のエッジ、それを構成する要素点について間引処理を行うと、同じエッジの次の要素点、同じエッジの全ての要素点に対する処理が終了するとその次のエッジについて同様の処理を行い、そのエッジの処理が終了するとそのポリゴンの他のエッジを順に選択し、同様にして今回の処理を必要とする他のポリゴンに対して処理を行うことにより完了するようにしている。
【0045】
間引処理対象選択部1には、これから処理を行おうとする地図について、その地図に含まれる全てのポリゴンを抽出するための間引処理ポリゴン抽出部3を備える。間引処理用ポリゴン指定部4では、最終的にその地図の全てのポリゴンを指定することとなるが、順に処理を行うために適宜の順に処理するポリゴンの指定を行う。
【0046】
ポリゴン周縁形成要素点取得部5では、指定したポリゴンについて、また後述するようにその指定ポリゴンに直接隣接するポリゴンについて、それらのポリゴンの周縁を形成する要素点を全て取得する。それらのデータは従来より、各ポリゴンを表示するための元のデータに整理して記録されている。
【0047】
隣接ポリゴン検出部6では、前記のように間引処理用ポリゴン指定部4で指定したポリゴンについて、隣接するポリゴンを検出する。それらのポリゴンについても前記のようにポリゴン周縁形成要素点取得部5によって、要素点を取得する処理がなされる。その結果、例えば前記従来例として示した図12(a)と同様の例を示す図4(a)のように、間引処理用ポリゴン指定部4で指定するポリゴンがポリゴンAである時、隣接ポリゴン検出部6ではポリゴンBとポリゴンCを検出する。
【0048】
また、前記ポリゴン周縁形成要素点取得部4では、ポリゴンAについては要素点A1〜A24の24個の要素点を取得し、ポリゴンBについてはB1〜B17の17個の要素点を取得し、ポリゴンCについてはC1〜C18の18個の要素点を取得している。
【0049】
ポリゴン周縁エッジ設定部7では、間引処理用ポリゴン指定部3で指定したポリゴンと、隣接ポリゴン検出部6で検出したポリゴンについて、ポリゴン周縁を形成するエッジを設定する。この時の「エッジ」とは、各ポリゴンについて隣接する要素点が例えば10度以上折れ曲がっている要素点、或いは大きな曲折はないものの、その部分で隣接するポリゴンが変わる部分等の予め設定した条件の特徴的な要素点間を結ぶ周縁部分を検出する。それにより、前記のような「エッジ」を決定する。
【0050】
このようなエッジの検出処理により、前記図4の例においては、図5に示すようにポリゴンAについて、要素点A1〜A8がほぼ直線状態のためこれをエッジ1とする。このエッジに対してポリゴンAにおける反時計回りを順方向として、同様に要素点A8〜A14についてはエッジ2とする。
【0051】
また、要素点A16部分については10度以下の折曲であるときにはこれをエッジの端部とはせず、要素点A17部分については、隣接するポリゴンがポリゴンBからポリゴンCに変わるため、これをエッジの端部として、要素点A14〜A17をエッジ3とする。要素点A18部分については、前記要素点A16と同様に、例えば10度以下のわずかな折曲である時にはこれをエッジの端部とはせず、したがって要素点A17〜A20をエッジ4とする。また、要素点A20〜A1については、ほぼ直線上であるのでこの周縁部分をエッジ5としている。
【0052】
同様に隣接ポリゴンであるポリゴンBについては、ポリゴンAで設定したエッジ3は共通するエッジであるので、要素点B1〜B4をエッジ3の要素点とする。このエッジからポリゴンBにとって順方向に、要素点B4〜B6をエッジ6とし、要素点B6〜B10をエッジ7とし、要素点B12部分の折曲が小さいことによりこれはエッジの端部とはせず、したがって要素点B10〜B14をエッジ8とする。
【0053】
ポリゴンBの要素点B14〜B1についてはほぼ直線状であるのでこれをエッジ9とする。このエッジ9はポリゴンAに隣接するポリゴンでありポリゴンBにも隣接するポリゴンCにおける、要素点C4〜C8と共通して構成される。
【0054】
ポリゴンCについては、前記ポリゴンAのエッジ4について、ポリゴンAにおいては要素点A17〜A20が構成しているのに対して、要素点C1〜4が共通して構成している。ポリゴンCの要素点C4〜C8については、前記のようにポリゴンBの要素点B14〜B1と共にエッジ9を構成している。
【0055】
要素点C11部分については曲がりが少ないためこれをエッジの端部とはせず、要素点C8〜C15をエッジ10とする。また、要素点CC15〜C1はエッジ11とする。上記のようにして、指定ポリゴンAと、それに隣接するポリゴンであるポリゴンBとポリゴンCについて、一連のエッジを設定する。
【0056】
図1のポリゴン周縁エッジ設定部7では前記のようなエッジの設定を行い、エッジ構成要素点検出部8では前記のような各エッジが構成される各ポリゴンの要素点を検出する。間引処理エッジ指示部9では、前記間引処理用ポリゴン指定部4で指定したポリゴンと、隣接ポリゴン検出部6で検出したポリゴンについて、間引処理を行うエッジの指示を行う。
【0057】
間引処理要素点指定部10では、間引処理エッジ指示部9で指示したエッジについて、そのエッジを構成する要素点を順に指示する。このようにして、例えば現在間引処理用ポリゴン指定部4で指定したポリゴンについて要素点の間引処理を行う時、間引処理用エッジ指示部9ではそのポリゴンを構成するエッジを順に指示し、間引処理要素点指示部10では、そのエッジについてそのポリゴンにおいてエッジを構成する要素点を順に指示する。その後間引処理するポリゴンについて、指定ポリゴンのエッジを全て処理した後は、隣接ポリゴンについて同様の間引処理を行うエッジ及びそれを構成する要素点の間引処理を行い、最終的に全てのポリゴンの処理がなされる。
【0058】
要素点間引処理部2では、前記のように指示された要素点について、所定の条件を満たすものを間引く処理を行うものであり、基本的には前記従来例で示した図11の処理を行う。その中の間引可否判別処理部11では要素点を間引くか否かを判別する処理を行うものであり、その中の隣接要素点間角度計測部12で計測した、前記図11の隣接要素点間角度である角度αを計測する。その計測値に基づき、隣接要素点間角度所定域内判別部13で、図11(b)(c)に示すように、また同図の説明で述べたように、条件(1)αa<α1≦180度を満たすかどうかを判別する。
【0059】
また、隣接要素点間直線への垂線長さ計測部18では、図11(b)(c)に示すように、また同図の説明で述べたように、隣接する要素点を結ぶ直線への垂線の長さL1について、所定の長さLaより短いか、即ちL1<Laであるか否かを判別する。したがって間引可否判別処理部11では、前記間引条件(1)と’(2)の条件を満たすか否かを判別し、全て満たす時には間引処理を行う。
【0060】
間引フラグ処理部16では、前記間引可否判別処理部10で、特定の要素点について間引く旨の判別を行った時、図示の例では地図描画データとしてそれを間引いて描画するデータを形成するため、その要素点に間引フラグを立てる。その後このようにして全てのポリゴンについて、全てのエッジの全ての要素点の間引可否判別を行い、間引フラグ処理を行った後は、ポリゴン表示データ形成部18でポリゴンの表示を行うデータを形成する。
【0061】
前記のような処理を行う結果、図1(a)に示すように多数の要素点からなるポリゴンについて同図(c)に示すように最小限の要素点となり、その際に隣接ポリゴンが共通して構成するエッジについてはm、同図においてエッジ3及びエッジ4に示すように、隣接するポリゴンの内、片方で間引処理が行われた時には、他側の間引の判別にかかわらず、間引処理を行うこととなり、隣接するポリゴン間に前記図13(a)に示すような隙間を生じることが無くなる。
【0062】
これらの間引処理を図2及び図3の作動フローに従い、より詳細に順に説明する。図2の表示ポリゴン周縁形成要素点の間引処理の例においては、最初間引処理するポリゴンの抽出から始めている(ステップS1)。この処理は図1の間引処理ポリゴン抽出部3で前記のようにして行っている。
【0063】
その後間引処理するポリゴンを順に指定する(ステップS2)。この処理は図1の間引処理用ポリゴン指定部4で行っている。次いで指定ポリゴンの要素点を取得する(ステップS3)、この処理については図1のポリゴン周縁形成要素点取得部5で、間引処理用ポリゴン指定部4で指定したポリゴンについて要素点を取得することにより行っている。
【0064】
次いで、指定するポリゴンについて隣接するポリゴンを検出する(ステップS4)。この処理は図1の隣接ポリゴン検出部6において前記のようにして行っている。その後隣接ポリゴンの要素点を取得する(ステップS5)。この処理は図1のポリゴン周縁形成要素点取得部5において、隣接ポリゴン検出部6で検出したポリゴンについて、要素点を検出することにより行っている。このような処理により、前記のように図4に示すような各ポリゴンについて、要素点を取得する。
【0065】
その後指定ポリゴンに隣接するポリゴンの共通要素点を含むポリゴン周縁のエッジを設定する(ステップS6)。この処理は図1のポリゴン周縁エッジ設定部7で前記のようにして行っている。その結果図5に示すようなエッジ1〜エッジ11を設定することも前記の通りである。
【0066】
次いで各エッジについて、ポリゴン毎の要素点を対応付ける(ステップS7)。この処理は図6に示しており、ポリゴンAについてはエッジ1〜エッジ5が存在し、それらのエッジを構成する要素点は全て順方向に対応することを示している。同様にポリゴンBについては、エッジ3、6、7、8、9が存在し、それを構成する要素点はエッジ3についてはポリゴンAがA14〜A17と反時計方向で順方向であるのに対して、その要素点にそれぞれ対応するポリゴンBの要素点はB4、3、2、1と逆方向に対応していることを示している。ポリゴンBについてはその他のエッジは順方向となっている。
【0067】
ポリゴンCについては、エッジ4はポリゴンAの要素点が順方向であるのに対して、前記と同様の対応によってポリゴンCの要素点は逆方向となる。同様にエッジ9についてはポリゴンBが順方向である時、ポリゴンCについては逆方向となる。ポリゴンCのその他のエッジについては順方向である。
【0068】
各ポリゴンを構成するエッジについて、その要素点をそれぞれエッジ1〜11について示している。ここで例えばエッジ3についてはポリゴンAのエッジ3と、ポリゴンBのエッジ3が共通し、エッジ4についてはポリゴンAのエッジ4とポリゴンCのエッジ4が共通していることを示している。エッジ9についてはポリゴンBのエッジ9とポリゴンCのエッジ9が共通していることを示している。
【0069】
図2の例においてはその後、図3に示すような、ポリゴンの要素点の間引処理を行う。図3に示すポリゴンの周縁を形成する要素点の間引処理の例においては、最初間引処理する要素点を順に指示することから行っている(ステップS21)。図3に示す例においてはその後指定した要素点には既に間引フラグが立っているか否かを判別している(ステップS22)。
【0070】
即ち、図3に示す処理で最初に作動する状態では未だ間引フラグが立っている状態はないが、その後の処理で後述するステップS28で指定要素点に間引フラグを立てた後、ステップS29で未だ全ての要素点の間引チェックをしていないと判別した時にステップ21に戻り、新たな要素点を順に指示して同様の処理を繰り返すため、ここでは既に前記のように間引フラグを立てている要素点についてはその後の処理を行う必要がないので、ステップS1に戻り、次の要素点の指示を行うようにしている。
【0071】
ステップS21において指示した要素点は未だ間引フラグが立っていないと判別した時にはステップS23に進み、指定要素点について両隣の要素点とのなすポリゴン側の角度α1を計測する(ステップS23)。即ち、前記図11(b)(c)の条件(1)の判別を行うため、前記角度α1を計測する。
【0072】
その後ステップS24において、その計測した角度α1は180度以内であるか否かを判別する。ここで180度を超えたと判別した時には、この要素点については間引処理を行わないとしてステップS29に進み、未だ全ての要素点の間引チェックをしていないと判別した時にはステップS21に戻って、次の要素点を指示する。それに対して角度α1は180度以内であると判別したときにはステップS25に進み、計測した角度α1は例えば170度等の所定の角度αaを超えるか否かを判別する。
【0073】
ここで計測した角度α1が所定の角度αaよりも小さいと判別した時には、この部分はある程度以上の曲がりがあるため、間引きするにはふさわしくないと判別してステップS29に進み、前記作動を行う。それに対して計測した角度は所定の角度αaを超えると判別した時にはステップS26に進み、両隣の要素点を結ぶ直線に対する垂線の長さL1を計測する(ステップS26)。
【0074】
この処理は前記のように図11(b)(c)の条件(2)を判別するための計測を行うものであり、その計測結果に基づきステップS27で、垂線の長さL1は所定長さLa以下であるか否かを判別する。ここで垂線の長さが所定長さLa以下ではないと判別した時には、その部分での曲がりがある程度あるものとして間引くにはふさわしくないと判別し、ステップS29に進んで前記作動を行う。
【0075】
ステップS27で垂線の長さL1は所定の長さLa以下であると判別した時には、図11(b)(c)の(1)及び(2)の条件を全て満たす時であり、その時にはステップS28に進んで指定要素点について間引フラグを立てる。その後前記ステップS24、ステップS25、ステップS27のいずれかで否と判別された時と共にステップS29に進み、全ての要素点の間引チェックをしていないと判別した時にはステップS21に戻って次の要素点の指示を継続し、全ての要素点の間引チェックを行ったと判別した時にはステップS30に進んで、前記一連の処理を終了する。
【0076】
図2のステップS8で前記図3に示すような処理を行った後、ステップS9に進み、間引処理するポリゴンを順に指示する。ここでは前記処理によって最初に指定したポリゴンの処理が終了した後であるので、続いて隣接しているポリゴンについて処理を行うこととなる。そのように指示したポリゴンについても前記図3と同様の間引処理を行うが、その際には先のポリゴンで間引フラグを立てている時には、次のポリゴンでは特に判別することなく、間引処理を行うものとする。
【0077】
その後指定したポリゴンの全ての隣接ポリゴンの間引処理を行ったか否かを判別し(ステップS11)、未だ全ての隣接ポリゴンの間引処理を行っていないと判別した時にはステップS9に戻り、次のポリゴンを順に指示して前記作動を繰り返す。それに対してステップS11で全ての隣接ポリゴンの間引処理を行ったと判別した時には、ステップS12に進み、間引処理するポリゴンを全て処理したか否かを判別し、前記のように指定ポリゴン、それに続くその指定ポリゴンの隣接ポリゴンを処理した後更にそれらに隣接するポリゴンについて、全てを指示する迄、ステップS10で間引処理を行う前記作動を繰り返す。その後全てのポリゴンについて間引処理を行った時には、ステップS13に進んで、間引フラグの立っている要素点を間引いて表示用ポリゴンを作成する。
【0078】
本発明においては、図1に示す機能ブロックからなる装置を図2及び図3に示す作動フローによって順に作動することにより、所望の機能を行うことができるものであり、前記図6に示した各エッジについてポリゴン毎の要素点を対応付けた後、最初は指定したポリゴンAについて図7のような処理がなされる。
【0079】
図7に示すポリゴンAの間引処理の例においては、ポリゴンAの構成エッジ1〜5について、それぞれ図示するような要素点によって構成され、例えばエッジ1についてはほぼ直線で且つ他の隣接ポリゴンの影響等もないため、前後両端の要素点である要素点1と要素点8以外は間引処理を行う。図7においては、この時の要素点1〜8はポリゴンAの対応要素点はA1〜8であることを示している。以下も同様の要素点対応表を示している。
【0080】
ポリゴンAのエッジ2についても前後両端の要素点以外は間引処理を行う。エッジ3については、ポリゴンAとポリゴンBの共通要素点で構成されているが、この部分はポリゴンAにおける処理によって、要素点2、即ちA15の間引処理を行うことができる。その結果、対応する要素点をもつポリゴンBにおいて、この部分の要素点B3に対して間引処理するためのフラグが立てられる。その後、後述するようにポリゴンBでの処理では既に間引処理が行われるものとして、特に間引処理を行う必要がなくなる。
【0081】
ポリゴンAのエッジ4については前記従来例を示す図12(b)のように、この部分の凹部の底である要素点2(A19)については間引処理が行われない。但し、その後図9に示すポリゴンCの処理において、要素点2は間引処理されることとなる。要素点3(A19)については間引処理が可能である。エッジ5については、前後両端のエッジ以外は間引処理がなされる。
【0082】
その結果、図7(b)に示すようにポリゴンAが図示するようなエッジと構成要素点からなる時、同図(c)の処理後の図に示すように、要素点は整理され、特にエッジ3の部分についてはポリゴンAの処理によって要素点の間引がなされる結果、この部分は直線化する。同時に、ポリゴンB側にもこの処理が反映されるため、そのポリゴンBの要素点B2、B3も間引かれる結果、隙間無くポリゴンA、Bが隣接することとなる。
【0083】
図8には図7の前記処理の後に行われるポリゴンBについての間引処理を示しており、エッジ3については前記のようにポリゴンAの間引処理によって、要素点B2、B3が間引かれている。その他の特記するエッジとしてはポリゴンCと共通するエッジであるエッジ9が存在するが、最初に処理するポリゴンBの処理で図示するように要素点の間引が行われ、それによりポリゴンCの対応する要素点C4、5、6、7、8に間引フラグが立ち、間引かれることとなる。
【0084】
その処理の結果、同図(b)に示すように、ポリゴンBの各エッジの各要素点について、同図(c)に示すようにエッジ3は前記ポリゴンAの処理で間引処理され、エッジ9についてはここでの間引処理がポリゴンCに反映されることとなる。
【0085】
図9に示すポリゴンCの間引処理では、特にエッジ4において、このエッジ4に共通して対応するポリゴンAの各要素点については、要素点3のみが間引処理されたものであるが、このポリゴンCにおいては前記従来例を示す図12(b)のように要素点2の部分も間引処理が可能である。そのため要素点2(AA18、C3)もここで間引処理がなさ得る。その結果、ポリゴンCの要素点C3に対応するポリゴンAの要素点A18もこの間引きに反映される。エッジ9については前記のようにポリゴンBの処理において間引かれることとなっている。
【0086】
その結果最終的に図9(c)に示すように、また、その地図表示状態の拡大図を図10(b)に示すように、特にエッジ3及びエッジ4において、従来は図12(b)に示すようにポリゴン間に隙間が生じる部分において、全く隙間を生じることが無くなり、従来の問題を解決することができる。しかもこの処理は全て自動化でき、容易に全間引処理を行ったデータを得ることができる。また、間引前の原データが提供されている時には、地図を描画する機器側が、上記処理を行うソフトウェアによって、素早くポリゴン表示を行うことが可能となる。
【符号の説明】
【0087】
1 間引処理対象選択部
2 要素点間引処理部
3 間引処理ポリゴン抽出部
4 間引処理用ポリゴン指定部
5 ポリゴン周縁形成要素点取得部
6 隣接ポリゴン検出部
7 ポリゴン周縁エッジ設定部
8 エッジ形成要素点検出部
9 間引処理エッジ指示部
10 間引処理要素点指示部
11 間引可否判別処理部
12 隣接要素点間角度計側部
13 隣接要素点間角度所定域内判別部
14 隣接要素点間直線への垂線長さ計測部
15 垂線長さ所定値以下判別部
16 間引フラグ処理部
17 間引フラグ検出部
18 ポリゴン表示データ形成部
【特許請求の範囲】
【請求項1】
描画する地図に含まれる全てのポリゴンを抽出し、
前記抽出したポリゴンについて、各ポリゴンの周縁を形成する要素点を取得し、
各ポリゴンについて相互に隣り合う複数の要素点からなる部分にエッジを設定し、
前記エッジを構成する要素点について、ポリゴンの周囲形状の変化が少ないことを示す所定の条件を満たすとき、地図表示用要素点として削除する間引処理を行い、
前記要素点を削除する間引処理を行ったとき、当該要素点が現在間引処理を行っているポリゴンに隣接するポリゴンを構成する要素点と一致するとき、当該隣接するポリゴンの要素点も削除する間引処理を行い、
前記間引処理を、指定したエッジを構成する全ての要素点に対して行った後、指定したポリゴンを構成する他のエッジに対しても前記間引処理を行い、前記指定したポリゴンの全てのエッジに対して前記間引処理を行い、
その後、前記抽出したポリゴンの全てに対して前記要素点の間引処理を行い、
前記間引処理を行ったデータによりポリゴンを描画することを特徴とするポリゴン描画方法。
【請求項2】
前記指定したポリゴンの全てのエッジに対して前記間引処理を行った後は、当該ポリゴンに隣接するポリゴンを順に指定して前記間引処理を行うことを特徴とする請求項1記載のポリゴン描画方法。
【請求項3】
前記エッジの設定に際しては、当該エッジの前後端の要素点については、少なくとも前記ポリゴンの周囲形状の変化が少ないことを示す所定の条件を満たす要素点以外の要素点を選択することを特徴とする請求項1記載のポリゴン描画方法。
【請求項4】
前記エッジの設定に際しては、当該エッジの前後端の要素点については、前記所定の条件のほか、隣接するポリゴンが変化する要素点を選択することを特徴とする請求項3記載のポリゴン描画方法。
【請求項5】
前記エッジを設定したとき、当該エッジが隣接するポリゴンのエッジと共通するときには、当該エッジを構成する要素点について、両ポリゴンにおいてそれぞれ対応する要素点についての対応データを作成し、
一方のポリゴンの要素点を前記間引処理により削除するとき、前記対応データによって他方のポリゴンの要素点を削除する間引処理を行うことを特徴とする請求項1記載のポリゴン描画方法。
【請求項6】
前記一方のポリゴンの要素点を前記間引処理により削除するとき、前記対応データにより他方のポリゴンの要素点の間引処理を行う際には当該要素点については間引処理を行わないことを特徴とする請求項5記載のポリゴン描画方法。
【請求項7】
前記ポリゴンの周囲形状の変化が少ないことを示す所定の条件は、指示した要素点について隣接する要素点で形成される角度が所定角度以内であることを特徴とする請求項1記載のポリゴン描画方法。
【請求項8】
前記ポリゴンの周囲形状の変化が少ないことを示す所定の条件は、隣接する要素点を結ぶ直線に降ろした垂線の長さが所定以内であることを特徴とする請求項1記載のポリゴン描画方法。
【請求項9】
前記間引処理したデータは、地図表示用データとしてデータベースに保存することを特徴とする請求項1記載のポリゴン描画方法。
【請求項10】
前記間引処理したデータは、地図表示用データとしてデータベースに保存することを特徴とする請求項1記載のポリゴン描画方法。
【請求項11】
描画する地図に含まれる全てのポリゴンを抽出する間引処理ポリゴン抽出手段と、
前記間引処理ポリゴン抽出手段で抽出したポリゴンについて、各ポリゴンの周縁を形成する要素点を取得するポリゴン周縁形成要素点取得手段と、
前記間引処理ポリゴン抽出手段で抽出した各ポリゴンについて、相互に隣り合う複数の要素点からなる部分にエッジを設定するポリゴン周縁エッジ設定手段と、
前記ポリゴン周縁エッジ設定手段で設定したエッジを構成する要素点について、ポリゴンの周囲形状の変化が少ないことを示す所定の条件を満たすとき、地図表示用要素点として削除する間引処理を行う要素点間引処理手段とを備え、
前記要素点間引処理手段では、要素点を削除する間引処理を行ったとき、当該要素点が現在間引処理を行っているポリゴンに隣接するポリゴンを構成する要素点と一致するときには、当該隣接するポリゴンの要素点も削除する間引処理を行い、
前記間引処理を、指定したエッジを構成する全ての要素点に対して行った後、指定したポリゴンを構成する他のエッジに対しても前記間引処理を行い、前記指定したポリゴン法の全てのエッジに対して前記間引処理を行い、
その後、前記抽出したポリゴンの全てに対して前記要素点の間引処理を行うことによりポリゴンを描画するデータを作成することを特徴とするポリゴン描画装置。
【請求項12】
前記要素点間引処理手段では、前記指定したポリゴンの全てのエッジに対して前記間引処理を行った後は、当該ポリゴンに隣接するポリゴンを順に指定して前記間引処理を行うことを特徴とする請求項11記載のポリゴン描画装置。
【請求項13】
前記ポリゴン周縁エッジ設定手段では、前記エッジの設定に際して、当該エッジの前後端の要素点については、少なくとも前記ポリゴンの周囲形状の変化が少ないことを示す所定の条件を満たす要素点以外の要素点を選択することを特徴とする請求項11記載のポリゴン描画装置。
【請求項14】
前記ポリゴン周縁エッジ設定手段では、前記エッジの設定に際して、当該エッジの前後端の要素点については、前記所定の条件のほか、隣接するポリゴンが変化する要素点を選択することを特徴とする請求項13記載のポリゴン描画装置。
【請求項15】
前記要素点間引処理手段では、前記ポリゴン周縁エッジ設定手段でエッジを設定したとき、当該エッジが隣接するポリゴンのエッジと共通するときには、当該エッジを構成する要素点について、両ポリゴンにおいてそれぞれ対応する要素点についての対応データを作成し、
一方のポリゴンの要素点を前記間引処理により削除するとき、前記対応データによって他方のポリゴンの要素点を削除する間引処理を行うことを特徴とする請求項11記載のポリゴン描画装置。
【請求項16】
前記要素点間引処理手段では、前記一方のポリゴンの要素点を前記間引処理により削除するとき、前記対応データにより他方のポリゴンの要素点の間引処理を行う際には当該要素点については間引処理を行わないことを特徴とする請求項15記載のポリゴン描画装置。
【請求項17】
前記ポリゴンの周囲形状の変化が少ないことを示す所定の条件は、指示した要素点について隣接する要素点で形成される角度が所定角度以内であることを特徴とする請求項11記載のポリゴン描画装置。
【請求項18】
前記ポリゴンの周囲形状の変化が少ないことを示す所定の条件は、隣接する要素点を結ぶ直線に降ろした垂線の長さが所定以内であることを特徴とする請求項11記載のポリゴン描画装置。
【請求項19】
前記間引処理したデータは、地図表示用データとしてデータベースに保存することを特徴とする請求項1記載のポリゴン描画。装置
【請求項20】
前記間引処理したデータは、地図表示用データとしてデータベースに保存することを特徴とする請求項11記載のポリゴン描画装置。
【請求項1】
描画する地図に含まれる全てのポリゴンを抽出し、
前記抽出したポリゴンについて、各ポリゴンの周縁を形成する要素点を取得し、
各ポリゴンについて相互に隣り合う複数の要素点からなる部分にエッジを設定し、
前記エッジを構成する要素点について、ポリゴンの周囲形状の変化が少ないことを示す所定の条件を満たすとき、地図表示用要素点として削除する間引処理を行い、
前記要素点を削除する間引処理を行ったとき、当該要素点が現在間引処理を行っているポリゴンに隣接するポリゴンを構成する要素点と一致するとき、当該隣接するポリゴンの要素点も削除する間引処理を行い、
前記間引処理を、指定したエッジを構成する全ての要素点に対して行った後、指定したポリゴンを構成する他のエッジに対しても前記間引処理を行い、前記指定したポリゴンの全てのエッジに対して前記間引処理を行い、
その後、前記抽出したポリゴンの全てに対して前記要素点の間引処理を行い、
前記間引処理を行ったデータによりポリゴンを描画することを特徴とするポリゴン描画方法。
【請求項2】
前記指定したポリゴンの全てのエッジに対して前記間引処理を行った後は、当該ポリゴンに隣接するポリゴンを順に指定して前記間引処理を行うことを特徴とする請求項1記載のポリゴン描画方法。
【請求項3】
前記エッジの設定に際しては、当該エッジの前後端の要素点については、少なくとも前記ポリゴンの周囲形状の変化が少ないことを示す所定の条件を満たす要素点以外の要素点を選択することを特徴とする請求項1記載のポリゴン描画方法。
【請求項4】
前記エッジの設定に際しては、当該エッジの前後端の要素点については、前記所定の条件のほか、隣接するポリゴンが変化する要素点を選択することを特徴とする請求項3記載のポリゴン描画方法。
【請求項5】
前記エッジを設定したとき、当該エッジが隣接するポリゴンのエッジと共通するときには、当該エッジを構成する要素点について、両ポリゴンにおいてそれぞれ対応する要素点についての対応データを作成し、
一方のポリゴンの要素点を前記間引処理により削除するとき、前記対応データによって他方のポリゴンの要素点を削除する間引処理を行うことを特徴とする請求項1記載のポリゴン描画方法。
【請求項6】
前記一方のポリゴンの要素点を前記間引処理により削除するとき、前記対応データにより他方のポリゴンの要素点の間引処理を行う際には当該要素点については間引処理を行わないことを特徴とする請求項5記載のポリゴン描画方法。
【請求項7】
前記ポリゴンの周囲形状の変化が少ないことを示す所定の条件は、指示した要素点について隣接する要素点で形成される角度が所定角度以内であることを特徴とする請求項1記載のポリゴン描画方法。
【請求項8】
前記ポリゴンの周囲形状の変化が少ないことを示す所定の条件は、隣接する要素点を結ぶ直線に降ろした垂線の長さが所定以内であることを特徴とする請求項1記載のポリゴン描画方法。
【請求項9】
前記間引処理したデータは、地図表示用データとしてデータベースに保存することを特徴とする請求項1記載のポリゴン描画方法。
【請求項10】
前記間引処理したデータは、地図表示用データとしてデータベースに保存することを特徴とする請求項1記載のポリゴン描画方法。
【請求項11】
描画する地図に含まれる全てのポリゴンを抽出する間引処理ポリゴン抽出手段と、
前記間引処理ポリゴン抽出手段で抽出したポリゴンについて、各ポリゴンの周縁を形成する要素点を取得するポリゴン周縁形成要素点取得手段と、
前記間引処理ポリゴン抽出手段で抽出した各ポリゴンについて、相互に隣り合う複数の要素点からなる部分にエッジを設定するポリゴン周縁エッジ設定手段と、
前記ポリゴン周縁エッジ設定手段で設定したエッジを構成する要素点について、ポリゴンの周囲形状の変化が少ないことを示す所定の条件を満たすとき、地図表示用要素点として削除する間引処理を行う要素点間引処理手段とを備え、
前記要素点間引処理手段では、要素点を削除する間引処理を行ったとき、当該要素点が現在間引処理を行っているポリゴンに隣接するポリゴンを構成する要素点と一致するときには、当該隣接するポリゴンの要素点も削除する間引処理を行い、
前記間引処理を、指定したエッジを構成する全ての要素点に対して行った後、指定したポリゴンを構成する他のエッジに対しても前記間引処理を行い、前記指定したポリゴン法の全てのエッジに対して前記間引処理を行い、
その後、前記抽出したポリゴンの全てに対して前記要素点の間引処理を行うことによりポリゴンを描画するデータを作成することを特徴とするポリゴン描画装置。
【請求項12】
前記要素点間引処理手段では、前記指定したポリゴンの全てのエッジに対して前記間引処理を行った後は、当該ポリゴンに隣接するポリゴンを順に指定して前記間引処理を行うことを特徴とする請求項11記載のポリゴン描画装置。
【請求項13】
前記ポリゴン周縁エッジ設定手段では、前記エッジの設定に際して、当該エッジの前後端の要素点については、少なくとも前記ポリゴンの周囲形状の変化が少ないことを示す所定の条件を満たす要素点以外の要素点を選択することを特徴とする請求項11記載のポリゴン描画装置。
【請求項14】
前記ポリゴン周縁エッジ設定手段では、前記エッジの設定に際して、当該エッジの前後端の要素点については、前記所定の条件のほか、隣接するポリゴンが変化する要素点を選択することを特徴とする請求項13記載のポリゴン描画装置。
【請求項15】
前記要素点間引処理手段では、前記ポリゴン周縁エッジ設定手段でエッジを設定したとき、当該エッジが隣接するポリゴンのエッジと共通するときには、当該エッジを構成する要素点について、両ポリゴンにおいてそれぞれ対応する要素点についての対応データを作成し、
一方のポリゴンの要素点を前記間引処理により削除するとき、前記対応データによって他方のポリゴンの要素点を削除する間引処理を行うことを特徴とする請求項11記載のポリゴン描画装置。
【請求項16】
前記要素点間引処理手段では、前記一方のポリゴンの要素点を前記間引処理により削除するとき、前記対応データにより他方のポリゴンの要素点の間引処理を行う際には当該要素点については間引処理を行わないことを特徴とする請求項15記載のポリゴン描画装置。
【請求項17】
前記ポリゴンの周囲形状の変化が少ないことを示す所定の条件は、指示した要素点について隣接する要素点で形成される角度が所定角度以内であることを特徴とする請求項11記載のポリゴン描画装置。
【請求項18】
前記ポリゴンの周囲形状の変化が少ないことを示す所定の条件は、隣接する要素点を結ぶ直線に降ろした垂線の長さが所定以内であることを特徴とする請求項11記載のポリゴン描画装置。
【請求項19】
前記間引処理したデータは、地図表示用データとしてデータベースに保存することを特徴とする請求項1記載のポリゴン描画。装置
【請求項20】
前記間引処理したデータは、地図表示用データとしてデータベースに保存することを特徴とする請求項11記載のポリゴン描画装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−174067(P2012−174067A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−36478(P2011−36478)
【出願日】平成23年2月22日(2011.2.22)
【出願人】(000101732)アルパイン株式会社 (2,424)
【Fターム(参考)】
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願日】平成23年2月22日(2011.2.22)
【出願人】(000101732)アルパイン株式会社 (2,424)
【Fターム(参考)】
[ Back to top ]