JP7380704B2 - 中心線補正装置、中心線補正方法、空間ネットワークデータ生成システム及びプログラム - Google Patents

中心線補正装置、中心線補正方法、空間ネットワークデータ生成システム及びプログラム Download PDF

Info

Publication number
JP7380704B2
JP7380704B2 JP2021555626A JP2021555626A JP7380704B2 JP 7380704 B2 JP7380704 B2 JP 7380704B2 JP 2021555626 A JP2021555626 A JP 2021555626A JP 2021555626 A JP2021555626 A JP 2021555626A JP 7380704 B2 JP7380704 B2 JP 7380704B2
Authority
JP
Japan
Prior art keywords
center line
centerline
center
correction
line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021555626A
Other languages
English (en)
Other versions
JPWO2021095086A1 (ja
Inventor
充 望月
仁志 瀬下
治 松田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2021095086A1 publication Critical patent/JPWO2021095086A1/ja
Application granted granted Critical
Publication of JP7380704B2 publication Critical patent/JP7380704B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/3815Road data
    • G01C21/3819Road shape data, e.g. outline of a route
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Optimization (AREA)
  • Civil Engineering (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Structural Engineering (AREA)
  • Mathematical Analysis (AREA)
  • Architecture (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Physics (AREA)
  • Educational Technology (AREA)
  • Educational Administration (AREA)
  • Business, Economics & Management (AREA)
  • Processing Or Creating Images (AREA)

Description

この発明の実施形態は、中心線補正装置、中心線補正方法、空間ネットワークデータ生成システム及びプログラムに関する。
屋内空間の形状情報や屋外空間の道路形状情報から空間ネットワークデータを生成する際に必要となる中心線を生成する技術が複数存在する。例えば、対象となる空間に対し、ドロネ三角形分割の特性を利用する方法(例えば、非特許文献1)、ボロノイ図の特性を利用する方法(非特許文献2)、凹角頂点の特性を利用する方法、等がある。
これらの技術で生成した中心線は、そのままではデータ量が多く、実用的ではないため、頂点を間引く等の簡素化補正が必要となる。
Filippo Mortari, "Automatic Extraction of Improved Geometrical Network Model from CityGML for Indoor navigation", https://3d.bk.tudelft.nl/pdfs/FilippoMortari_thesis.pdf 奥秋恵子、"道路形状ポリゴンを用いた、道路幅員ネットワークデータの自動生成", https://www.gisa-japan.org/conferences/proceedings/2012/papers/D-1-4.pdf
しかしながら、非特許文献1及び2のいずれも、ノードを間引くなどによって簡素化を行っている。このような簡素化補正技術では、補正した中心線が実際の通路や道路といった経路の中心から離れてしまう、中心線によって構成される経路が複雑になってしまう、等の不自然な状態になることがあるという課題があった。
この発明は、実際の経路の中心を通る中心線に補正することを可能とする技術を提供しようとするものである。
上記課題を解決するために、この発明の一態様に係る中心線補正装置は、屋内空間の形状情報または屋外空間の道路形状情報から取得され、前記屋内空間または前記屋外空間における移動可能領域である、経路の中心線を補正する中心線補正装置であって、前記中心線のそれぞれの辺の中心点を抽出する中心点抽出処理と、抽出された前記中心点に基づいて、元形状の境界との距離が中心となるよう前記中心線を移動させる中心線補正処理と、移動させた前記中心線のそれぞれの辺で構成される閉多角形の頂点と、該頂点に接する前記辺の数と長さにより、前記中心線の要不要を判断し、不要な中心線を削除する不要中心線削除処理と、を実行する中心線補正部、を備える。
この発明の一態様によれば、中心線のそれぞれの辺の中心点に基づいて、元形状の境界との距離が中心となるよう中心線を移動させるとともに、移動させた中心線のうち不要なものを削除するようにしているので、出力する中心線の頂点数及びデータ数を極力増やさず、経路の中心を通る単純で自然な中心線に補正することができる技術を提供することができる。
図1は、この発明の一実施形態に係る中心線補正装置を含むネットワークデータ生成システムの構成の一例を示すブロック図である。 図2は、中心線補正装置のハードウェア構成の一例を示す図である。 図3は、形状情報と中心線簡素化前の中心線との関係の一例を示す模式図である。 図4は、形状情報と中心線簡素化後の中心線との関係の一例を示す模式図である。 図5は、中心線補正装置の処理動作の一例を示すフローチャートである。 図6は、図5中のグループ分割処理の詳細の一例を示すフローチャートである。 図7Aは、グループの基準線を説明するための図である。 図7Bは、基準線と同一角度の直線を説明するための図である。 図7Cは、グループの領域を説明するための図である。 図7Dは、残りの直線に対するグループの領域生成を説明するための図である。 図8Aは、図形が分割されない例を示す図である。 図8Bは、複数の直線の内の一つの直線で図形が分割される例を示す図である。 図8Cは、図形を分割する直線の例を示す図である。 図8Dは、図形を分割する直線と分割しない直線の例を示す図である。 図9Aは、グループ間の領域に重なりが有る場合の一例を示す図である。 図9Bは、図9Aの例において、小さな領域を取り除いた状態を示す図である。 図9Cは、図9Aの例において、大きな変化が生じた箇所を示す図である。 図9Dは、図9Aの例において、分割した図形について生成されるグループの領域を示す図である。 図9Eは、図9Aの例において、マージしたグループの領域を示す図である。 図10Aは、グループ間の領域に重なりが有る場合の一例を示す図である。 図10Bは、図10Aの例において、小さな領域を取り除いた状態を示す図である。 図10Cは、図10Aの例において、大きな変化が生じた箇所を示す図である。 図10Dは、図10Aの例において、分割した図形について生成されるグループの領域を示す図である。 図10Eは、図10Aの例において、マージしたグループの領域を示す図である。 図11Aは、グループ間の領域に重なりが有る場合の一例を示す図である。 図11Bは、図11Aの例において、小さな領域を取り除いた状態を示す図である。 図11Cは、図11Aの例において、大きな変化が生じた箇所を示す図である。 図11Dは、図11Aの例において、分割した図形について生成されるグループの領域を示す図である。 図11Eは、図11Aの例において、マージしたグループの領域を示す図である。 図12は、各グループの領域での、元図形及びその中心線の分割を説明するための図である。 図13は、各グループの領域の回転を説明するための図である。 図14は、分断された中心線の取扱を説明するための図である。 図15は、図5中のグループ毎補正処理の詳細の一例を示すフローチャートである。 図16は、中心線に対する識別子の付与処理の一例を説明するための模式図である。 図17は、中心線の中心点の抽出処理の一例を説明するための模式図である。 図18は、中心線の回転処理の一例を説明するための模式図である。 図19は、回転処理を除外される中心線を説明するための模式図である。 図20は、中心線の回転処理の結果の一例を示す模式図である。 図21は、中心線の平行移動処理の一例を説明するための模式図である。 図22は、中心線の平行移動処理の結果の一例を示す模式図である。 図23は、中心線同士の再接続処理の一例を説明するための模式図である。 図24は、中心線同士の再接続処理の結果の一例を示す模式図である。 図25は、中心線のマージ及び分割処理の一例を説明するための模式図である。 図26は、中心線のマージ及び分割処理の結果の一例を示す模式図である。 図27Aは、閉多角形を構成する全ての頂点が三つ以上の中心線と接している場合における中心線の除去の一例を説明するための模式図である。 図27Bは、閉多角形の頂点が二つの中心線と接している場合における中心線の除去の一例を説明するための模式図である。 図27Cは、二つの中心線と接している頂点が二つ存在する場合における中心線の除去の一例を説明するための模式図である。 図27Dは、二つの中心線と接している頂点が三つ存在する場合における中心線の除去の一例を説明するための模式図である。 図27Eは、閉多角形内に元図形の内枠が存在した場合における中心線の除去の一例を説明するための模式図である。 図28は、それぞれ三つ以上の中心線と接している六つの頂点を持つ閉多角形の一例を示す模式図である。 図29Aは、パターン1における中心線除去前の最短経路を示す模式図である。 図29Bは、パターン1における一番長い中心線を除去した場合の最短経路を示す模式図である。 図29Cは、パターン1における一番長い中心線以外の中心線を除去した場合の最短経路を示す模式図である。 図30Aは、パターン2における中心線除去前の最短経路を示す模式図である。 図30Bは、パターン2における一番長い中心線を除去した場合の最短経路を示す模式図である。 図30Cは、パターン2における一番長い中心線以外の中心線を除去した場合の最短経路を示す模式図である。 図31Aは、パターン3における中心線除去前の最短経路を示す模式図である。 図31Bは、パターン3における一番長い中心線を除去した場合の最短経路を示す模式図である。 図31Cは、パターン3における一番長い中心線以外の中心線を除去した場合の最短経路を示す模式図である。 図32Aは、パターン4における中心線除去前の最短経路を示す模式図である。 図32Bは、パターン4における一番長い中心線を除去した場合の最短経路を示す模式図である。 図32Cは、パターン4における一番長い中心線以外の中心線を除去した場合の最短経路を示す模式図である。 図33Aは、パターン5における中心線除去前の最短経路を示す模式図である。 図33Bは、パターン5における一番長い中心線を除去した場合の最短経路を示す模式図である。 図33Cは、パターンに5おける一番長い中心線以外の中心線を除去した場合の最短経路を示す模式図である。 図34は、閉多角形となる中心線の除去判断に基づいて不要中心線の除去を行った結果の一例を示す模式図である。 図35Aは、行き止まりとなっている中心線を除去する場合を説明するための模式図である。 図35Bは、行き止りとなっている中心線を除去しない場合を説明するための模式図である。 図36は、頂点に対して接しているのが一つ中心線のみである場合における中心線の除去判断に基づいて不要中心線の除去を行った結果の一例を示す模式図である。 図37は、図5中の再結合処理の詳細の一例を示すフローチャートである。 図38は、分割した中心線の再結合を説明するための模式図である。 図39は、形状情報と中心線補正後の中心線との関係の一例を示す模式図である。
本発明の理解を助けるために、まず、本明細書において使用する用語について説明する。
「リンク」は、移動体(人、車いす、ベビーカー、ロボット、ドローン、など)が、この上を移動すること想定し、移動可能な領域に引かれる線である。このリンクの両端は、必ず、ノードである。リンクは、向き及び長さという基本的な属性情報に加え、高さ、幅、段差、段数、手すり有といった移動可能領域の特徴を属性情報として持つことができる。リンクの途中で分岐があり、リンクの向きを変える場合には、その起点となる点に、ノードを打ち、リンクを分割する。
「ノード」は、リンクの起点もしくは終点となる点である。リンクの向きを変える(カーブを作成する)、リンクを分岐させる、などの場合に生成されるほか、出入口の最寄りにナビゲーションポイントを設けたい場合などには、意図的にリンクの途中にノードを打って、リンクを分割する場合がある。
「POI」は、Point of Interestの略であり、空間(店舗、部屋、トイレ、など)が持つ形状に対する代表点とその属性を管理している。
「ネットワークデータ」は、リンクとノードの総称である。移動可能な経路を示す経路情報となる。
「階層」は、屋内空間が階層を持つ場合、「空間」、「部屋」、「通路」、「出入口」、「階の接続」が、階層毎に分けられて管理される。
「空間」は、屋内空間を意味のある単位(通路、部屋、など)に分割した領域である。この空間が、ネットワークデータの生成対象となる移動可能な領域である。
「部屋」は、ナビゲーションポイントの目的地となり得る空間である。空間に接続している出入口数が一つの場合、部屋に該当する。空間の形状が凸多角形の場合も、部屋に該当する。
「通路」は、部屋と部屋を移動するための空間である。空間に接続している出入口数が二つ以上、かつ、空間の形状が凹回(穴あき)多角形の場合は、通路に該当する。
「出入口」は、空間と空間を接続する場所(ドア、壁無し)である。
「階の接続」は、屋内空間の階層間を接続する場所(階段、エレベータ、エスカレータなど)である。
「入力データ」は、建築する際に用いるデジタル設計図を指す。この入力データは、建築用CAD(Computer Aided Design)やBIM(Building Information Modeling)などで作成したデータを示す。
「建築用CAD」は、建物や構造物などの建築物の立体について、平面図、立面図、断面図、透視図、などの図面を作成するソフトウェアである。建築用CADでは、一般的に、壁や廊下のほか、柱、店舗、トイレ、エスカレータなどを、レイヤで分けて管理することができる。
「BIM」は、3次元の建物形状及び属性情報が含まれるデジタルモデルを管理する。BIMデータの一つのフォーマットであるIFC(Industry Foundation Classes)では、階層、空間、階段、ドア、柱などの構造物毎に、クラスが定義付けられている。
「ドロネ三角形分割手法」は、元形状をドロネ三角形分割し、その2等辺三角形の等しい2辺の2等分線の中心をつなぎ、その中点同士をつなぐことで中心線を生成する手法である。
「ボロノイ多角形手法」は、元形状の辺上に、一定間隔の点を打ち、その点群からボロノイ多角形を生成し、隣り合う多角形同士を融合して、この融合した多角形の辺のうち元形状の内部にある辺を中心線とする手法である。
以下、図面を参照して、この発明に係わる実施形態を説明する。
(構成例)
図1は、この発明の一実施形態に係る中心線補正装置10を含むネットワークデータ生成システムの構成の一例を示すブロック図である。
ネットワークデータ生成システムは、中心線補正装置10と、この中心線補正装置10に接続されたネットワークデータ生成装置20と、を含む。中心線補正装置10には、中心線生成元データ記憶装置30と中心線データ記憶装置40とが接続される。中心線補正装置10は、直線抽出部11と、領域生成部12と、中心線補正部13と、を有する。
一般的に、建築設計時に作成する2次元(以下、2Dと記す)の建築用CADデータや、BIMデータに含まれる3次元(以下、3Dと記す)モデルといった、屋内空間の形状情報は、デジタルベクトルデータである。BIMを利用する際は、3Dモデルを階層毎に水平投射することで、2Dのベクトルデータとして扱える。この形状情報が、中心線生成元データとして、中心線生成元データ記憶装置30に記憶されている。
この形状情報から、例えば、ドロネ三角形分割手法やボロノイ多角形手法により、その形状の特徴に着目して中心線が生成され、頂点(ノード)を間引くなどの簡素化補正により簡素化した中心線が中心線データ記憶装置40に記憶されている。この中心線の生成及び簡素化補正については、どのようなアルゴリズムで行われても構わない。中心線は、処理対象とする屋内空間の形状の外枠及び内枠と交差せず、かつ、その形状の任意の内部の位置から直線でつなげることができ、途切れのない状態である必要があるという前提を満たしていれば良い。
なお、ネットワークデータ生成システムは、中心線生成元データ記憶装置30に記憶された形状情報から中心線を取得する中心線取得装置や、中心線を簡素化して中心線データ記憶装置40に記憶させる中心線簡素化装置を含んでいても良い。
中心線補正装置10は、これら中心線生成元データ記憶装置30に記憶された形状情報と中心線データ記憶装置40に記憶された簡素化した中心線とを入力データとして、中心線を補正する。ネットワークデータ生成装置20は、この中心線補正した結果である中心線補正データを入力データとして、ネットワークデータを生成する。
ここで、中心線補正装置10の直線抽出部11は、中心線生成元データ記憶装置30に記憶された形状情報に基づいて、屋内空間における移動可能領域である通路の外枠形状を分割し、この外枠形状の直線部を長さ順に抽出する。
領域生成部12は、直線抽出部11が抽出した直線部とX軸やY軸などの基準線のなす角を基に、直線部のそれぞれをグループ化し、各グループに含まれる複数の直線部から各グループ毎の領域を生成する。
中心線補正部13は、中心線データ記憶装置40に記憶された簡素化した中心線から、中心線のそれぞれの辺の中心点を抽出する。そして、それら抽出された中心点と中心線生成元データ記憶装置30に記憶された形状情報とに基づいて、元形状の境界との距離が中心となるよう中心線を移動させる。例えば、中心線補正部13は、中心線のそれぞれの辺を中心点を中心として回転させ、その回転させた中心線を平行移動させる。また、中心線補正部13は、これら移動させた中心線のうち不要なものを削除する。中心線補正部13は、これらの処理を、領域生成部12が生成したグループの領域毎に行う。
図2は、中心線補正装置10のハードウェア構成の一例を示す図である。
中心線補正装置10は、図2に示すように、例えばサーバコンピュータ(Server computer)やパーソナルコンピュータ(Personal computer)などのコンピュータにより構成され、CPU(Central Processing Unit)等のハードウェアプロセッサ101を有する。そして、中心線補正装置10では、このプロセッサ101に対し、プログラムメモリ102と、データメモリ103と、通信インタフェース104と、入出力インタフェース(図2では入出力IFと記す)105とが、バス106を介して接続される。
通信インタフェース104は、例えば一つ以上の有線または無線の通信モジュールを含むことができる。通信インタフェース104は、中心線生成元データ記憶装置30及び/または中心線データ記憶装置40が、LAN(Local Area Network)やインターネットなどのネットワークを介して接続されるデータサーバなどに構成される場合には、そのデータサーバなどとの間で通信を行い、それら記憶装置からデータを取得することができる。また、ネットワークデータ生成装置20がネットワークを介して接続されるデータ処理装置などに構成される場合には、通信インタフェース104は、そのデータ処理装置などと通信して、中心線補正した結果である中心線補正データを送信することができる。
入出力インタフェース105には、入力部107及び表示部108が接続されている。入力部107及び表示部108は、例えば液晶または有機EL(Electro Luminescence)を使用した表示デバイスの表示画面上に、静電方式または圧力方式を採用した入力検知シートを配置した、いわゆるタブレット型の入力・表示デバイスを用いたものが用いられることができる。なお、入力部107及び表示部108は独立するデバイスにより構成されてもよい。入出力インタフェース105は、上記入力部107において入力された操作情報をプロセッサ101に入力するとともに、プロセッサ101で生成された表示情報を表示部108に表示させる。
なお、入力部107及び表示部108は、入出力インタフェース105に接続されていなくてもよい。入力部107及び表示部108は、通信インタフェース104と直接またはネットワークを介して接続するための通信ユニットを備えることで、プロセッサ101との間で情報の授受を行い得る。
また、入出力インタフェース105は、フラッシュメモリなどの半導体メモリといった記録媒体のリード/ライト機能を有しても良いし、あるいは、そのような記録媒体のリード/ライト機能を持ったリーダライタとの接続機能を有しても良い。これにより、中心線補正装置10に対して着脱自在な記録媒体を、中心線生成元データ記憶装置30及び/または中心線データ記憶装置40とすることができる。入出力インタフェース105は、さらに、他の機器、例えばネットワークデータ生成装置20との接続機能を有して良い。
プログラムメモリ102は、非一時的な有形のコンピュータ可読記憶媒体として、例えば、HDD(Hard Disk Drive)またはSSD(Solid State Drive)等の随時書込み及び読出しが可能な不揮発性メモリと、ROM等の不揮発性メモリとが組合せて使用されたものである。このプログラムメモリ102には、プロセッサ101が一実施形態に係る各種制御処理を実行するために必要なプログラムが格納されている。すなわち、上記の直線抽出部11、領域生成部12、及び中心線補正部13の各部における処理機能部は、いずれも、プログラムメモリ102に格納されたプログラムを上記プロセッサ101により読み出させて実行させることにより実現される。なお、これらの処理機能部の一部または全部は、特定用途向け集積回路(ASIC:Application Specific Integrated Circuit)またはFPGA(field-programmable gate array)などの集積回路を含む、他の多様な形式によって実現されても良い。
データメモリ103は、有形のコンピュータ可読記憶媒体として、例えば、上記の不揮発性メモリと、RAM(Random Access Memory)等の揮発性メモリとが組合せて使用されたものである。このデータメモリ103は、各種処理が行われる過程で取得及び作成された各種データが記憶されるために用いられる。すなわち、データメモリ103には、各種処理が行われる過程で、適宜、各種データを記憶するための領域が確保される。そのような領域として、データメモリ103には、例えば、中心線生成元データ記憶部1031、中心線データ記憶部1032、分割情報記憶部1033、補正対象外中心線データ記憶部1034、分割後中心線生成元データ記憶部1035、分割後中心線データ記憶部1036、中心線間接続状態記憶部1037、補正後中心線データ記憶部1038及び中心線補正データ記憶部1039を設けることができる。
中心線生成元データ記憶部1031は、中心線生成元データ記憶装置30から取得された、屋内空間の形状情報を記憶する。同様に、中心線データ記憶部1032は、中心線データ記憶装置40から取得された簡素化した中心線を記憶する。なお、これら中心線生成元データ記憶部1031、中心線データ記憶部1032を設けず、プロセッサ101が必要に応じて中心線生成元データ記憶装置30または中心線データ記憶装置40から形状情報または中心線を取得しても良い。しかしながら、処理の高速化のためには、プロセッサ101が直接アクセス可能なデータメモリ103に形状情報または中心線のデータを保存しておくことが好ましい。
図3は、形状情報で示される図形31と中心線簡素化前の中心線41との関係の一例を示す模式図である。図形31は、外枠31Aと内枠31Bとを有し、中心線41は、この外枠31Aと内枠31Bとの間に存在している。中心線生成元データ記憶装置30及び中心線生成元データ記憶部1031は、このような形状情報を記憶する。図4は、形状情報で示される図形31と中心線簡素化後の中心線42との関係の一例を示す模式図である。中心線データ記憶装置40及び中心線データ記憶部1032は、このような簡素化補正した中心線42のデータを記憶する。
分割情報記憶部1033は、直線抽出部11の機能により抽出した、グループそれぞれについて、一番長い直線である基準線を記憶する。補正対象外中心線データ記憶部1034は、グループの領域に含まれない中心線を記憶する。
分割後中心線生成元データ記憶部1035は、中心線補正部13の機能により、各グループの元図形を回転した図形を記憶する。分割後中心線データ記憶部1036は、同じく、各グループの元図形を回転した図形の中心線を記憶する。中心線間接続状態記憶部1037は、中心線間の接続状態を示す情報を記憶する。補正後中心線データ記憶部1038は、不要な中心線を除去した結果を記憶する。
中心線補正データ記憶部1039は、中心線補正部13の機能により中心線補正した結果である中心線補正データを記憶する。
ネットワークデータ生成装置20のハードウェア構成は、特に図示しないが、中心線補正装置10と同様に、プロセッサ、プログラムメモリ、データメモリ、通信インタフェース、入出力インタフェース、バス、入力部及び表示部により構成することができる。
また、中心線補正装置10とネットワークデータ生成装置20とが、一つのハードウェア構成を兼用しても良い。すなわち、一つのコンピュータが、プログラムメモリ102に格納されたプログラムをプロセッサ101により読み出させて実行させることにより、中心線補正装置10として機能することも、ネットワークデータ生成装置20として機能することもできるようにしても良い。
(動作)
次に、中心線補正装置10の動作を説明する。
中心線についてノードを間引くなどの簡素化した場合、中心線の形状は、その元となる図形の外枠(内枠)に対し、中心線の位置の偏りが大きくなり、実際の中心から離れてしまったり、経路が複雑になってしまったりする。そこで、中心線補正装置10は、この中心線を簡素化する処理の特性から生じる、中心線の偏りを排除し、適正な位置に補正する。
ただし、あくまでも、この中心線は、経路探索用の形状である。したがって、中心線補正装置10による補正処理により、中心線が途切れてしまったり、壁(形状の外枠や内枠)と交差してしまったりしては意味がないため、考慮が必要である。
本実施形態に係る中心線補正装置10は、入力する屋内空間の形状の外枠及び内枠と交差せず、かつ、その形状の任意の内部の位置から直線でつなげることができ、途切れのない状態を維持することができる前提を崩さずに、中心線の偏りを排除し、適正な位置に補正する。
図5は、中心線補正装置10の処理動作の一例を示すフローチャートである。ここでは、すでに、中心線生成元データ記憶部1031に屋内空間の形状情報を記憶し、中心線データ記憶装置40には簡素化補正した中心線42のデータを記憶しているものとする。
一般的に、設計図などの図面は、中心線の元となる図形をX軸、Y軸に平行になるように記述している。しかし、建物形状によっては、X軸、Y軸に平行ではない領域も存在する。そこで、中心線補正装置10のプロセッサ101は、実際の中心線の補正の前に、まず、中心線の元となる図形をX軸、Y軸に平行にするためにグループ分割処理を実施する(ステップS1)。このグループ分割処理の詳細については後述する。
そして、プロセッサ101は、このグループ分割処理の結果、グループが存在するか否か判定する(ステップS2)。グループが存在すれば、プロセッサ101は、グループ毎に中心線を補正する、グループ毎補正処理を実施する(ステップS3)。そして、プロセッサ101は、グループ毎の補正結果を結合する、再結合処理を実施する(ステップS4)。これらのグループ毎補正処理及び再結合処理の詳細についても後述する。
一方、上記ステップS2においてグループが存在しないと判定した場合には、プロセッサ101は、中心線データ記憶部1032に記憶されている簡素化した中心線のデータを、中心線補正データ記憶部1039に記憶する(ステップS5)。すなわち、中心線補正装置10は、グループが存在しない場合には、中心線補正を実施できないため、簡素化した中心線のデータを何ら補正することなく、ネットワークデータ生成装置20に供給することになる。
図6は、上記ステップS1におけるグループ分割処理の詳細の一例を示すフローチャートである。本グループ分割処理においては、「中心線の元となる図形とそこから生成された中心線を、中心線の元となる図形が、X軸、Y軸に平行となる」ように分割する処理である。
プロセッサ101は、まず、中心線生成元データ記憶部1031に記憶された形状情報に基づいて、中心線を生成した元の図形の外枠形状を各頂点で分割し、直線のみを長さ順に抽出する(ステップS101)。このように、プロセッサ101は、直線抽出部11として機能する。
次に、プロセッサ101は、抽出した直線の中で、まだグループに含めていない一番長い直線とほぼ同じ角度の直線(直角で交わる直線も含む)を見つけてグループ化し、各直線の頂点を全て包含する領域を生成する(ステップS102)。なお、上記角度は、±1°をデフォルトとし、ユーザが任意の値にチューニングできるようにしておく。
領域の生成方法の一例としては、各直線の全頂点に対し3点を任意に選択し三角形を生成し、マージすることを繰り返すことで実現できる。その際、三角形内の頂点は除外することで効率化もできる。ここで、プロセッサ101は、図7Aに示すように、一番長い直線を、グループの基準線GRとして、分割情報記憶部1033に格納する。次に、プロセッサ101は、図7Bに示すように、この基準線GRである直線321と同一角度の直線(直角で交わる直線も含む)322、323、324、325、326を、同一グループとする。そして、プロセッサ101は、図7Cに示すように、同一グループの直線の頂点33を全て包含する領域34(図7Cでは34a)を生成する。
次に、プロセッサ101は、上記ステップS102で生成した領域が、元の図形の面積の10分の1未満であるか否か判定する(ステップS103)。この10分の1という判定基準はデフォルトであり、ユーザが任意の値にチューニングできるようにしておく。生成した領域が元の図形の10分の1以上の大きさであると判定した場合には、プロセッサ101は、上記ステップS102の処理に戻る。こうして、残った直線について、ステップS102とステップS103の処理ループを繰り返すことで、図7Dに示すように、領域34b,34c,…というように、領域34が生成されていく。
また、上記ステップS102において、生成した領域が元の図形の10分の1未満の大きさであると判定した場合には、プロセッサ101は、その範囲の中心線に対して中心線補正を実施しても効果は得られないため、その生成した範囲は対象外として、ステップS102とステップS103の処理ループを抜ける。
そして、プロセッサ101は、グループが存在するか否か、つまりグループ生成の有無を判定する(ステップS104)。グループが存在しないと判定した場合は、プロセッサ101は、このグループ分割処理を終了する。
これに対して、グループが存在すると判定した場合には、プロセッサ101は、各グループ間の領域に重なりが有るか否か判定する(ステップS105)。重なりが有ると判定した場合、プロセッサ101は、まず、重なったグループに対して、大きいグループの領域に含まれる図形から、小さいグループの領域を取り除く(ステップS106)。
そして、プロセッサ101は、取り除いた結果である大きいグループの領域の図形(複数図形となった場合は、図形毎)に対し外接矩形を生成し、その外接矩形の範囲で外接矩形に沿って、X軸に平行な直線を、その下底(Y座標が最小)から上底に向かって並行移動していき、状態に大きな変化が生じる箇所のY座標で、元の図形を分割する(ステップS107)。
一般的に実在する建物の外枠は、壁に沿って軽微な凸凹が存在する。それらを全て分割すると、分割し過ぎてしまう恐れがある。したがって、以下に示すように、分割面の変化を見つける。
(1)X軸に平行な直線は、図形に変化が生じる箇所であるため、分割の候補とする。
(2)X軸に平行な直線のY座標の小さい順に図形を分割する。
(3)なお、X軸に平行な直線のうち以下は対象外とする。
(3A)その直線の両端が直角に直線と接している(同一グループである)
(3B)その平行線で図形を分割した結果できる図形の面積が、元の図形の面積の10分の1未満であった場合は、その範囲の中心線に対して、中心線補正を実施しても効果は得られないため、分割対象外とする。なお、この10分の1という判定基準はデフォルトであり、ユーザが任意の値にチューニングできるようにしておく。
例えば、図8Aに示す例では、グループ領域の外接矩形35において、直線36は、上記(3A)をクリアしていないため、図形31はその直線36では分割されない。
また、図8Bに示す例では、グループ領域の外接矩形35において、上記(3A)及び(3B)クリアする直線は、直線361~367の内の直線365のみとなる。
図8C及び図8Dは、分割される例を示している。図8Cに示す例では、グループ領域の外接矩形35において、大きな変化が生じていて上記(3A)及び(3B)クリアする直線である直線361及び362の箇所で、元の図形31が分割される。図8Dに示す例では、グループ領域の外接矩形35においては、直線361及び362の箇所で、元の図形31が分割される。図8Dに二点鎖線で示す直線363は、この直線363で分割した結果、上記(3-B)がクリアできなくなるため、候補から外れる。
その後、プロセッサ101は、上記ステップS102の処理に戻る。こうすることで、分割した図形毎に、分割面の直線部分を除いた直線で、グループの領域が生成されることになる。
このようにして、全てのグループの領域が重ならなくなると、プロセッサ101は、上記ステップS105において各グループ間の領域に重なりがないと判定する。これにより、プロセッサ101は、基準線の角度が等しいグループ領域と、そのグループの基準線をマージする(ステップS108)。これにより、グループの領域が決定される。このように、プロセッサ101は、領域生成部12として機能する。
例えば、図9Aに示すように、形状情報で示される図形31に対して、一点鎖線で示すグループの領域34dと破線で示すグループの領域34eとが生成されたとすると、それら二つの領域は重なりが有る。このような場合、ステップS106の処理により、大きいグループの領域に含まれる図形から小さいグループの領域を取り除くと、図9Bに示すように、二つの図形311と312とが残ることになる。これら残りの図形311及び312に対して、ステップS107の処理を実施するが、図9Bに示した図形311及び312では、いずれも、外接矩形に沿ってX軸に平行な直線を並行移動していっても、状態に大きな変化は生じないため、図9Cに示すように、分割されることはない。よって、その後、図形311及び312のそれぞれに対してステップS102の処理が実施され、図9Dに示すように、グループの領域34fと34gが生成されることになる。そして、ステップS108において、角度が等しいグループの領域34fと34gとがマージされ、さらに、各領域の基準線GRがマージされることで、図9Eに示すように、図形31に対するグループの領域34e及び34hが決定されることとなる。
また、図10Aに示すように、形状情報で示される図形31に対して、一点鎖線で示すグループの領域34dと破線で示すグループの領域34eとが生成されたとすると、それら二つの領域は重なりが有る。このような場合、ステップS106の処理により、大きいグループの領域に含まれる図形から小さいグループの領域を取り除くと、図10Bに示すように、図形311が残ることになる。この残りの図形311に対して、ステップS107の処理を実施すると、図10Cに示すように、大きな変化が生じた直線36の箇所で、図形311が分割される。よって、その後、それら分割された図形のそれぞれに対してステップS102の処理が実施され、図10Dに示すように、グループの領域34f、34g、34h及び34iが生成されることになる。そして、ステップS108において、角度が等しいグループの領域34f、34g、34h及び34iがマージされ、さらに、各領域の基準線GRがマージされることで、図10Eに示すように、図形31に対するグループの領域34e及び34jが決定されることとなる。
また、図11Aに示すように、形状情報で示される図形31に対して、一点鎖線で示すグループの領域34dと破線で示すグループの領域34eとが生成されたとすると、それら二つの領域は重なりが有る。このような場合、ステップS106の処理により、大きいグループの領域に含まれる図形から小さいグループの領域を取り除くこととなるが、この例では領域に大小がない、つまり大きさが等しいので、図11Bに示すように、図形31がそのまま残ることになる。この図形31に対して、ステップS107の処理を実施すると、図11Cに示すように、大きな変化が生じた直線36の箇所で、図形31が分割される。よって、その後、それら分割された図形のそれぞれに対してステップS102の処理が実施され、図11Dに示すように、グループの領域34f、34g、34h、34i、34j、34k及び34lが生成されることになる。そして、ステップS108において、角度が等しいグループの領域34fと34lがマージされ、同様に、角度が等しいグループの領域34g、34h、34i、34j及び34kがマージされ、さらに、各領域の基準線GRがマージされることで、図11Eに示すように、図形31に対するグループの領域34m及び34nが決定されることとなる。
こうしてグループの領域が生成された後、プロセッサ101は、各グループの領域で、元図形及びその中心線を分割する(ステップS109)。例えば、図12に示すように、元の図形31に対し、グループの領域34a、34b及び34cの図形とその中心線を分割する。ここで、グループの領域に含まれない中心線については、プロセッサ101は、補正対象外中心線データ記憶部1034に格納する。
その後、プロセッサ101は、図13に示すように、分割した各グループの領域34a、34b及び34cの元図形及びその中心線を、各グループの基準線GRの角度に応じ、-45°~45°であればX軸に並行に、それ以外であればY軸に平行に、基準線GRの中心点37を中心に回転する(ステップS110)。これにより、図13の例では、グループの領域34b及び34cの元図形及びその中心線が回転され、グループの領域34b’及び34c’の元図形及びその中心線となる。この回転角度は、グループ毎に分割情報記憶部1033に格納する。さらに、プロセッサ101は、回転した図形とその回転の中心点とを分割後中心線生成元データ記憶部1035へ格納し、また、回転した図形の中心線を分割後中心線データ記憶部1036へ格納する。
また、以降、ステップS3のグループ毎補正処理において中心線補正を実施するが、図14に示す通り、ステップS4の再結合処理において最終的に、逆に回転し、グループとして認識されなかった、グループ外領域38の中心線と再度接続する必要がある。そのため、このグループ分割処理により分断された中心線は、ステップS3の補正対象外とするため、分割情報記憶部1033に格納する。図14では、明確化のため、分断されない中心線421は実線で示し、分断される中心線422は破線で示している。
そして、プロセッサ101は、ステップS1のグループ分割処理を終了する。
図15は、上記ステップS3におけるグループ毎補正処理の詳細の一例を示すフローチャートである。このグループ毎補正処理では、プロセッサ101は、中心線の元となる図形の外枠がX軸またはY軸に平行となっている中心線の元となる図形と、そこから生成された中心線の対とを入力として、中心線の補正を行う。
まず、プロセッサ101は、分割後中心線データ記憶部1036に格納されたグループ毎の回転した図形の各中心線に識別子(以降、IDと記す)を付与し、そのIDを用いて、接続状態を中心線間接続状態記憶部1037に記憶しておく(ステップS301)。これは、中心線補正により中心線間が途切れてしまうことを回避することを目的に、補正前の中心線間の接続状態を保持するために行うものである。なお、ステップS1の分割によって分断された中心線は、以降の補正処理を実施しないため、分割情報記憶部1033からそのような分断された中心線の情報を取得して、IDの付与対象から除外する。
図16は、このID付与の一例を示す図である。これは、図4において破線で囲った部分に対応する。以降説明においても、同様の部分を用いて説明する。図16の例では、プロセッサ101は、分割後中心線データ記憶部1036から取得した各中心線42に対し、a~gのIDを付与する。また、そのIDを用いて、各中心線間の接続状態(a-b、b-c、a-c、c-d、d-e、c-e、f-a、g-a、f-g)を、中心線間接続状態記憶部1037に格納する。
次に、プロセッサ101は、各中心線42の中心点43を抽出する(ステップS302)。例えば、図17に示すように、ID=aの中心線42の中心点43の座標は、aの中心線42の頂点441及び442の座標(x1,y1)及び(x2,y2)から、((x1+x2)/2,(y1+y2)/2)として求まる。
次に、プロセッサ101は、各中心線とX軸のなす角度に応じ、中心線を回転する(ステップS303)。例えば、図18に示すように、ID=aの中心線42は、X軸となす角が0~45°の範囲内であるため、プロセッサ101は、その中心線42を、X軸に平行になるように、ステップS302で抽出した中心点43を中心として、回転する。その際、計算コストの観点、以降の回転後の再接続処理の整合性を踏まえ、元の中心線42の長さは維持せず、この場合は、各頂点441及び442のY座標を、中心点43のY座標に合せることで回転する。図18の例におけるID=aの中心線42では、回転前の頂点441の座標(x1,y1)は、回転後の中心線45の頂点461の座標(x1,(y1+y2)/2)となり、回転前の頂点442の座標(x2,y2)は、回転後の中心線45の頂点462の座標(x2,(y1+y2)/2)となる。なお、図18では、区別を容易とするために、回転前の中心線42を実線で示し、回転後の中心線45を一点鎖線で示している。
中心線42をX軸と平行になるように回転する場合は、上記の通り、中心線42とX軸となす角が-45°~45°の範囲とし、中心線42をY軸と平行になるように回転する場合は、中心線42とX軸となす角が上記の範囲外とする。さらに、中心線42をX軸と平行になるように回転する場合は、上記の通り、回転後の各頂点461、462のY座標を中心点43のY座標に合せることで回転し、中心線42をY軸と平行になるように回転する場合は、上記の通り、各頂点461、462のX座標を中心点43のX座標に合せることで回転する。
基本的には、上記に従って、回転処理を実施するが、例外として、図19に示すように、回転した結果、元図形の外枠31Aもしくは内枠31Bと交差する場合は、回転せずにそのまま中心線42を維持することとする。この判定を行うために、プロセッサ101は、分割後中心線生成元データ記憶部1035に記憶されている回転した元図形の形状を参照する。
図20は、この中心線の回転処理による結果を示す図である。図20では、回転前の中心線42を破線で示し、回転後の中心線45を実線で示している。
次に、プロセッサ101は、中心線45を経路の中心に再配置するために、分割後中心線生成元データ記憶部1035に記憶されている回転した元図形の形状を用いて、中心線45を並行移動する(ステップS304)。具体的には、プロセッサ101は、上記ステップS303で回転した中心線45を並行となる軸に沿って正及び負の両方向に、元図形の外枠31Aもしくは内枠31Bと衝突するまで並行移動し、その互いの距離を合計し、中心となる位置まで並行移動する。その結果、接続していた他の中心線を含めた外接矩形の範囲外になる場合には、下記(1)もしくは(2)の条件に従って平行移動する。
(1)接続していた中心線の中に、同一種別(水平または垂直)の中心線が存在する場合は、その中心線と同じ位置に平行移動する。
(2)同一種別(水平または垂直)の中心線が存在しない場合は、並行移動しない。
例えば、図21に示すように、プロセッサ101は、中心線451について、正及び負の両方向に、元図形の外枠31Aもしくは内枠31Bと衝突するまで並行移動し、その互いの距離を合計し、中心となる位置471に並行移動させる。また、中心線452についても、同様にして、中心線451を移動させた位置471に並行移動させることになる。これに対して、中心線453については、プロセッサ101は、正及び負の両方向に、元図形の外枠31Aもしくは内枠31Bと衝突するまで並行移動し、その互いの距離を合計し、中心となる位置を算出すると、その位置473’は外接矩形の範囲外となるため、上記条件(1)により、中心線451及び452と同様の位置471に平行移動させる。
図22は、この中心線の並行移動処理による結果を示す図である。図22では、並行移動された中心線45を太い実線で示し、移動されなかった位置47’を破線で示している。
次に、プロセッサ101は、中心線45を、接続していた中心線に対して伸ばして、中心線同士を接続する、再接続処理を行う(ステップS305)。すなわち、プロセッサ101は、ステップS301で格納した中心線間接続状態記憶部1037から、接続していた中心線の情報を入力し、ステップS303の回転処理及びステップS304の移動処理によって接続が切れてしまった中心線同士を再接続する。
例えば、図16に示したように、処理前の中心線42では、ID=aで示される中心線42は、ID=bで示される中心線42及びID=cで示される中心線42と接続していた。それらはステップS303での回転処理後、種別(垂直/水平)が異なるため、図23に示すように、ID=aで示される回転後の中心線45と、ID=b及びcで示される回転後の中心線45とは、接続が切られている。そこで、プロセッサ101は、このステップS305において、水平線であるID=aで示される回転後の中心線45の頂点のX座標x13を、同図に細い実線で示すように、ID=b及びcで示される回転後の中心線45のX座標x14に伸ばす。同様に、ID=bで示される中心線42はID=aで示される中心線42と接続しており、それらはステップS303の回転処理後、種別(垂直/水平)が異なるため、プロセッサ101は、このステップS305において、垂直線であるID=bで示される回転後の中心線45の頂点のY座標y13を、同図に細い実線で示すように、水平線であるID=aで示される回転後の中心線45のY座標y12に伸ばす。ここまでで、(a-b、b-c、a-c、c-d)が再接続される。
同様に、ID=eで示される中心線42はID=dで示される回転後の中心線42と接続しており、それらはステップS303の回転処理後、種別が異なるため、プロセッサ101は、このステップS305において、水平線であるID=eで示される回転後の中心線45の頂点のX座標x15を、同図に細い実線で示すように、垂直線であるID=dで示される回転後の中心線45のX座標x14に伸ばす。ここまでで、(a-b、b-c、a-c、c-d、d-e、c-e)が再接続される。
同様に、ID=fで示される中心線42はID=aで示される中心線42と接続しており、それらはステップS303の回転処理後、種別が同じため、プロセッサ101は、このステップS305において、同図に細い実線で示すように、水平線であるID=fで示される回転後の中心線45の頂点と同じく水平線であるID=aで示される回転後の中心線45の頂点の2点を持つ、新たなID=hで示される中心線45を作成する。ここまでで、(a-b、b-c、a-c、c-d、d-e、c-e、f-a(f-h、h-a))が再接続される。
また、ID=fで示される中心線42はID=gで示される中心線42とも接続しており、それらはステップS303の回転処理後、種別が異なるため、プロセッサ101は、このステップS305において、水平線であるID=fで示される回転後の中心線45の頂点のX座標x1を、同図に細い実線で示すように、垂直線であるID=gで示される回転後の中心線45のX座標x12に伸ばす。ここまでで、(a-b、b-c、a-c、c-d、d-e、c-e、f-a(f-h、h-a)、f-g)が再接続される。
同様に、ID=gで示される中心線42はID=aで示される中心線42と接続しており、それらはステップS303の回転処理後、種別が異なるため、プロセッサ101は、このステップS305において、垂直線であるID=gで示される回転後の中心線45の頂点のY座標y11を、同図に細い実線で示すように、水平線であるID=aで示される回転後の中心線45のY座標y12に伸ばす。ここまでで、(a-b、b-c、a-c、c-d、d-e、c-e、f-a(f-h、h-a)、f-g、g-a)が再接続される。
なお、このステップS305では、プロセッサ101は、ステップS301で除外した中心線も含めて接続することで、全ての中心線を再接続することになる。
前述した通り、ステップS305では、各中心線の種別(垂直または水平)と、各中心線間の接続状態により、再接続方式は一意に決まる。
図24は、この中心線同士の接続処理による結果を示す図である。図24では、太い実線で示した中心線45同士を接続するために伸ばされた中心線を、細い実線で示している。
次に、プロセッサ101は、重なっている中心線をマージし、全ての重なっている中心線のマージが完了したならば、各中心線を、接している頂点で分割する(ステップS306)。
上記ステップS305の再接続処理により、中心線45が重なった状態になる。例えば、図23に示す例では、ID=bで示される中心線45と、ID=cで示される中心線45と、ID=dで示される中心線45とは、重なっているため、プロセッサ101は、それらをマージする。マージの手法は様々あるが、例えば、重なり判定を実施し、重なっている全ての中心線を求め、その中心線(X軸に平行である場合はY座標、Y軸に平行である場合はX座標)の最大値と最小値を採用すれば良い。こうしてマージした結果、図25に示す通り、ID=b、c及びdで示される重なる中心線45をID=b’を持つ中心線45とすることができる。
そして、マージが終了したならば、プロセッサ101は、中心線45の頂点が、他の中心線45と頂点以外で接している場合や、交差している場合は、その接点(もしくは、交点)で中心線45を分割する。例えば、図25の例では、ID=fで示される中心線45はID=hで示される中心線45と接しているため、プロセッサ101は、その接点で分割し、ID=iを持つ新たな中心線45を作成する。
同様に、このID=iで示される中心線45はID=gで示される中心線45と接しているため、プロセッサ101は、その接点で分割し、ID=kを持つ新たな中心線45を作成する。また、このID=kで示される中心線45はID=aで示される中心線45と接しているため、プロセッサ101は、その接点で分割し、ID=iを持つ新たな中心線45を作成する。
こうして新たな中心線を作成後の各中心線間の接続状態は、図25の通りとなる。
図26は、このマージ及び分割処理による結果を示す図である。
次に、プロセッサ101は、不要な中心線を除去する(ステップS307)。この不要な中心線の除去処理においては、プロセッサ101は、以下に説明する3種類の除去判断手法により、除去するべき中心線を決定して、除去を行う。
一つ目の除去判断手法は、閉多角形となる中心線の除去判断に関する。
図27Aに示すように、複数の中心線45で構成される閉多角形の全ての頂点46が三つ以上の中心線45と接している場合は、プロセッサ101は、閉多角形の一番長い辺となる中心線45を除去する。同図及び以降説明する図において、除去された中心線は破線で示される。
また、図27Bに示すように、複数の中心線45で構成される閉多角形の頂点46が二つの中心線45と接している場合は、プロセッサ101は、その頂点を含む中心線45を除去する。なお、図27Bにおいて、黒丸が二つの中心線45と接している頂点を示す。閉多角形に二つの中心線45と接している頂点が複数存在する場合は、プロセッサ101は、一番長い辺と接している頂点を持つ辺を除去する。すなわち、図27Cに示すように、二つの中心線45と接している頂点46が二つ存在する場合、頂点46aと頂点46bに接する辺のうち、一番長い辺はともに中心線45aであるため、プロセッサ101は、中心線45aと中心線45bもしくは中心線45aと中心線45cのどちらを除去しても構わない。
また、二つの中心線45と接している頂点が三つ(頂点46c、頂点46d及び頂点46e)存在する場合には、図27Dに示すように、プロセッサ101は、一番長い辺の中心線45bと接している頂点46eに接する辺である中心線45dと中心線45eとを除去している。
なお、図27Eに示すように、閉多角形内に元図形の内枠31Bが存在した場合、迂回ルートが消滅してしまうため、除去しない。ただし、内枠31Bの大きさが小さい場合は、迂回ルートが消滅しても問題がない範囲で除去しても良い。
ここで、一番長い辺の中心線45を除去する根拠を説明する。ここでは、図28に示すような、頂点P11~P16の六つの頂点を持つ閉多角形を例に説明する。すなわち、複数の中心線45で構成される閉多角形の全ての頂点46が三つ以上の中心線45と接している場合となっている。このような閉多角形において、始点を頂点P11に固定し、終点を残りの五つ頂点P12~P16の位置に変えたパターンとして、パターン1乃至パターン5の五つのパターンについて説明する。
図29A乃至図29Cは、終点を頂点P12としたパターン1を示している。ここで、図29Aは、中心線除去前の最短経路を示し、図29Bは、一番長い中心線45を除去した場合の最短経路を示し、図29Cは、一番長い中心線以外の中心線45を除去した場合の最短経路を示している。
図30A乃至図30Cは、終点を頂点P13としたパターン2を示している。ここで、図30Aは、中心線除去前の最短経路を示し、図30Bは、一番長い中心線45を除去した場合の最短経路を示し、図30Cは、一番長い中心線以外の中心線45を除去した場合の最短経路を示している。
図31A乃至図31Cは、終点を頂点P14としたパターン3を示している。ここで、図31Aは、中心線除去前の最短経路を示し、図31Bは、一番長い中心線45を除去した場合の最短経路を示し、図31Cは、一番長い中心線以外の中心線45を除去した場合の最短経路を示している。
図32A乃至図32Cは、終点を頂点P15としたパターン4を示している。ここで、図32Aは、中心線除去前の最短経路を示し、図32Bは、一番長い中心線45を除去した場合の最短経路を示し、図39Cは、一番長い中心線以外の中心線45を除去した場合の最短経路を示している。
図33A乃至図33Cは、終点を頂点P16としたパターン5を示している。ここで、図33Aは、中心線除去前の最短経路を示し、図33Bは、一番長い中心線45を除去した場合の最短経路を示し、図33Cは、一番長い中心線以外の中心線45を除去した場合の最短経路を示している。
これらの図から、パターン1、4及び5では、一番長い経路を除去しても、最短経路の距離に差は生じないが、パターン2及び3は明らかに、一番長い経路を除去した方が最短経路の距離が短いことがわかる。ちなみに、除去する中心線45の両端を始点と終点にした場合は、中心線45の長さに関わらず、最短経路は必ず長くなるため、そのケースはここでは考慮しない。
図34は、このような閉多角形となる中心線の除去判断に基いて不要中心線の除去を行った結果を示す図である。同図において、一点鎖線の円で囲って示す部分における細い実線で示す中心線45が、この処理によって除去されることになる。
二つ目の除去判断手法は、頂点に対して接しているのが一つ中心線のみである場合における中心線の除去判断に関する。
図35Aに示すように、プロセッサ101は、頂点P21に対し、一つの中心線45fしか接していない場合、その中心線45fを除去候補とする。ここで、除去候補の中心線は、破線により図示する。
この時、プロセッサ101は、除去候補の中心線45fと接続している中心線45g及び45hの他方の頂点P22及びP23から、元の頂点P21が、外枠31Aまたは内枠31Bに視界を遮られないか否か、つまり、見通しが良く、その地点への経路に重要性が少ないか否かを判断する。図35Aに矢印で示すように、頂点P22及びP23から頂点P21が外枠31Aまたは内枠31Bに視界を遮られない場合には、プロセッサ101は、その頂点P21に接している除去候補である中心線45fを除去する。
逆に、図35Bに矢印で示すように、頂点P22及びP23のいずれか、この例では頂点P23から頂点P21が外枠31Aまたは内枠31Bに視界を遮られる場合には、プロセッサ101は、その頂点P21に接している除去候補である中心線45fを除去しない。すなわち、見通しが悪い頂点に繋がる中心線は残すことが望ましいため、つまり、その地点への経路に意味があるため、除去しない。
図36は、このような頂点に対して接しているのが一つ中心線のみである場合における中心線の除去判断に基いて不要中心線の除去を行った結果を示す図である。同図において、二点鎖線の円で囲って示す部分に行き止まりの中心線45が存在し、この処理によって、同図に細い実線で示す行き止まりの中心線45は除去され、太い実線で示す行き止まりの中心線45は除去されないことになる。
三つ目の除去判断手法は、中心線の回転に基づく中心線の除去判断に関する。
プロセッサ101は、図19に示したような、回転した結果、外枠31Aまたは内枠31Bと交差する中心線は、除去しないようにする。
プロセッサ101は、このようにして不要な中心線を除去した結果を、中心線補正後の中心線として、補正後中心線データ記憶部1038に格納する。
そして、プロセッサ101は、ステップS3のグループ毎補正処理を終了する。
このように、プロセッサ101は、中心線補正部13として機能する。
図37は、上記ステップS4における再結合処理の詳細の一例を示すフローチャートである。この再結合処理において、プロセッサ101は、ステップS1にて分割した中心線を再結合する。
まず、プロセッサ101は、ステップS3にて補正後中心線データ記憶部1038に格納した中心線補正後の中心線を読み出して、ステップS1で分割情報記憶部1033に格納した情報であるグループ毎の基準線と回転角度とに従って、図38に示すように、グループ毎に中心線を、基準線GRの中心点37を中心として逆回転させる(ステップS401)。なお、個々の中心線を図示すると見にくいため、図38では、中心線の代わりに、グループを用いて、この逆回転を表している。
その後、プロセッサ101は、図38に示すように、ステップS401の結果と、ステップS1で補正対象外中心線データ記憶部1034に格納した補正対象外の中心線をマージし、その結果を中心線補正データとして、中心線補正データ記憶部1039に格納する(ステップS402)。なお、図38では、個々の中心線のマージを示す代わりに、グループの領域34a、34b及び34cとグループ外領域38とがマージされて元の図形31となるように表している。
そして、プロセッサ101は、ステップS4の再結合処理を終了する。
図39は、こうして補正後中心線データ記憶部1038に格納された中心線補正後の中心線と形状情報との関係の一例を示す模式図である。
以上に説明した一実施形態に係る中心線補正装置10によれば、プロセッサ101が、上記ステップS1乃至ステップS4の処理を実施することで、空間ネットワークデータの元となる中心線の前提「入力する屋内空間の形状の外枠及び内枠と交差せず、かつ、その形状の任意の内部の位置から直線でつなげることができ、途切れのない状態」を崩さずに、中心線の偏りを排除し、適正な位置に補正することができる。すなわち、簡素化補正によって偏りを生じた中心線の傾きを水平及び垂直に補正し、元形状の境界との距離が中心となるよう移動させるとともに不要な中心線を削除することで、出力する中心線の頂点数及びデータ数を極力増やさず、経路の中心を通る単純で自然な中心線に補正することを可能とするようにした技術を提供することができる。
よって、ネットワークデータ生成装置20は、この中心線補正装置10の中心線補正データ記憶部1039に格納された中心線補正データに基づいて、実際の経路を正しく反映するネットワークデータを生成することが可能となる。
[他の実施形態]
前記一実施形態では、屋内空間の形状情報を基に作成された中心線を補正する場合を説明したが、屋外空間の道路形状情報などを基に作成された中心線を補正する場合も、同様にして実施することができる。すなわち、屋内及び屋外を問わずに、空間ネットワークデータを生成する場合に好適な中心線の補正を実施することができる。
また、各実施形態に記載した手法は、計算機(コンピュータ)に実行させることができるプログラム(ソフトウェア手段)として、例えば磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD-ROM、DVD、MO等)、半導体メモリ(ROM、RAM、フラッシュメモリ等)等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、計算機に実行させるソフトウェア手段(実行プログラムのみならずテーブル、データ構造も含む)を計算機内に構成させる設定プログラムをも含む。本装置を実現する計算機は、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウェア手段を構築し、このソフトウェア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、計算機内部あるいはネットワークを介して接続される機器に設けられた磁気ディスク、半導体メモリ等の記憶媒体を含むものである。
要するに、この発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組合せて実施してもよく、その場合組合せた効果が得られる。さらに、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組合せにより種々の発明が抽出され得る。
10…中心線補正装置
11…直線抽出部
12…領域生成部
13…中心線補正部
20…ネットワークデータ生成装置
30…中心線生成元データ記憶装置
31…図形
31A…外枠
31B…内枠
33,46,46a~46e,441,442,461、462,P11~P16,P21~P23…頂点
34,34a、34b,34b’,34c,34c’,34d~34n…領域
35…外接矩形
36,321~326,361~367…直線
37,43…中心点
38…グループ外領域
40…中心線データ記憶装置
41,42,45,45a~45g,421,422,451~453…中心線
47’,471,473’…位置
101…プロセッサ
102…プログラムメモリ
103…データメモリ
104…通信インタフェース
105…入出力インタフェース
106…バス
107…入力部
108…表示部
1031…中心線生成元データ記憶部
1032…中心線データ記憶部
1033…分割情報記憶部
1034…補正対象外中心線データ記憶部
1035…分割後中心線生成元データ記憶部
1036…分割後中心線データ記憶部
1037…中心線間接続状態記憶部
1038…補正後中心線データ記憶部
1039…中心線補正データ記憶部
311…図形
GR…基準線

Claims (8)

  1. 屋内空間の形状情報または屋外空間の道路形状情報から取得され、前記屋内空間または前記屋外空間における移動可能領域である、経路の中心線を補正する中心線補正装置であって、
    前記中心線のそれぞれの辺の中心点を抽出する中心点抽出処理と、
    抽出された前記中心点に基づいて、元形状の境界との距離が中心となるよう前記中心線を移動させる中心線補正処理と、
    移動させた前記中心線のそれぞれの辺で構成される閉多角形の頂点と、該頂点に接する前記辺の数と長さにより、前記中心線の要不要を判断し、不要な中心線を削除する不要中心線削除処理と、
    を実行する中心線補正部、
    を備える中心線補正装置。
  2. 屋内空間の形状情報または屋外空間の道路形状情報から取得され、前記屋内空間または前記屋外空間における移動可能領域である、経路の中心線を補正する中心線補正装置であって、
    前記中心線のそれぞれの辺の中心点を抽出する中心点抽出処理と、
    抽出された前記中心点に基づいて、元形状の境界との距離が中心となるよう前記中心線を移動させる中心線補正処理と、
    移動させた前記中心線のうち不要なものを削除する不要中心線削除処理と、
    を実行する中心線補正部、を備え、
    前記中心線補正部は、
    前記中心線のそれぞれの辺を前記中心点を中心として回転させる回転処理と、
    回転させた前記中心線を平行移動させる移動処理と、
    行う中心線補正装置。
  3. 屋内空間の形状情報または屋外空間の道路形状情報から取得され、前記屋内空間または前記屋外空間における移動可能領域である、経路の中心線を補正する中心線補正装置であって、
    前記中心線のそれぞれの辺の中心点を抽出する中心点抽出処理と、
    抽出された前記中心点に基づいて、元形状の境界との距離が中心となるよう前記中心線を移動させる中心線補正処理と、
    移動させた前記中心線のうち不要なものを削除する不要中心線削除処理と、
    を実行する中心線補正部と、
    前記経路の外枠形状を分割し、前記外枠形状の直線部を長さ順に抽出する直線抽出部と、
    抽出した前記直線部と基準線のなす角を基に前記直線部のそれぞれをグループ化し、各グループに含まれる複数の前記直線部からグループ毎の領域を生成する領域生成部と、
    を備え、
    前記中心線補正部は、前記領域毎に前記中心線補正処理を実行する、中心線補正装置。
  4. 前記中心線補正部は、
    前記領域の面積が閾値以下の場合は、前記中心線補正処理の補正対象から除外する除外処理と、
    異なる前記領域同士が重なっている場合は、大きい領域に含まれる図形から小さい領域を取り除き、さらに前記領域の分割を実施する重複分割処理を実行して、
    前記中心線補正処理を行う、請求項3に記載の中心線補正装置。
  5. 前記中心線補正部は、
    前記大きい領域の外接矩形に沿って、前記基準線と平行な直線を前記外接矩形の一端からもう一端まで平行移動し、分割される領域に大きな変化が発生する箇所で、前記大きい領域の分割を実行する分割処理を行う、請求項4に記載の中心線補正装置。
  6. 屋内空間の形状情報や屋外空間の道路形状情報から取得され、前記屋内空間または前記屋外空間における移動可能領域である、経路の中心線を補正する中心線補正装置における中心線補正方法であって、
    前記中心線のそれぞれの辺の中心点を抽出し、
    抽出された前記中心点に基づいて、元形状の境界との距離が中心となるよう前記中心線を移動させ、
    移動させた前記中心線のそれぞれの辺で構成される閉多角形の頂点と、該頂点に接する前記辺の数と長さにより、前記中心線の要不要を判断し、不要な中心線を削除すること、
    を備える中心線補正方法。
  7. 請求項1乃至5のいずれかに記載の中心線補正装置と、
    前記中心線補正装置によって補正された中心線に基づいて、前記経路の情報である空間ネットワークデータを生成するネットワークデータ生成装置と、
    を備える、ネットワークデータ生成システム。
  8. 請求項1乃至5のいずれかに記載の中心線補正装置の前記各部としてプロセッサを機能させる中心線補正処理プログラム。
JP2021555626A 2019-11-11 2019-11-11 中心線補正装置、中心線補正方法、空間ネットワークデータ生成システム及びプログラム Active JP7380704B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/044078 WO2021095086A1 (ja) 2019-11-11 2019-11-11 中心線補正装置、中心線補正方法、空間ネットワークデータ生成システム及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2021095086A1 JPWO2021095086A1 (ja) 2021-05-20
JP7380704B2 true JP7380704B2 (ja) 2023-11-15

Family

ID=75911887

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021555626A Active JP7380704B2 (ja) 2019-11-11 2019-11-11 中心線補正装置、中心線補正方法、空間ネットワークデータ生成システム及びプログラム

Country Status (3)

Country Link
US (1) US20220382928A1 (ja)
JP (1) JP7380704B2 (ja)
WO (1) WO2021095086A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114119904B (zh) * 2021-12-03 2022-10-04 苏州工业园区测绘地理信息有限公司 室内路网构建方法、装置和存储介质
CN114864750A (zh) * 2022-05-17 2022-08-05 通威太阳能(合肥)有限公司 电池片切片方法、电池片切片系统、存储介质及计算机

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000043953A1 (fr) 1999-01-25 2000-07-27 Kabushiki Kaisya Zenrin Dispositif et procede de creation et d'utilisation de donnees sur une carte routiere exprimees par des polygones
JP2009230518A (ja) 2008-03-24 2009-10-08 Hitachi Software Eng Co Ltd 道路地図データ作成システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000043953A1 (fr) 1999-01-25 2000-07-27 Kabushiki Kaisya Zenrin Dispositif et procede de creation et d'utilisation de donnees sur une carte routiere exprimees par des polygones
JP2009230518A (ja) 2008-03-24 2009-10-08 Hitachi Software Eng Co Ltd 道路地図データ作成システム

Also Published As

Publication number Publication date
JPWO2021095086A1 (ja) 2021-05-20
US20220382928A1 (en) 2022-12-01
WO2021095086A1 (ja) 2021-05-20

Similar Documents

Publication Publication Date Title
Ochmann et al. Automatic reconstruction of fully volumetric 3D building models from oriented point clouds
US11043026B1 (en) Systems and methods for processing 2D/3D data for structures of interest in a scene and wireframes generated therefrom
JP4905210B2 (ja) 三次元内部空間モデル生成方法、装置及びプログラム
CN106683167B (zh) 复杂建筑物高精度模型自动建模方法
US8994726B1 (en) Systems and methods for preparing a model of an environment for display
US20160217225A1 (en) Classifying, separating and displaying individual stories of a three-dimensional model of a multi-story structure based on captured image data of the multi-story structure
CN110033513A (zh) 生成表示建筑的3d模型
CN110060255A (zh) 利用逐像素分类器来对2d平面图进行语义分割
JP7380704B2 (ja) 中心線補正装置、中心線補正方法、空間ネットワークデータ生成システム及びプログラム
US20060106815A1 (en) Method of generating a computer readable model
CN103136790A (zh) 从多个3d曲线创建表面
JP2008083112A (ja) ネットワークデータ生成装置、ネットワークデータ生成プログラム、携帯端末及びデータ構造
JP2014018413A (ja) モデル作成プログラム、モデル作成方法、およびモデル作成装置
CN111080786A (zh) 基于bim的室内地图模型构建方法及装置
CN111859488A (zh) 支撑结构生成方法、装置、电子设备以及存储介质
US11205024B2 (en) Techniques for measuring productive congestion within an architectural space
CN107886574B (zh) 一种基于粒子系统的全局雨效仿真方法
US8723863B2 (en) Data processing system with construction geometry
JP2014145721A (ja) ネットワークデータ生成システム、方法、及びプログラム
JP2002092658A (ja) 3次元デジタル地図作成装置及び3次元デジタル地図作成のプログラムを記憶した記憶媒体
US8983802B2 (en) Notch re-blend in an object model
Zhang et al. A geometry and texture coupled flexible generalization of urban building models
CN115779424A (zh) 一种导航网格寻路方法、装置、设备及介质
CN109461198A (zh) 网格模型的处理方法及装置
JP2019139097A (ja) ネットワークデータ生成装置、ネットワークデータ生成方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220302

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20230104

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20230208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230523

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230721

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231003

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231016

R150 Certificate of patent or registration of utility model

Ref document number: 7380704

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150