(57)【要約】【課題】現実に存在する形態の屋根を持つ建物モデルを、従来よりも高い精度で自動生成する。【解決手段】本プログラムは、コンピュータに以下の処理を実行させて、３次元屋根付き建物モデルを生成する。６点ポリゴンの第２辺Ｋ２が第４辺Ｋ４よりも短い場合は、「第２の４点ポリゴン」Ｐ２上の建物モデルＢ２に主屋根Ｒ５を生成する。主屋根Ｒ５は、６点ポリゴンの第３辺Ｋ３より軒部だけ長い屋根長Ｌ５と、第４辺Ｋ４より軒部だけ長い屋根幅Ｗ５を持つ。また、「第１の４点ポリゴン」Ｐ１上の建物モデルＢ１に従屋根Ｒ６を生成する。従屋根Ｒ６は、６点ポリゴンの最長辺Ｋ１より短い屋根長Ｌ６を持つ。【選択図】  図２５
2004295661.tif 000002
【特許請求の範囲】
【請求項１】
（１）全ての頂角がほぼ直角の６個の頂点を持つ建物境界線としての６点ポリゴン上に建物モデルを生成する処理と、
（２）（ａ）６点ポリゴンの最長辺に隣接する２つの辺のうち短い方の第２辺が、最長辺に隣接する２つの辺のうち長い方の第３辺に隣接するとともに最長辺に対向する第４辺よりも長い場合は、前記最長辺と前記第２辺を境界辺とする４個の頂点を持つ「第１の４点ポリゴン」上の建物モデルに、前記最長辺より軒部だけ長い屋根長、前記第２辺より軒部だけ長い屋根幅を持つ第１の「主屋根」か、又は前記第２辺より軒部だけ長い屋根長、前記最長辺より軒部だけ長い屋根幅を持つ第２の「主屋根」を生成するとともに、前記第３辺と前記第４辺を境界辺とする４個の頂点を持つ「第２の４点ポリゴン」上の建物モデルに、前記第３辺より短い屋根長を持つ「従屋根」を生成し、
（ｂ）前記第２辺が前記第４辺よりも短い場合は、前記「第２の４点ポリゴン」上の建物モデルに、前記第３辺より軒部だけ長い屋根長、前記第４辺より軒部だけ長い屋根幅を持つ第１の「主屋根」か、又は前記第４辺より軒部だけ長い屋根長、前記第３辺より軒部だけ長い屋根幅を持つ第２の「主屋根」を生成するとともに、前記「第１の４点ポリゴン」上の建物モデルに、前記最長辺より短い屋根長を持つ「従屋根」を生成する処理をコンピュータに実行させるための３次元屋根付き建物モデルの生成プログラム。
【請求項２】
前記第１の「主屋根」を生成するか、又は前記第２の「主屋根」を生成するかは、前記６点ポリゴンに関連付けられた「属性情報」に基づいて定められることを特徴とする請求項１に記載のプログラム。
【請求項３】
８個以上の頂点を持つ建物ポリゴンを辺の曲がる向きの情報で記述する処理と、前記８個以上の頂点を持つ建物ポリゴンを前記辺の曲がる向きの情報に基づいて６点ポリゴンに分割する処理をコンピュータにさらに実行させるための請求項１又は２に記載のプログラム。
【請求項４】
（１）全ての頂角がほぼ直角で４個の頂点を持つ建物境界線としての４点ポリゴン上に建物モデルを生成する処理と、
（２）（ａ）第１の場合は、４点ポリゴン上の建物モデルに、４点ポリゴンの長辺より軒部だけ長い屋根長、４点ポリゴンの短辺より軒部だけ長い屋根幅を持つ屋根を生成し、
（ｂ）第２の場合は、４点ポリゴン上の建物モデルに、４点ポリゴンの短辺より軒部だけ長い屋根長、４点ポリゴンの長辺より軒部だけ長い屋根幅を持つ屋根を生成する処理をコンピュータに実行させるための３次元屋根付き建物モデルの生成プログラム。
【請求項５】
前記第１の場合及び／又は第２の場合は、４点ポリゴンに関連付けられた「属性情報」に基づいて定められることを特徴とする請求項４に記載のプログラム。
【請求項６】
（１）全ての頂角がほぼ直角の６個の頂点を持つ建物境界線としての６点ポリゴン上に建物モデルを生成する工程と、
（２）（ａ）６点ポリゴンの最長辺に隣接する２つの辺のうち短い方の第２辺が、最長辺に隣接する２つの辺のうち長い方の第３辺に隣接するとともに最長辺に対向する第４辺よりも長い場合は、前記最長辺と前記第２辺を境界辺とする４個の頂点を持つ「第１の４点ポリゴン」上の建物モデルに、前記最長辺より軒部だけ長い屋根長、前記第２辺より軒部だけ長い屋根幅を持つ第１の「主屋根」か、又は前記第２辺より軒部だけ長い屋根長、前記最長辺より軒部だけ長い屋根幅を持つ第２の「主屋根」を生成するとともに、前記第３辺と前記第４辺を境界辺とする４個の頂点を持つ「第２の４点ポリゴン」上の建物モデルに、前記第３辺より短い屋根長を持つ「従屋根」を生成し、
（ｂ）前記第２辺が前記第４辺よりも短い場合は、前記「第２の４点ポリゴン」上の建物モデルに前記第３辺より軒部だけ長い屋根長、前記第４辺より軒部だけ長い屋根幅を持つ第１の「主屋根」か、又は前記第４辺より軒部だけ長い屋根長、前記第３辺より軒部だけ長い屋根幅を持つ第２の「主屋根」を生成するとともに、前記「第１の４点ポリゴン」上の建物モデルに、前記最長辺より短い屋根長を持つ「従屋根」を生成する工程を有する３次元屋根付き建物モデルの生成方法。
【請求項７】
（１）全ての頂角がほぼ直角で４個の頂点を持つ建物境界線としての４点ポリゴン上に建物モデルを生成する工程と、
（２）（ａ）第１の場合は、４点ポリゴン上の建物モデルに、４点ポリゴンの長辺より軒部だけ長い屋根長、４点ポリゴンの短辺より軒部だけ長い屋根幅を持つ屋根を生成し、
（ｂ）第２の場合は、４点ポリゴン上の建物モデルに、４点ポリゴンの短辺より軒部だけ長い屋根長、４点ポリゴンの長辺より軒部だけ長い屋根幅を持つ屋根を生成する工程を有する３次元屋根付き建物モデルの生成方法。
【請求項８】
制御装置と、表示装置を有し、
制御装置は、（１）全ての頂角がほぼ直角の６個の頂点を持つ建物境界線としての６点ポリゴン上に生成された建物モデルを表示装置に表示させる処理と、
（２）（ａ）６点ポリゴンの最長辺に隣接する２つの辺のうち短い方の第２辺が、最長辺に隣接する２つの辺のうち長い方の第３辺に隣接するとともに最長辺に対向する第４辺よりも長い場合は、前記最長辺と前記第２辺を境界辺とする４個の頂点を持つ「第１の４点ポリゴン」上の建物モデルに、前記最長辺より軒部だけ長い屋根長、前記第２辺より軒部だけ長い屋根幅を持つ第１の「主屋根」か、又は前記第２辺より軒部だけ長い屋根長、前記最長辺より軒部だけ長い屋根幅を持つ第２の「主屋根」とともに、前記第３辺と前記第４辺を境界辺とする４個の頂点を持つ「第２の４点ポリゴン」上の建物モデルに、前記第３辺より短い屋根長を持つ「従屋根」を表示装置に表示させ、
（ｂ）前記第２辺が前記第４辺よりも短い場合は、前記「第２の４点ポリゴン」上の建物モデルに、前記第３辺より軒部だけ長い屋根長、前記第４辺より軒部だけ長い屋根幅を持つ第１の「主屋根」か、又は前記第４辺より軒部だけ長い屋根長、前記第３辺より軒部だけ長い屋根幅を持つ第２の「主屋根」とともに、前記「第１の４点ポリゴン」上の建物モデルに、前記最長辺より短い屋根長を持つ「従屋根」を表示装置に表示させる処理を実行する３次元屋根付き建物モデルの生成装置。
【請求項９】
制御装置と、表示装置を有し、
制御装置は、（１）全ての頂角がほぼ直角で４個の頂点を持つ建物境界線としての４点ポリゴン上に建物モデルを表示装置に表示させる処理と、
（２）（ａ）第１の場合は、４点ポリゴン上の建物モデルに、４点ポリゴンの長辺より軒部だけ長い屋根長、４点ポリゴンの短辺より軒部だけ長い屋根幅を持つ屋根を表示装置に表示させ、
（ｂ）第２の場合は、４点ポリゴン上の建物モデルに、４点ポリゴンの短辺より軒部だけ長い屋根長、４点ポリゴンの長辺より軒部だけ長い屋根幅を持つ屋根を表示装置に表示させる処理を実行する３次元屋根付き建物モデルの生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】本発明は、３次元屋根付き建物モデルを、コンピュータなどを利用して自動的に生成する技術に関する。
【０００２】
【従来の技術】（第１従来技術）  ３次元ＣＧソフトを用いて制作する「３次元都市モデル」は、典型的には、ディスプレイなどに表示させて利用する。「３次元都市モデル」は、３次元建物モデルを主な構成要素とする。「３次元都市モデル」は、現実世界の都市を、コンピュータの世界に写像するものであり、都市計画や景観設計、土木、建築、防災、環境といったアカデミックな分野の活用から公共事業の情報公開、まちづくりへの市民参加の場として、あるいは、ゲームやアミューズメントの分野での活用など広範囲の分野で利活用が期待される重要な「情報基盤」である。
【０００３】
第１の従来の技術では、ＧＩＳの３次元表示機能を用いて、３次元都市モデルを生成する。図１と図２は、従来の３次元都市モデルの例を示す。図１と図２には、３次元都市モデルとして、柱状体の建物モデルの集合が表示されている。これら従来の３次元都市モデルは、２次元デジタル地図上の建物ポリゴンを、ポリゴンに「属性情報」として関連付けられている階数データに応じて、押し出し（ｅｘｔｒｕｄｅ）処理を行い生成する。この様な３次元表示機能を有するＧＩＳソフトをコンピュータで実行することによって、屋根無しの３次元都市モデルを自動的に生成できる。
【０００４】
（第２従来技術）  これに対し、３次元屋根付き建物モデルを自動生成する方法が提案されている（関連する技術として、特許文献１参照）。図３はこの方法で生成した屋根付き建物モデルの一例の平面図を示し、図４はその斜視図を示す。
この方法では、全ての頂角がほぼ直角の６点ポリゴン上に、以下に説明する方法で屋根付き建物モデルを生成する。図３の点線で示す部分がこの６点ポリゴンである。この６点ポリゴンは、最長辺Ｋ１と、第２辺Ｋ２と、第３辺Ｋ３と、第４辺Ｋ４を有する。第２辺Ｋ２は、６点ポリゴンの最長辺Ｋ１に隣接する２つの辺のうち短い方の辺である。第３辺Ｋ３は、６点ポリゴンの最長辺Ｋ１に隣接する２つの辺のうち長い方の辺である。第４辺Ｋ４は、第３辺Ｋ３に隣接するとともに最長辺Ｋ１に対向する辺である。また、６点ポリゴンのうち最長辺Ｋ１と第２辺Ｋ２を境界辺とする４個の頂点を持つポリゴンを「第１の４点ポリゴン」Ｐ１とする。６点ポリゴンのうち第３辺Ｋ３と第４辺Ｋ４を境界辺とする４個の頂点を持つポリゴンを「第２の４点ポリゴン」Ｐ２とする。「第１の４点ポリゴン」Ｐ１と「第２の４点ポリゴン」Ｐ２は、重複する領域が存在する。
【０００５】
【特許文献１】
特開２００２−０５６４１２号公報（その公報の図１３参照）
【０００６】
図３と図４に示すように、「第１の４点ポリゴン」Ｐ１上に、直方体である第１建物モデルＢ１を生成する。「第２の４点ポリゴン」Ｐ２上に、直方体である第２建物モデルＢ２を生成する。「第１の４点ポリゴン」Ｐ１と「第２の４点ポリゴン」Ｐ２は重複する領域が存在するため、第１建物モデルＢ１と第２建物モデルＢ２も重複する領域が存在する。
「第１の４点ポリゴン」Ｐ１上の第１建物モデルＢ１に、常に、最長辺Ｋ１に平行な頂線Ｔ７、最長辺Ｋ１より軒部だけ長い屋根長（頂線Ｔ７方向の屋根の長さ）Ｌ７、第２辺Ｋ２より軒部だけ長い屋根幅（頂線Ｔ７に垂直な方向の屋根の長さ）Ｗ７を持つ「主屋根」Ｒ７を生成する。「第２の４点ポリゴン」Ｐ２上の第２建物モデルＢ２に、常に、第３辺Ｋ３に平行な頂線Ｔ８、第３辺Ｋ３より短い屋根長Ｌ８、第４辺Ｋ４より軒部だけ長い屋根幅Ｗ８を持つ「従屋根」Ｒ８を生成する。
【０００７】
【発明が解決しようとする課題】第１の従来の技術で解決しようとする課題は、図１と図２に示す従来のモデルでは、屋根が存在しない建物モデルのみで構成されており、現実の屋根付き建物を表現していないことである。全ての建物を単に柱状体で生成したのでは、現実からはほど遠い３次元都市モデルとなってしまう。図１と図２に示す従来のモデルは、屋根が存在しない建物モデルのみで構成されており、景観設計やまちづくりにおいて街並みの「３次元のたたき台」や「景観評価ツール」として、活用することが困難である。そこで、傾斜した複数の屋根を備えた建物モデルを生成し、現実世界の建物をよりよく表現する３次元都市モデルを生成することが必要である。
【０００８】
３次元屋根付き建物モデルの制作において、通常、３次元ＣＧソフトを使って、手作業で屋根付き建物の形状モデルを作成する。しかし、手作業として、屋根となる基本立体（プリズムや直方体等）のサイズ（長さ、高さ、第１側面幅、第２側面幅等）を決め、それらをコピー・移動し、それらのブール演算を施し、屋根形状を作成し、作成した建物モデルを適切な場所に配置するために、建物モデルを回転し、水平方向と垂直方向の平行移動を行うこと等、時間のかかる作業が必要である。例えば、手作業で１軒の屋根付き建物モデルの作成・配置に３０分程度かかるとすると、この屋根付き建物が５０００軒程度集合した街のモデルを、手作業で作成する場合、約２５００時間もの人手による時間を要することになる。
【０００９】
第２従来技術では、「第１の４点ポリゴン」Ｐ１上の第１建物モデルＢ１に、常に、６点ポリゴンの最長辺Ｋ１（即ち、「第１の４点ポリゴン」Ｐ１の長辺）に平行な頂線Ｔ７を持つ主屋根Ｒ７を生成する。しかし、現実には、４点ポリゴンの長辺に垂直な頂線を持つ屋根を有する建物が多く存在する。例えば、図５と図６に示すような旧街道沿いに連なる町屋には、４点ポリゴンの長辺に垂直な頂線を持つ屋根（横長の切妻屋根）を有する建物が多くみられる。このような屋根付き建物のモデルは、第２従来技術の方法では生成することが困難である。
【００１０】
第２従来技術では、６点ポリゴンの「第１の４点ポリゴン」Ｐ１に対して、常に、「主屋根」Ｒ７を生成し、「第２の４点ポリゴン」Ｐ２に対して、常に、「従屋根」Ｒ８を生成する。一方、電子地図上にある６点ポリゴンは、その各辺の長さが様々な値をとりうるので、第４辺Ｋ４が第２辺Ｋ２より長い６点ポリゴンが存在する。
【００１１】
第２従来技術では、第４辺が第２辺より長い６点ポリゴンの、幅の狭い「第１の４点ポリゴン」に対して、「主屋根」を生成し、幅の広い「第２の４点ポリゴン」に対して、「従屋根」を生成し、図５、図６に示すような不自然な形態の屋根となってしまう。即ち、幅の広い「第２の４点ポリゴン」の上部の全ての領域をおおうことなく、常に屋根長が短くなる「従屋根」を生成するので、屋根が途中で切れてしまうような形態となる。また、両屋根が同じ勾配であるとき、幅の広い「従屋根」の頂線が幅の狭い「主屋根」の頂線より高くなるので、本来なら高くなるべき「主屋根」が「従屋根」より低くなるという不自然な形態となる。ポリゴンの各辺は様々な長さをとり、色々な形態をとりうるのに、第２従来技術では、辺の長さを考慮せず「主屋根」と「従屋根」を固定して生成し、一般的な屋根付き建物にはみられない形態の屋根を自動生成することになった。
【００１２】
本発明は、現実に存在する形態の屋根を持つ建物モデルをより高い精度で自動生成できる技術を実現することを目的とする。
【００１３】
【課題を解決するための手段および作用と効果】本発明の１つの態様の３次元屋根付き建物モデルの生成プログラムは、以下の処理をコンピュータに実行させるためのものである。
（１）全ての頂角がほぼ直角の６個の頂点を持つ建物境界線としての６点ポリゴン上に建物モデルを生成する。
（２）（ａ）６点ポリゴンの最長辺に隣接する２つの辺のうち短い方の第２辺が、最長辺に隣接する２つの辺のうち長い方の第３辺に隣接するとともに最長辺に対向する第４辺よりも長い場合は、前記最長辺と前記第２辺を境界辺とする４個の頂点を持つ「第１の４点ポリゴン」上の建物モデルに、前記最長辺より軒部だけ長い屋根長、前記第２辺より軒部だけ長い屋根幅を持つ第１の「主屋根」か、又は前記第２辺より軒部だけ長い屋根長、前記最長辺より軒部だけ長い屋根幅を持つ第２の「主屋根」を生成するとともに、前記第３辺と前記第４辺を境界辺とする４個の頂点を持つ「第２の４点ポリゴン」上の建物モデルに、前記第３辺より短い屋根長を持つ「従屋根」を生成する。
（ｂ）前記第２辺が前記第４辺よりも短い場合は、前記「第２の４点ポリゴン」上の建物モデルに、前記第３辺より軒部だけ長い屋根長、前記第４辺より軒部だけ長い屋根幅を持つ第１の「主屋根」か、又は前記第４辺より軒部だけ長い屋根長、前記第３辺より軒部だけ長い屋根幅を持つ第２の「主屋根」を生成するとともに、前記「第１の４点ポリゴン」上の建物モデルに、前記最長辺より短い屋根長を持つ「従屋根」を生成する。
【００１４】
本態様では、６点ポリゴンの第２辺が第４辺よりも長い場合と短い場合で、上記したように建物モデルに生成する屋根の形態を異なるものとしている。よって、従来技術の問題である、第２辺が第４辺よりも短い場合、幅の広い「第２の４点ポリゴン」に対して、その上に生成される屋根が途中で切れてしまうような形態となることや、「主屋根」が「従屋根」より低くなることを回避できる。従って、本態様によると、現実に存在する形態の屋根を持つ建物モデルを、従来よりも高い精度で自動生成できる。
【００１５】
前記第１の「主屋根」を生成するか、又は前記第２の「主屋根」を生成するかは、前記６点ポリゴンに関連付けられた「属性情報」に基づいて定められることが望ましい。
この態様によると、設計者は、６点ポリゴンに関連付けられた「属性情報」として、建物形態を指定する情報である「建物種類」、「屋根種類」や「建物階数」という項目（フィールド）を設定し、それらに適切なデータを入力するだけで、これら「属性情報」と６点ポリゴンの持つ頂点座標などの「図形情報」に基づいて、設計者が意図する形態となる建物モデルを自動的に生成することができる。通常、建物モデルは、３次元ＣＡＤソフト等を使って、平面図、正面図、側面図を描き、それに基づいて、モデルを制作するという労力のかかる作業が必要である。このように、設計者が意図する形態を持つ建物モデルを、「屋根形態を指定する属性情報が関連付けられていない場合」と比べて、より高い精度で、労力をかけずに生成することができる。
【００１６】
８個以上の頂点を持つ建物ポリゴンを前記６点ポリゴンに分割する処理は、８個以上の頂点を持つ建物ポリゴンを「辺の曲がる向きの情報」で記述する処理と、その８個以上の頂点を持つ建物ポリゴンを「辺の曲がる向きの情報」に基づいて６点ポリゴンに分割する処理を有することが望ましい。
この態様によると、８個以上の頂点を持つ前記建物ポリゴンを「辺の曲がる向きの情報」に基づいて６点ポリゴンに分割できるため、頂点数が８個以上の多様な形態をもつ建物ポリゴンから多様な形態となる３次元屋根付き建物モデルを自動生成することができる。
【００１７】
本発明の他の態様の３次元屋根付き建物モデルの生成プログラムは、以下の処理をコンピュータに実行させるためのものである。
（１）全ての頂角がほぼ直角で４個の頂点を持つ建物境界線としての４点ポリゴン上に建物モデルを生成する。
（２）（ａ）第１の場合は、４点ポリゴン上の建物モデルに、４点ポリゴンの長辺より軒部だけ長い屋根長、４点ポリゴンの短辺より軒部だけ長い屋根幅を持つ屋根を生成する。
（ｂ）第２の場合は、４点ポリゴン上の建物モデルに、４点ポリゴンの短辺より軒部だけ長い屋根長、４点ポリゴンの長辺より軒部だけ長い屋根幅を持つ屋根を生成する処理をコンピュータに実行させるための３次元屋根付き建物モデルの生成する。
【００１８】
本態様では、場合によっては４点ポリゴンの長辺に平行な頂線を持つ屋根を生成し、場合によっては４点ポリゴンの長辺に垂直な頂線を持つ屋根を生成する。従って、本態様によると、従来のように、常に４点ポリゴンの長辺に平行な頂線を持つ屋根を生成する場合に比べて、現実に存在する形態の屋根を持つ建物モデルを高い精度で自動生成できる。
【００１９】
前記第１の場合及び／又は第２の場合は、４点ポリゴンに関連付けられた「属性情報」に基づいて定められることが望ましい。
この態様によると、設計者は、４点ポリゴンに関連付けられた「属性情報」として、建物形態を指定する情報である「建物種類」、「屋根種類」や「建物階数」という項目（フィールド）を設定し、それらに適切なデータを入力するだけで、これら「属性情報」と４点ポリゴンの持つ頂点座標などの「図形情報」に基づいて、設計者が意図する形態となる建物モデルを自動的に生成することができる。通常、建物モデルは、３次元ＣＡＤソフト等を使って、平面図、正面図、側面図を描き、それに基づいて、モデルを制作するという労力のかかる作業が必要である。このように、設計者が意図する形態を持つ建物モデルを、「屋根形態を指定する属性情報が関連付けられていない場合」と比べて、より高い精度で、労力をかけずに生成することができる。
【００２０】
本発明は、３次元屋根付き建物モデルの生成方法や、３次元屋根付き建物モデルの生成装置にも具現化できる。これらの方法や装置も、上記した態様と同様の作用効果を得ることができる。
【００２１】
【発明の実施の形態】本発明の実施例の３次元屋根付き建物モデルの生成技術を説明する。図７は、本発明の実施例の３次元屋根付き建物モデルの生成装置（以下では「モデル生成装置」という）２０のブロック図を示す。モデル生成装置２０は、コンピュータを有する。モデル生成装置２０は、入力装置（キーボード等）５２と、制御装置（中央演算処理装置（ＣＰＵ）等）５６と、主記憶装置５４と、補助記憶装置（ハードディスク等）２４と、表示装置（ディスプレイ等）５８を有する。
【００２２】
補助記憶装置２４には、モデル生成用情報２６と、ＧＩＳ（地理情報システム）ソフト４４と、ＧＩＳモジュール（プログラム）４６と、３次元ＣＧ（コンピュータグラフィック）ソフト４８と、３次元ＣＧモジュール（プログラム）５０が格納されている。
モデル生成用情報２６とは、３次元屋根付き建物モデルを生成するための情報である。モデル生成用情報２６は、図形情報２８と、属性情報３６を有する。
【００２３】
図形情報２８は、電子地図上の建物ポリゴンの形状や位置に関する情報である。建物ポリゴンとは、建物を平面視したときの多角形となる建物境界線である。ＧＩＳソフト４４は、建物ポリゴンの各頂点の座標を蓄積及び管理する。
【００２４】
属性情報３６は、電子地図上の建物ポリゴンに関連付けられた建物階数、建物種類などの情報である。通常、電子地図上の建物ポリゴンは、ＧＩＳによって、蓄積及び管理される。ＧＩＳは、関係型データベースの一種で、電子地図上の建物ポリゴンをキーとして、電子地図とテーブル形式の「属性情報」を関連付けている。例えば、属性情報３６のテーブルの項目（フィールド）としては、建物階数、建物種類、屋根種類、屋根勾配、階高、窓の数、窓の大きさなどが挙げられる。
建物種類とは、例えば、屋根付き建物、屋根無し建物（ビルディング）などである。屋根種類とは、例えば、切妻屋根、横長の切妻屋根、寄せ棟屋根、入母屋屋根などである。
【００２５】
「属性情報」は、建物ポリゴンの「図形情報」から得られない建物概形の、主に、垂直方向の寸法を決めるために設定される。建物を平面視した建物ポリゴンの各辺の長さなどから、屋根の概形の平面図は推定できるが、屋根の勾配は推定できない。そこで、屋根勾配を決めるために、屋根勾配を項目として設定し、そこに勾配データを入力して、屋根の概形モデルの形状を決定する。通常、屋根付き建物は階数が少なく、垂直方向の建物の形状の変化が少ない。この様な建物は、建物境界線である建物ポリゴンから３次元形状を推定しても、現実の建物の形状によくあったモデルを生成できる。
【００２６】
図形情報２８は、地図図形情報３２と、２次図形情報３４を有する。属性情報３６は、地図属性情報３８と、入力属性情報４２を有する。地図図形情報３２と、地図属性情報３８は、電子地図３０に含まれているものである。電子地図３０は、住宅地図会社が販売する電子住宅地図や、国土地理院が販売する空間データ基盤である数値地図などである。電子地図３０は、典型的には記録媒体（ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなど）に格納されているものを、補助記憶装置２４に格納したものである。
【００２７】
２次図形情報３４は、電子地図３０に含まれる地図図形情報３２を利用して２次的に求めたものである。２次図形情報３４は、電子地図３０上の地図図形情報３２である建物ポリゴンの各頂点の座標から算出又は測定したポリゴンの頂点数、頂角、辺の長さ、辺の傾きなどである。入力属性情報４２は、モデル生成装置２０の使用者が、入力装置５２によって入力するものである。
【００２８】
ＧＩＳモジュール４６は、地図図形情報３２を元に、２次図形情報３４を作成する。２次図形情報３４は属性情報３６とともにＣＧモジュール５０への入力データであるモデル生成用情報２６となる。ＧＩＳソフト４４を用いると、それが蓄積及び管理する建物ポリゴンに対して、３次元モデル生成のための「属性情報」を関連付けたデータベースを作成できる。ＧＩＳソフト４４を用いて、建物ポリゴンの属性情報３６として、任意に項目（フィールド）を設け、データを入力することで、建物ポリゴン毎に「属性情報」を蓄積及び管理できる。ＣＧモジュール５０は、ＧＩＳモジュール４６によって作成されたモデル生成用情報２６を元に、ＣＧソフト４８の動作を制御して、３次元屋根付き建物モデルを生成する。
【００２９】
主記憶装置５４には、後述する処理の内容に応じて、補助記憶装置２４に記憶されたデータ（ソフト及びモジュールを含む）２６、４４、４６、４８、５０が適宜ロードされる。制御装置５６は、主記憶装置５４にロードされた上記データを読み取る。制御装置５６は、ＧＩＳソフト４４、ＧＩＳモジュール４６、ＣＧソフト４８、ＣＧモジュール５０の各機能を実行する。表示装置５８は、３次元屋根付きモデルを表示する。
【００３０】
図８は、本発明の実施例の３次元屋根付き建物モデルの生成処理の手順を示すフローチャートである。図８のＳ１０の処理は、モデル生成装置２０の使用者が行う。Ｓ２０〜Ｓ６０の処理は、ＧＩＳモジュール４６をモデル生成装置２０（制御装置５６）で実行させることで行う。Ｓ７０とＳ８０の処理は、ＣＧモジュール５０をモデル生成装置２０で実行させることで行う。
【００３１】
必要に応じて、３次元化のための「属性情報」に入力装置を介して、データ入力する（Ｓ１０）。既製の電子地図３０が有する地図属性情報３８のみでは、３次元屋根付き建物モデルを生成するために必要な情報が不足する場合には、このように属性情報４２を入力する。
図９は、ＧＩＳソフト４４を用いて表示装置５８に表示した電子住宅地図（大垣市内）の一例を示す。図９には、電子地図３０の地図図形情報３２と、入力属性情報４２が示されている。このような地図図形情報３２や入力属性情報４２を含むモデル生成用情報２６は、ＧＩＳソフト４４を用いて管理・表示する。
【００３２】
図９の画面には、地図図形情報３２として、建物境界線となる建物ポリゴン群が表示されている。また、各建物ポリゴンに対応付けられた入力属性情報４２がテーブル形式で表示されている。入力属性情報４２として、建物階数の項目４２ａ、建物種類の項目４２ｂ、屋根種類の項目４２ｃが表示されている。建物階数の項目４２ａには階数データ、建物種類の項目４２ｂには建物種類に対応するコード番号、屋根種類の項目４２ｃには屋根種類に対応するコード番号が表示されている。
【００３３】
電子地図上の建物ポリゴンの「図形情報」を取得し、頂点数や頂角、辺の長さ、辺の傾きを求める。（Ｓ２０）。ＧＩＳモジュール４６は、ＧＩＳソフト４４が蓄積及び管理する電子地図３０上の建物ポリゴンの図形情報を取得する。次に、電子地図３０の図形情報３２である建物ポリゴンの各頂点の座標から、建物ポリゴンの頂点数を求め、全ての頂角、辺の長さ、辺の傾きを算出する。算出したこれら情報を、２次図形情報３４として、補助記憶装置２４に格納する。
【００３４】
頂点数と頂角を調べて、以降の処理（３次元屋根付き建物モデルの生成）を行うか否かを判定する（Ｓ３０）。ＧＩＳモジュール４６は、各建物ポリゴンに対して、求めた頂点数と頂角を調べて、以降の処理である３次元屋根付き建物モデルの生成処理を行うか否かを判定する。具体的には、頂点数が４以上の偶数で、１０以下の数であり、建物ポリゴンの全ての頂角がほぼ直角（約８５〜９５度）の場合は、その建物ポリゴンについては、以降の処理を行う。一方、建物ポリゴンの頂角の少なくとも１つがほぼ直角でない場合は、その建物ポリゴンについては、以降の処理を行わない。
【００３５】
本発明者は、岐阜県大垣市の電子住宅地図上の１５００の建物ポリゴンについて全ての頂角と頂点数を調べた。図１０は、その電子住宅地図上の建物ポリゴンの各頂点の角度分布を示す。この調査により、図１０に示すように、建物ポリゴンの頂角は、大部分がほぼ直角であることが判明した。このことは、自動生成のプロセスにおいて、大部分の建物ポリゴン上に、建物モデルとして直方体やプリズムなどの基本立体や、それらのブール演算を行った立体、あるいは、それらを組み合わせた立体を配置できることを意味する。
【００３６】
また、ポリゴンの頂点数は、建物形状がとり得るパターンの種類の数を決めるので、その頂点数を調べた。図１１は、上記した電子住宅地図上の建物ポリゴンの頂点数の分布を示す。この調査により、図１１に示すように、１０点以下の頂点を持つポリゴンが大部分（９４．９％）を占めることが判明した。この結果より、頂角がほぼ直角で、頂点数が１０点以下の建物ポリゴンに対して建物モデルを生成すれば、現実の建物の大部分をモデル化できることになる。
【００３７】
頂点数に応じて、辺の長さ（最長辺、第２辺、第３辺など）、建物中心、屋根中心、建物の傾きなどを求める（Ｓ４０）。ＧＩＳモジュール４６は、全ての頂角がほぼ直角の建物ポリゴンに対して、各頂点の座標から、辺の長さ（最長辺、第２辺、第３辺など）、建物中心、屋根中心、建物の傾きなどを算出し、建物モデルや屋根モデルとなる基本立体のサイズ、位置、傾きを求める。算出したこれら情報を、２次図形情報３４として、補助記憶装置２４に格納する。
【００３８】
建物ポリゴンを辺の曲がる向きの情報で表現する（Ｓ５０）。ＧＩＳモジュール４６は、建物ポリゴンを、辺の曲がる向きの情報（ＲＬ情報）で表現する。図１２は、全ての頂角が直角の建物ポリゴンを辺の曲がる向きの情報で表現した例を示す。図１２では、頂角が直角である建物ポリゴンの所定の頂点を基準にして、その頂点から時計回りに番号を付している。時計回りに順番に頂点を調べると、頂角は直角なので、ある辺は、前の辺に対して右に直角に曲がるか、左に直角に曲がるかの２通りしかない。各頂点で、進行してきた元の辺に対し右向きに曲がる場合を「Ｒ」とし、左向きに曲がる場合を「Ｌ」とする。すると、図１２に示す建物ポリゴンの辺の曲がる向きは、番号１から順に、「ＲＬＲＲＬＲＲＲＬＲ」となる。ここで、ポリゴンの頂点数と右曲がりの頂点の数と左曲がりの頂点の数の間には、以下の関係が成り立つ。
（１）頂点数＝右曲がりの辺の数＋左曲がりの辺の数
（２）右曲がりの頂点の数−左曲がりの頂点の数＝４
【００３９】
近似的に、建物ポリゴンの全ての頂角が直角であるとした場合、建物ポリゴンの頂点数によって建物ポリゴンがとり得る形状パターンを決めることができる。例えば、図１３（ａ）（ｂ）に示すような６点ポリゴンの場合、辺の長さは様々な値をとりうるが、左曲がりの頂点は１つしかない。よって、辺の長さや相対的な辺の比を無視すると、形状パターンは「ＬＲＲＲＲＲ」の１種類である。また、８点ポリゴンの形状パターンは、図１４（ａ）に示す「ＬＬＲＲＲＲＲＲ」、図１４（ｂ）示す「ＬＲＬＲＲＲＲＲ」、図１４（ｃ）に示す「ＬＲＲＬＲＲＲＲ」、図１４（ｄ）に示す「ＬＲＲＲＬＲＲＲ」の４種類である。形状パターンの数は、同じものを含む円順列の式によって計算することができる。
【００４０】
頂点数が増えた場合、１０点ポリゴンでは、形状パターンは１２種類となる。１２点ポリゴンでは、形状パターンは４３種類となる。このように、全ての頂角がほぼ直角である建物ポリゴンの形状パターンを、２通りの辺の曲がる向きの情報で表現すると、データ量を低減しながらも、形状パターンの種類を特定することができる。また、辺の曲がる向きの情報によって建物ポリゴンを表現すると、８個以上の頂点を持つ建物ポリゴンを６点ポリゴンに分割する分割線を引く頂点を決めることができる。
【００４１】
頂角がほぼ直角の８頂点以上の建物ポリゴンを、辺の曲がる向き情報に基づいて６点ポリゴンに分割する（Ｓ６０）。ＧＩＳモジュール４６は、全ての頂角がほぼ直角で８個以上の頂点を持つ建物ポリゴンを、中心となる「幹部」と、これに付随した「枝部」と見なし、「枝部」を切り取り、６点ポリゴンに分割する。ここで、「幹部」とは、建物ポリゴンが複数の６点ポリゴンに分けられた場合に、２つ以上の６点ポリゴンに共通の構成要素となるものである。「枝部」とは、１つの６点ポリゴンのみの構成要素となるものである。
【００４２】
ここでは、図１５（ａ）に示す「ＬＲＲＬＲＲＲＲ」型の８点ポリゴンを、６点ポリゴンに分割する手順について説明する。この８点ポリゴンは、幹部Ａ１と、２つの枝部Ａ２、Ａ３を有する。
この８点ポリゴンでは、辺が左に曲がる頂点「Ｌ」に注目し、その頂点から、時計回りの方向か反時計回りの方向に分割線を伸ばして、連続する「Ｒ」で構成される「枝部」を分割する。例えば、図１５（ａ）では、頂点１で左曲がり「Ｌ」であり、この頂点１から反時計回りの方向に分割線ａを伸ばす。この分割線ａによって８点ポリゴンから枝部Ａ２を切り取ると、この８点ポリゴンは、図１５（ｂ）に示す第１の６点ポリゴンに分割される。次に、図１５（ａ）において、２つ目の左曲がり「Ｌ」である頂点４から時計回りの方向に分割線ｂを伸ばす。この分割線ｂによって８点ポリゴンから枝部Ａ３を切り取ると、この８点ポリゴンは、図１５（ｃ）に示す第２の６点ポリゴンに分割される。
【００４３】
辺の長さ（最長辺、第２辺など）、建物中心、建物の傾きなどから３次元建物モデルのサイズ、傾き、位置を決めて、建物モデルを生成・配置する（Ｓ７０）。
ＣＧモジュール５０は、モデル生成用情報２６を利用して、建物ポリゴン上に生成する基本立体のサイズ、傾き、位置などを決めて、建物ポリゴン上に３次元建物モデルを生成・配置する。
【００４４】
頂角の全てが直角の建物ポリゴンは、４点ポリゴンと、６点ポリゴンと、８点以上の頂点を持つポリゴンに限定される。このうち、８点以上の頂点を持つポリゴンは、上記したように６点ポリゴンに分割される。よって、建物モデルを生成する基本のポリゴンは、４点ポリゴンと６点ポリゴンに限定される。従って、以下では、４点ポリゴンと６点ポリゴン上に建物モデルを生成する処理の手順を説明する。後述する屋根モデルについても同様である。
【００４５】
（４点ポリゴン上への建物モデルの生成）  全ての頂角が直角の４点ポリゴン上に３次元建物モデルを生成する処理を、図１６を参照して、説明する。図１６は、４点ポリゴン上に生成した３次元建物モデルＢの一例を示す。
この４点ポリゴンは、長辺Ｊ１と短辺Ｊ２を有する。この４点ポリゴン上に、直方体である建物モデルＢを生成する。建物モデルＢの長さと幅はそれぞれ、４点ポリゴンの長辺Ｊ１の長さと短辺Ｊ２の長さと等しい値に設定する。建物モデルＢの高さは、属性情報３６の建物階数、階高のデータを利用して決める。
【００４６】
このように建物モデルＢのサイズを設定した後、建物モデルＢの長さ方向と４点ポリゴンの長辺Ｊ１が平行になるように建物モデルＢを回転させる。また、平面視したときに、建物モデルＢの中心と４点ポリゴンの中心が一致するように建物モデルＢを移動させる。これにより、４点ポリゴン上に建物モデルＢを配置する。
【００４７】
（６点ポリゴン上への建物モデルの生成）  全ての頂角がほぼ直角の６点ポリゴン上に３次元建物モデルを生成する処理を図１７と図１８を参照して説明する。図１７は、６点ポリゴンの一例を「第１の４点ポリゴン」Ｐ１と「第２の４点ポリゴン」Ｐ２に区画した図を示す。図１８は、６点ポリゴン上に生成した３次元建物モデルＢ１、Ｂ２の一例の斜視図を示す。
【００４８】
図１７に示す６点ポリゴンは、最長辺Ｋ１と、第２辺Ｋ２と、第３辺Ｋ３と、第４辺Ｋ４を有する。第２辺Ｋ２は、６点ポリゴンの最長辺Ｋ１に隣接する２つの辺のうち短い方の辺である。第３辺Ｋ３は、６点ポリゴンの最長辺Ｋ１に隣接する２つの辺のうち長い方の辺である。第４辺Ｋ４は、第３辺Ｋ３に隣接するとともに最長辺Ｋ１に対向する辺である。また、６点ポリゴンのうち最長辺Ｋ１と第２辺Ｋ２を境界辺とする４個の頂点を持つものを「第１の４点ポリゴン」Ｐ１とする。６点ポリゴンのうち第３辺Ｋ３と第４辺Ｋ４を境界辺とする４個の頂点を持つものを「第２の４点ポリゴン」Ｐ２とする。「第１の４点ポリゴン」Ｐ１と、「第２の４点ポリゴン」Ｐ２は、重複する領域が存在する。
【００４９】
図１８に示すように、「第１の４点ポリゴン」Ｐ１上に、直方体である第１建物モデルＢ１を生成する。「第２の４点ポリゴン」Ｐ２上に、直方体である第２建物モデルＢ２を生成する。第１建物モデルＢ１の長さと幅はそれぞれ、最長辺Ｋ１と第２辺Ｋ２の長さに等しい値に設定する。第２建物モデルＢ２の長さと幅はそれぞれ、第３辺Ｋ３と第４辺Ｋ４の長さに等しい値に設定する。「第１の４点ポリゴン」Ｐ１と「第２の４点ポリゴン」Ｐ２は重複する領域が存在するため、第１建物モデルＢ１と第２建物モデルＢ２も重複する領域が存在する。建物モデルＢ１、Ｂ２の高さは、属性情報３６の建物階数、階高のデータを利用して設定する。
【００５０】
このように建物モデルＢ１、Ｂ２のサイズを設定した後、第１建物モデルＢ１の長さ方向と「第１の４点ポリゴン」Ｐ１の最長辺Ｋ１が平行になるように第１建物モデルＢ１を回転させる。また、平面視したときに、第１建物モデルＢ１の中心と「第１の４点ポリゴン」Ｐ１の中心が一致するように第１建物モデルＢ１を移動させる。これにより、「第１の４点ポリゴン」Ｐ１上に第１建物モデルＢ１を配置する。同様にして、第２建物モデルＢ２の長さ方向と第３辺Ｋ３が平行になるように第２建物モデルＢ２を回転させる。平面視したときに、第２建物モデルＢ２の中心と「第２の４点ポリゴン」Ｐ２の中心が一致するように、第２建物モデルＢ２を「第２の４点ポリゴン」Ｐ２の上に配置する。
【００５１】
辺の長さ（最長辺、第２辺など）、屋根中心、屋根の傾きなどから３次元屋根モデルのサイズ、傾き、位置を決めて、屋根モデルを生成・配置する（Ｓ８０）。ＣＧモジュール５０は、モデル生成用情報２６を利用して、屋根モデルとなる基本立体のサイズ、傾き、位置などを決めて、建物モデル上に屋根モデルを生成・配置する。
【００５２】
（４点ポリゴン上への屋根の生成）  ４点ポリゴン上の建物モデルに屋根を生成する処理を、図１９〜図２２を参照して、説明する。図１９は４点ポリゴン上に生成した第１の態様の屋根付き建物モデルの平面図を示し、図２０はその斜視図を示す。図２１は４点ポリゴン上に生成した第２の態様の屋根付き建物モデルの平面図を示し、図２２はその斜視図を示す。
【００５３】
第１の場合は、図１６に示す４点ポリゴン上の建物モデルＢに、図１９と図２０に示すように、屋根Ｒ１を生成する。屋根Ｒ１は、頂線Ｔ１を境とする２つの傾斜屋根部Ｆ１１、Ｆ１２によって構成される。屋根Ｒ１の頂線Ｔ１は、４点ポリゴンの長辺Ｊ１に平行で、その長辺Ｊ１の長さ以上に設定する。本実施例では、屋根Ｒ１の頂線Ｔ１は、４点ポリゴンの長辺Ｊ１よりも軒（のき）部だけ長い値に設定する。屋根Ｒ１の長さＬ１は、頂線Ｔ１の長さと等しい値に設定する。屋根Ｒ１の幅Ｗ１は、４点ポリゴンの短辺Ｊ２より軒部だけ長い値に設定する。なお、屋根部Ｆ１１、Ｆ１２は傾斜しているので、屋根Ｒ１の幅Ｗ１は、屋根部Ｆ１１の幅と屋根部Ｆ１２の幅の合計値よりも短い。屋根Ｒ１の厚さはｔに設定する（図２０参照）。
【００５４】
このように屋根Ｒ１のサイズを設定した後、屋根Ｒ１の頂線Ｔ１と４点ポリゴンの長辺Ｊ１が平行になるように屋根Ｒ１を回転させる。また、平面視したときに、屋根Ｒ１の中心と建物モデルＢの中心が一致するように屋根Ｒ１を移動させる。これにより、建物モデルＢ上に屋根Ｒ１を配置する。
【００５５】
第２の場合は、図１６に示す４点ポリゴン上の建物モデルＢに、図２１と図２２に示すように、屋根Ｒ２を生成する。屋根Ｒ２は、頂線Ｔ２を境とする２つの傾斜屋根部Ｆ２１、Ｆ２２によって構成する。屋根Ｒ２の頂線Ｔ２は、４点ポリゴンの長辺Ｊ１に垂直で（短辺Ｊ２に平行）、短辺Ｊ２の長さ以上に設定する。本実施例では、屋根Ｒ２の頂線Ｔ２は、４点ポリゴンの短辺Ｊ２より軒部だけ長い値に設定する。屋根Ｒ２の長さＬ２は、頂線Ｔ２の長さと等しい値に設定する。屋根Ｒ２の幅Ｗ２は、４点ポリゴンの長辺Ｊ１より軒部だけ長い値に設定する。屋根Ｒ２の厚さはｔに設定する（図２２参照）。
【００５６】
このように屋根Ｒ２のサイズを設定した後は、平面視したときに、屋根Ｒ２の頂線Ｔ２と４点ポリゴンの長辺Ｊ１が垂直になるように屋根Ｒ２を回転させる。また、平面視したときに、屋根Ｒ２の中心と建物モデルＢの中心が一致するように屋根Ｒ２を移動させる。これにより、建物モデルＢ上に屋根Ｒ２を配置する。
【００５７】
屋根の頂線を４点ポリゴンの長辺Ｊ１に平行にするか、又は垂直にするかは、属性情報３６の屋根種類のデータに基づいて定めている。例えば、ある４点ポリゴンに関連付けられた属性情報の屋根種類が、「切妻屋根」、「寄せ棟屋根」、「入母屋屋根」などである場合は、４点ポリゴンの長辺Ｊ１に平行な頂線を持つ屋根を生成する。これに対し、屋根種類が「横長の切妻屋根」などである場合は、４点ポリゴンの長辺Ｊ１に垂直な頂線を持つ屋根を生成する。ここで、「長辺Ｊ１に平行な頂線を持つ屋根」は、第１の「主屋根」に相当し、また、「長辺Ｊ１に垂直な頂線を持つ屋根」は、第２の「主屋根」に相当する。実際には、４点ポリゴンの長辺に垂直な頂線を持つ屋根は、先に図５と図６を参照して説明したように、旧街道沿いに連なる町屋などの建物の屋根の形態として、多く見られる。
【００５８】
（６点ポリゴン上への屋根の生成）  ６点ポリゴン上の建物モデルに屋根を生成する処理を、図２３〜図２６を参照して、説明する。図２３は６点ポリゴン上に生成した第１の態様の屋根付き建物モデルの平面図を示し、図２４はその斜視図を示す。図２５は６点ポリゴン上に生成した第２の態様の屋根付き建物モデルの平面図を示し、図２６はその斜視図を示す。
【００５９】
第１の場合として、図２３と図２４に示すように、６点ポリゴンの第２辺Ｋ２が第４辺Ｋ４よりも長い場合は、第１建物モデルＢ１に主屋根Ｒ３を生成し、第２建物モデルＢ２に従屋根Ｒ４を生成する。
主屋根Ｒ３は頂線Ｔ３を境とする２つの傾斜屋根部Ｆ３１、Ｆ３２によって構成される。主屋根Ｒ３の頂線Ｔ３の伸びる方向は、６点ポリゴンの最長辺Ｋ１に平行に設定する。主屋根Ｒ３の長さ（頂線Ｔ３の伸びる方向の長さ）Ｌ３は、６点ポリゴンの最長辺Ｋ１の長さ以上に設定する。本実施例では、主屋根Ｒ３の長さＬ３は、６点ポリゴンの最長辺Ｋ１より軒部だけ長い値に設定する。本実施例では、属性情報３６の屋根種類のデータに基づいて、切妻屋根を生成するので、主屋根Ｒ３の長さＬ３と、頂線Ｔ３の長さは、等しい値に設定する。主屋根Ｒ３の幅Ｗ３は、６点ポリゴンの第２辺Ｋ２より軒部だけ長い値に設定する。なお、屋根部Ｆ３１、Ｆ３２は傾斜しているので、主屋根Ｒ３の幅Ｗ３は、屋根部Ｆ３１の幅と屋根部Ｆ３２の幅の合計値よりも短い。主屋根Ｒ３の厚さはｔに設定する（図２４参照）。
【００６０】
このように主屋根Ｒ３のサイズを設定した後、主屋根Ｒ３の頂線Ｔ３と６点ポリゴンの最長辺Ｋ１が平行になるように主屋根Ｒ３を回転させる。また、平面視したときに、主屋根Ｒ３の中心と第１建物モデルＢ１の中心が一致するように主屋根Ｒ３を移動させる。これにより、第１建物モデルＢ１上に主屋根Ｒ３を配置する。
【００６１】
従屋根Ｒ４は頂線Ｔ４を境とする２つの傾斜屋根部Ｆ４１、Ｆ４２によって構成する。従屋根Ｒ４の頂線Ｔ４は、６点ポリゴンの第３辺Ｋ３に平行で、主屋根Ｒ３の頂線Ｔ３と交差しない長さに設定する。よって、頂線Ｔ４の長さは、第３辺Ｋ３の長さ未満に設定される。本実施例では、従屋根Ｒ４の頂線Ｔ４は、主屋根Ｒ３の頂線Ｔ３と、６点ポリゴンの第４辺Ｋ４の間の最短距離に概ね等しい値に設定する。言い換えると、頂線Ｔ４の長さは、（第３辺Ｋ３−０．５×第２辺Ｋ２）に概ね等しい値に設定する。このように、従屋根Ｒ４が主屋根Ｒ３の頂線を越えて、主屋根Ｒ３の傾斜屋根部Ｆ３１の表面から突き出さないように、従屋根Ｒ４の頂線Ｔ４の長さと位置を設定する。従屋根Ｒ４の最大の長さＬ４は、頂線Ｔ４の長さと等しい値に設定する。従屋根Ｒ４の幅Ｗ４は、６点ポリゴンの第４辺Ｋ４より軒部だけ長い値に設定する。従屋根Ｒ４の厚さはｔに設定する（図２４参照）。
【００６２】
このように従屋根Ｒ４のサイズを設定した後、従屋根Ｒ４の頂線Ｔ４と６点ポリゴンの第３辺Ｋ３が平行になるように従屋根Ｒ４を回転させる。また、平面視したときに、従屋根Ｒ４の中心と、第２建物モデルＢ２の所定領域の中心がほぼ一致するように従屋根Ｒ４を移動させる。これにより、第２建物モデルＢ２上に従屋根Ｒ４を配置する。第２建物モデルＢ２の所定領域とは、第２建物モデルＢ２のうち主屋根Ｒ３で覆われた領域を除いた領域である。
【００６３】
これに対し、第２の場合として、図２５と図２６に示すように、６点ポリゴンの第２辺Ｋ２が第４辺Ｋ４よりも短い場合は、第２建物モデルＢ２に主屋根Ｒ５を生成し、第１建物モデルＢ１に従屋根Ｒ６を生成する。
主屋根Ｒ５は頂線Ｔ５を境とする２つの傾斜屋根部Ｆ５１、Ｆ５２によって構成される。主屋根Ｒ５の頂線Ｔ５の伸びる方向は、６点ポリゴンの第３辺Ｋ３に平行に設定する。主屋根Ｒ５の長さ（頂線Ｔ５の伸びる方向の長さ）Ｌ５は、６点ポリゴンの第３辺Ｋ３の長さ以上に設定する。本実施例では、主屋根Ｒ５の長さＬ５は、６点ポリゴンの第３辺Ｋ３より軒部だけ長い値に設定する。本実施例では、主屋根Ｒ５の長さＬ５と、頂線Ｔ５の長さは、等しい値に設定する。主屋根Ｒ５の幅Ｗ５は、６点ポリゴンの第４辺Ｋ４より軒部だけ長い値に設定する。主屋根Ｒ５の厚さはｔに設定する（図２６）。
【００６４】
このように主屋根Ｒ５のサイズを設定した後は、主屋根Ｒ５の頂線Ｔ５と６点ポリゴンの第３辺Ｋ３が平行になるように主屋根Ｒ５を回転させる。また、平面視したときに、主屋根Ｒ５の中心と第２建物モデルＢ２の中心が一致するように主屋根Ｒ５を移動させる。これにより、第２建物モデルＢ２上に主屋根Ｒ５を配置する。
【００６５】
従屋根Ｒ６は頂線Ｔ６を境とする２つの傾斜屋根部Ｆ６１、Ｆ６２によって構成される。従屋根Ｒ６の頂線Ｔ６は、６点ポリゴンの最長辺Ｋ１に平行で、主屋根Ｒ５の頂線Ｔ５と交差しない長さに設定する。よって、頂線Ｔ６の長さは、最長辺Ｋ１の長さ未満に設定される。本実施例では、従屋根Ｒ６の頂線Ｔ６は、主屋根Ｒ５の頂線Ｔ５と、６点ポリゴンの第２辺Ｋ２の間の最短距離に概ね等しい値に設定する。言い換えると、頂線Ｔ６の長さは、（最長辺Ｋ１−０．５×第４辺Ｋ４）に概ね等しい値に設定する。従屋根Ｒ６の最大の長さＬ６は、頂線Ｔ６の長さと等しい値に設定する。従屋根Ｒ６の幅Ｗ６は、６点ポリゴンの第２辺Ｋ２より軒部だけ長い値に設定する。従屋根Ｒ６の厚さはｔに設定する（図２６）。
【００６６】
このように従屋根Ｒ６のサイズを設定した後、従屋根Ｒ６の頂線Ｔ６と６点ポリゴンの最長辺Ｋ１が平行になるように従屋根Ｒ６を回転させる。また、平面視したときに、従屋根Ｒ６の中心と、第１建物モデルＢ１の所定領域の中心が一致するように従屋根Ｒ６を移動させる。これにより、第１建物モデルＢ１上に従屋根Ｒ６を配置する。第１建物モデルＢ１の所定領域とは、第１建物モデルＢ１のうち主屋根Ｒ５で覆われた領域を除いた領域である。
【００６７】
図２３〜図２６に示す屋根Ｒ３〜Ｒ６の頂線の伸びる方向は、属性情報３６の屋根種類のデータに基づいて定めている。具体的な内容は、先に説明した場合（屋根の頂線を４点ポリゴンの長辺Ｊ１に平行にするか、又は垂直にするかを属性情報３６の屋根種類のデータに基づいて定める場合（図１９〜図２２参照））と同様である。
例えば、図２３と図２４に示す屋根付き建物モデルは、主屋根Ｒ３の頂線Ｔ３の伸びる方向が、６点ポリゴンの最長辺Ｋ１に平行となっているが、最長辺Ｋ１に垂直に設定する場合もある。ここで、「最長辺Ｋ１に平行な頂線を持つ屋根」である図２３と図２４に示す屋根モデルは、第１の「主屋根」に相当する。また、「最長辺Ｋ１に垂直な頂線を持つ屋根」は、第２の「主屋根」に相当する。主屋根Ｒ３の頂線Ｔ３を６点ポリゴンの最長辺Ｋ１に平行（第１の「主屋根」）にするか、最長辺Ｋ１に垂直（第２の「主屋根」）にするかは、属性情報３６の屋根種類のデータに基づいて定める。具体的には、切妻屋根、寄せ棟屋根、入母屋屋根は、第１の「主屋根」に相当し、横長の切妻屋根は、第２の「主屋根」に相当する。
【００６８】
全ての頂角が直角で、８個以上の頂点を持つ建物ポリゴンに対しては、図８に示したＳ６０の処理により複数の６点ポリゴンに分割し、Ｓ７０の処理により各６点ポリゴン上に建物モデルを生成し、Ｓ８０の処理により屋根を生成することで３次元屋根付き建物モデルを自動生成できる。図２７は、８点ポリゴン上に生成した屋根付き建物モデル群の斜視図を示す。
【００６９】
辺の曲がる向きの情報（ＲＬ情報）による分類によると、図１４に示すように、８点ポリゴンは４種類の形状パターンに分けられる。図２７の各列には、この４種類の同じ形をした建物ポリゴンを並べている。手前から１行目のポリゴンには「切妻屋根」、２行目には「寄せ棟屋根」、３行目には「横長の切妻屋根」となるデータを属性情報である屋根種類に与えて、自動生成を行っている。
【００７０】
８点ポリゴンの場合、図１５（ｂ）に例示する第１の６点ポリゴンと、図１５（ｃ）に例示する第２の６点ポリゴンに分割できる。第１の６点ポリゴン上に屋根付き建物モデルを先に生成した場合、第２の６点ポリゴン上への屋根付き建物モデルの生成処理では、枝部Ａ２のみに屋根付き建物モデルを生成すればよい。
幹部Ａ１は第１の６点ポリゴンの構成要素にもなっているため、幹部Ａ１には屋根付き建物モデルが既に生成されているからである。
【００７１】
図２８は、同一形状の６点ポリゴン上に属性情報を異ならせて生成した屋根付き建物モデル群の斜視図を示す。これらのモデル群は、属性情報として、具体的には、屋根種類、屋根の勾配、２階部の位置、２階部と１階部の大きさの比率、寄せ棟屋根の頂線と屋根長の比率、窓の間隔、窓の大きさなどを様々に異ならせて生成したものである。図２８に示すように、同一形状の６点ポリゴンに対しても、属性情報を異ならせることで、種々の形状の３次元屋根付き建物モデルを生成できる。図２８において、左から１列目の４つの建物モデルの屋根は「切妻屋根」、左から２列目の４つの建物モデルの屋根は「寄せ棟屋根」、左から３列目の４つの建物モデルの屋根は「横長の切妻屋根」、右端の列の４つの建物モデルの屋根は「入母屋屋根」である。ここで、左から３列目の建物モデルの屋根は第２の「主屋根」、それ以外の屋根は第１の「主屋根」となる。
【００７２】
次に、以上のような処理により生成した３次元屋根付き建物モデルの活用事例を説明する。３次元屋根付き建物モデルを含む「３次元都市モデル」は、建物や道路、川といった現実世界のハードウェアを仮想空間に写像し、ＧＩＳ等の情報システムでデータを蓄積・管理し、広範囲の分野で様々な利用や活用が期待される重要な「情報基盤」である。高層化や地下化が進み、３次元的な広がりを見せる都市を、「３次元都市モデル」はコンピュータの中に再構築し、都市計画や景観設計、土木、建築、交通工学、教育、防災といったアカデミックな分野の活用から公共事業の情報公開、まちづくりへの市民参加の場として、あるいは、ゲームやアミューズメントの分野で活用することが数多く試みられている。例えば、米国では、その主要な都市の３次元モデルを構築し、不動産情報などを中心に有料で配信している企業（Ｕｒｂａｎ  Ｄａｔａ  Ｓｏｌｕｔｉｏｎｓ）も存在する。また、住民参加型まちづくりでは、住民・地権者と行政、専門家が目標とするまちの３次元イメージを共有し、改善案や代替案を検討していくことがよりよいまちづくりにつながる。関係者間で、まちの３次元イメージを生成する道具として、ＣＧによる３次元モデルを作成することが有効である。
【００７３】
本実施例では、３次元建物モデルの情報源としているものは、建物境界線である２次元の「図形情報」と、建物階数や建物種類などの「属性情報」である。そのため、２次元形状から３次元の建物形状を推定して、モデルを生成する。本実施例のプロセスでは、建物を色々な角度から写真撮影し、得られるステレオ画像を使って、３次元形状を推定することをしない。建物を１軒１軒、色々な角度で写真撮影し、３次元形状を推定するという手作業をせずに、２次元の建物境界線から最もｐｒｏｂａｂｌｅな３次元建物形状を推定して、生成する。特に、一般的な屋根付き建物は、階数が少なく、建物境界線から３次元形状を推定・生成する手法によって、現実に近い建物モデルを効率よく生成することができる。
【００７４】
３次元ＣＧソフトを使って、時間をかけて「３次元都市モデル」の制作を行い、精緻なモデルを作ることは可能である。労力とモデルの精緻さはトレードオフの関係にあるが、都市計画や街の将来のイメージや代替案のイメージが必要な「まちづくり」において利用される「３次元都市モデル」では、看板や窓の形や色、壁の模様や染みといったディテールを必要とせず、容積率や建蔽率、斜線制限、屋根種類などで形状が決まる建物概形モデルで十分である。また、本実施例の手法を使えば、「３次元都市モデル」を、まちづくりなどの代替案に対する変更や要望に対応して、時間をかけずに制作することができる。こうした概形モデルを、要求に応じて迅速に制作する際に、本実施例の手法は有効である。
【００７５】
活用事例として、中心市街地が衰退するという問題をかかえる地方都市の中心市街地活性化の案となるモデルを生成した。活性化案として、歴史的建造物、例えば、「城」を中心に商店街を再構築する「３次元都市モデル」を自動生成した。図２９は現況を再現する大垣城一帯の３次元イメージで、大垣城へ至る道路は狭く、周辺のビルディングに囲まれて目立たない。そこで、大垣城が周辺から見えるように、周囲に低層の町屋型の店舗を配置し、城に至る道路も太くした場合のモデルを図３０に示す。このモデルでは、歴史的な遺産である城がどこからでも見えるように、周辺には低い店舗が軒を並べるように建設されている。
【００７６】
２つ目の活用事例として、総合設計制度を利用して、高層ビルディングが建てられる前後の「３次元都市モデル」を生成した。総合設計制度とは、容積率及ぴ高さの制限について、統一的な緩和規定を設けることによって、建築敷地の共同化、大規模化による土地の有効かつ合理的な利用の促進と、公共的なオープンスペース（公開空地）を確保することなどにより、市街地環境の整備を図ることを目的として設けられたものである。但し、超高層ビルディングの出現により、生活環境が著しく阻害され、まち全体が大きく変わってしまうのではないかという危惧が住民の間に生じる可能性がある。そのため、総合設計制度が利用された時にまちがどのように変わるのか、あるいは変わる可能性があるのか、総合設計制度を認めてもいいのか、よくないのかを関係者で検討する必要がある。即ち、まちの３次元イメージを「３次元のたたき台」として、地域の住民で共有して、地域の将来像を検討し、住民の目指す将来像を描いていくことが大事だとされる。
【００７７】
その３次元イメージとして、本システムが生成した「３次元都市モデル」を活用することができる。本実施例の手法によって生成された３次元屋根付き建物モデルを含む「３次元都市モデル」の活用例を図３１〜図３４に示す。図３１は、岐阜市問屋町西部地区の現況を再現する３次元都市モデルを示す。図３２は、上記地区に対して総合設計制度を適用した場合の３次元都市モデルを示す。図３３は、大垣市高屋町地域の現況を再現する３次元都市モデルを示す。図３４は、上記地域に対して総合設計制度を適用した場合の３次元都市モデルを示す。
【００７８】
以上、本発明の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【図１】従来の３次元都市モデルの一例を示す。
【図２】従来の３次元都市モデルの他の一例を示す。
【図３】従来の屋根付き建物モデルの一例の平面図を示す。
【図４】従来の屋根付き建物モデルの一例の斜視図を示す。
【図５】旧街道沿いに連なる幅広の切り妻屋根の建物の写真の一例を示す。
【図６】旧街道沿いに連なる幅広の切り妻屋根の建物の写真の他の一例を示す。
【図７】本発明の実施例の３次元の屋根付き建物モデルの生成装置のブロック図を示す。
【図８】本発明の実施例の３次元の屋根付き建物モデルの生成処理の手順を示すフローチャートである。
【図９】ＧＩＳソフトを用いて表示装置に表示した電子住宅地図（大垣市内）の一例を示す。
【図１０】電子住宅地図上の建物ポリゴンの各頂点の角度分布を示す。
【図１１】電子住宅地図上の建物ポリゴンの頂点数の分布を示す。
【図１２】全ての頂角が直角の建物ポリゴンを辺の曲がる向きの情報で表現した例を示す。
【図１３】６点ポリゴンの形状パターンを示し、（ａ）と（ｂ）は共に「ＬＲＲＲＲＲ」型を示す。
【図１４】８点ポリゴンの形状パターンを示し、（ａ）は「ＬＬＲＲＲＲＲＲ」型、（ｂ）は「ＬＲＬＲＲＲＲＲ」型、（ｃ）は「ＬＲＲＬＲＲＲＲ」型、（ｄ）は「ＬＲＲＲＬＲＲＲ」型を示す。
【図１５】（ａ）「ＬＲＲＬＲＲＲＲ」型の８点ポリゴンの一例を示し、（ｂ）は（ａ）の８点ポリゴンを第１の６点ポリゴンに分割した図を示し、（ｃ）は（ａ）の８点ポリゴンを第２の６点ポリゴンに分割した図を示す。
【図１６】４点ポリゴン上に生成した３次元建物モデルの一例を示す。
【図１７】６点ポリゴンの一例を第１の４点ポリゴンと第２の４点ポリゴンに区画した図を示す。
【図１８】６点ポリゴン上に生成した３次元建物モデルの一例の斜視図を示す。
【図１９】４点ポリゴン上に生成した第１の態様の屋根付き建物モデルの平面図を示す。
【図２０】４点ポリゴン上に生成した第１の態様の屋根付き建物モデルの斜視図を示す。
【図２１】４点ポリゴン上に生成した第２の態様の屋根付き建物モデルの平面図を示す。
【図２２】４点ポリゴン上に生成した第２の態様の屋根付き建物モデルの斜視図を示す。
【図２３】６点ポリゴン上に生成した第１の態様の屋根付き建物モデルの平面図を示す。
【図２４】６点ポリゴン上に生成した第１の態様の屋根付き建物モデルの斜視図を示す。
【図２５】６点ポリゴン上に生成した第２の態様の屋根付き建物モデルの平面図を示す。
【図２６】６点ポリゴン上に生成した第２の態様の屋根付き建物モデルの斜視図を示す。
【図２７】８点ポリゴン上に生成した屋根付き建物モデル群の斜視図を示す。
【図２８】同一形状の６点ポリゴン上に属性情報を異ならせて生成した屋根付き建物モデル群の斜視図を示す。
【図２９】大垣城一帯の現況を再現する３次元都市モデルを示す。
【図３０】大垣城周辺に低層の店舗を配置した活性化案の３次元都市モデルを示す。
【図３１】岐阜市問屋町西部地区の現況を再現する３次元都市モデルを示す。
【図３２】岐阜市問屋町西部地区に対して総合設計制度を適用した場合の３次元都市モデルを示す。
【図３３】大垣市高屋町地域の現況を再現する３次元都市モデルを示す。
【図３４】大垣市高屋町地域に対して総合設計制度を適用した場合の３次元都市モデルを示す。
【符号の説明】
Ｊ１：４点ポリゴンの長辺
Ｊ２：４点ポリゴンの短辺
Ｋ１：６点ポリゴンの最長辺
Ｋ２：６点ポリゴンの第２辺
Ｋ３：６点ポリゴンの第３辺
Ｋ４：６点ポリゴンの第４辺
Ｐ１：第１の４点ポリゴン
Ｐ２：第２の４点ポリゴン
Ｂ、Ｂ１、Ｂ２：建物モデル
Ｒ１〜Ｒ８：屋根
Ｆ１１〜Ｆ６２：傾斜屋根部
Ｔ１〜Ｔ８：屋根の頂線
Ｌ１〜Ｌ８：屋根の長さ
Ｗ１〜Ｗ８：屋根の幅
【図１】
2004295661.tif 000003
【図２】
2004295661.tif 000004
【図３】
2004295661.tif 000005
【図４】
2004295661.tif 000006
【図５】
2004295661.tif 000007
【図６】
2004295661.tif 000008
【図７】
2004295661.tif 000009
【図８】
2004295661.tif 000010
【図９】
2004295661.tif 000011
【図１０】
2004295661.tif 000012
【図１１】
2004295661.tif 000013
【図１２】
2004295661.tif 000014
【図１３】
2004295661.tif 000015
【図１４】
2004295661.tif 000016
【図１５】
2004295661.tif 000017
【図１６】
2004295661.tif 000018
【図１７】
2004295661.tif 000019
【図１８】
2004295661.tif 000020
【図１９】
2004295661.tif 000021
【図２０】
2004295661.tif 000022
【図２１】
2004295661.tif 000023
【図２２】
2004295661.tif 000024
【図２３】
2004295661.tif 000025
【図２４】
2004295661.tif 000026
【図２５】
2004295661.tif 000027
【図２６】
2004295661.tif 000028
【図２７】
2004295661.tif 000029
【図２８】
2004295661.tif 000030
【図２９】
2004295661.tif 000031
【図３０】
2004295661.tif 000032
【図３１】
2004295661.tif 000033
【図３２】
2004295661.tif 000034
【図３３】
2004295661.tif 000035
【図３４】
2004295661.tif 000036