JP2006293809A - 図形データ処理装置 - Google Patents

図形データ処理装置 Download PDF

Info

Publication number
JP2006293809A
JP2006293809A JP2005115508A JP2005115508A JP2006293809A JP 2006293809 A JP2006293809 A JP 2006293809A JP 2005115508 A JP2005115508 A JP 2005115508A JP 2005115508 A JP2005115508 A JP 2005115508A JP 2006293809 A JP2006293809 A JP 2006293809A
Authority
JP
Japan
Prior art keywords
graphic data
line
polygon
data processing
graphic
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.)
Pending
Application number
JP2005115508A
Other languages
English (en)
Inventor
Yuji Ushio
裕次 牛尾
Koji Yamashita
浩司 山下
Satoru Suzuki
哲 鈴木
Noboru Shimokawa
昇 下川
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.)
SKS KK
Zenrin Co Ltd
Original Assignee
SKS KK
Zenrin Co Ltd
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 SKS KK, Zenrin Co Ltd filed Critical SKS KK
Priority to JP2005115508A priority Critical patent/JP2006293809A/ja
Publication of JP2006293809A publication Critical patent/JP2006293809A/ja
Pending legal-status Critical Current

Links

Abstract

【課題】 地図データにおいて複数の線分で囲まれた閉領域に対応するポリゴンを効率的に特定する。
【解決手段】 道路を表す線分L1〜L5等を含む地図データを読み込む。ユーザが表示された地図上で指定点PPを指定すると、この指定点PPの周囲に存在する線分L1〜L4で取り囲まれる領域に対応するポリゴンを以下の手順で生成する。まず、指定点PPを中心として放射状線分RL1〜RL10を描き、各線分RL1〜RL10と指定点PPに近い場所で交差する線分L1〜L4を地図データから抽出する。そして、抽出された線分同士の交点を求めることにより、指定点PPを取り囲むポリゴンを生成する。こうすることにより、ポリゴンの構成線分を効率的に指定することができ、ポリゴンの生成の効率化を図ることができる。
【選択図】 図4

Description

本発明は、複数の線を表すデータを含む図形データから、閉図形を構成すべき線を特定する処理に関する。
地図データを用いて、コンピュータ等で地図を表示するシステムが普及している。地図データは、建造物その他の地物や道路などを線分、折れ線、ポリゴンなどで描画するためのデータを含んでいる。線分、折れ線、ポリゴン等は、通過点や頂点を緯度経度等の座標値で表した点列で定義されている。
地図データは、上述の座標値を用いることにより、地図表示のみならず、2点間の距離または道のりの計測や、家枠、田畑、行政界その他の閉図形で表される領域の面積の計測などにも活用される。ただし、面積を計測する場合には、必ずしも計測対象となる閉図形が単一のポリゴンで表されているとは限らない。かかる場合には、計測対象となる閉図形を構成する線分を何らかの方法で指定する必要がある。計測対象となる閉図形が多大にある場合、閉図形を構成する線分をユーザが逐一、手作業で指定するのは、非常に煩雑な作業となるため、自動化が望まれている。
特許文献1および特許文献2は、上述の線分を次の手順で自動的に指定する技術を開示する。まず、表示された地図上で、ユーザは、計測対象となる閉図形内の任意の代表点をマウス等で指定する。コンピュータは、この代表点から予め指定された方向に線分を描画し、この線分と最初に交差する地図上の線分を特定する。次に、この線分に沿って着目点を順次移動させて行き、代表点から見て時計回り方向に進行可能な向きに交差する次の線分、即ち線分の左側に伸びる線分を探索する。こうして、最初の線分に戻ってくるまで、着目点を移動させながら、順次、交差する線分を探索する。
特開平11−120332号公報 特開2003−295764号公報
地図データに含まれている線分は、全てが閉図形を構成しているとは限らない。例えば、表示上は地点で接続されているように見える2本の線分の端点が、微視的には離れていることがある。従来技術では、かかる場合には閉図形を特定することができなかった。
また、地図データには、種々の地図記号が描かれている。これらの中には、斜面、盛り土など一定の記号や図形が線状に配置されているものがある。面積の計測は、必ずしも明示的に描かれた線分で特定される領域のみならず、これらの地図記号で描かれた内側など明示的に線分が特定されていない領域についても要望されることがある。従来技術では、かかる場合にも閉図形を特定することができなかった。
これらの課題は、地図データ以外にも線分で描かれた種々の図形データで同様に生じ得る。また面積の計測に限らず、閉図形内の塗りつぶし処理など、図形データに含まれる線で特定される閉図形に対する種々の処理において同様に生じうる。更に、閉図形が、線分で構成されるものに限らず、折れ線や曲線で構成される場合も同様に生じうる。本発明は、これらの課題に鑑み、図形データにおいて閉図形を構成する線を自動的に特定する際の効率、精度、柔軟性の少なくとも一部を向上させることを目的とする。
本発明は、複数の線を表すデータを含む図形データを処理する図形データ処理装置として構成することができる。図形データとしては、地図データ、CADデータ、ドローソフトで描かれた画像データなどを対象とすることができ、そこに含まれる線は、線分、折れ線、曲線のいずれでもよい。図形データ処理装置は、上述の図形データを入力し、図形データ上の任意の指定点の指定を受け付ける。指定点の指定は、例えば、図形データに基づいて表示された画像上の一点を、マウスその他のポインティングデバイスで指定する方法や、座標値入力など種々の方法を採ることができる。
図形データ処理装置は、こうして指定された指定点を中心として放射状に延びる複数の放射状線分を表すデータを生成する。そして、図形データで表される線のうち、放射状線分のそれぞれに対し中心に最も近い位置で交差する線を抽出し、指定された指定点を取り囲む閉図形を構成すべき線群(以下、「閉図形の構成線群」または単に「構成線群」と称する)として特定する。こうすることにより、線の端点同士が微視的にずれている場合でも、指定点を取り囲む閉図形の構成線群を効率的に抽出することができる。
図形データ処理装置は、更に後処理として、構成線群に含まれる線同士の交点を頂点とするポリゴンを生成するようにしてもよい。こうすれば、ポリゴン内の面積の計測やポリゴン内の塗りつぶしなど、図形データに対する多様な処理を円滑に行うことができる。隣接する線の端点が離れている場合には、交点は、これらの線同士を相互に延長して求めることができる。
交点を求める対象となる線は、例えば、隣接する放射状線分と交差している線とすることができる。こうすることにより、閉形状の対向する二辺の交点を求めるというような不適切な処理が生じる可能性を抑制でき、複雑な形状の閉形状であっても適切に認識可能となる。
ポリゴンは、交点を求める方法に限らず、例えば、線の端点同士を結んで定義するようにしてもよい。また、隣接する線同士が一点で接続している場合、または交差している場合には、その接続点または交点をポリゴンの頂点とし、離れている場合には線の端点を頂点としてもよい。もちろん、図形データ処理装置は、ポリゴンを生成することなく、単に構成線群として関連づけて管理するだけであっても良い。
放射状線分は、所定の条件に基づき、長さおよび間隔の少なくとも一方を可変とすることが好ましい。放射状線分の長さおよび間隔(以下、これらの変数を「放射状態パラメータ」と称する)は、閉形状の構成線分の抽出精度に影響を与えるため、これらを可変とすることにより、抽出精度を向上させることができる。放射状態パラメータは、放射状線分の全てについて均等に変化させるようにしてもよいし、不均等に変化させるようにしてもよい。放射状態パラメータは、ユーザが指定するようにしてもよいし、自動的に変化するようにしてもよい。
後者の態様としては、抽出精度が向上する方向、即ち長さを増大し、間隔を狭める方向に予め決められた態様で段階的に変化させる方法を採ることができる。例えば、閉図形の構成線群の抽出結果に対して、従前の長さを一定比率または所定長さだけ増大させ、間隔を一定比率または所定角度だけ狭めるようにする方法を採ることができる。放射状パラメータの自動変化は、ユーザによる再試行指示をトリガとして行うようにしてもよいし、抽出された線同士の交点が得られないとか、指定点から極端に離れた点となるなど、処理上の不適切な結果が得られたことをトリガとして行うようにしてもよい。
図形データ処理装置は、複数の線分群同士または閉図形をグループ化して管理可能としてもよい。こうすることで、グループ化された複数の閉図形の合計面積を計測する処理、複数の閉図形を同じパターンで塗りつぶす処理など、複数の閉図形にわたって施すべき処理が比較的容易に実現可能となる。グループ化すべき閉図形は、ユーザが逐一指定するようにしてもよいし、「隣接する閉図形同士をグループ化する」などのように所定の条件に従って自動的に特定するようにしてもよい。
図形データには、任意の補助線を表すデータを追加可能としてもよい。この場合には、追加された補助線を含めて構成線群の抽出を行うことが望ましい。こうすることにより、ユーザが図形を分割して任意に設定した閉図形に対する構成線群を抽出することが可能となり、処理の柔軟性を向上させることができる。
補助線追加が有効に作用する例を示す。閉図形には、全ての対角線が辺と交差しない形状(「凸形状」と称する)とそうでない形状(「凹形状」と称する)とがある。凸形状でない閉図形(すなわち凹図形)では、指定点の位置によっては、放射状線分が閉図形の一部の構成線と交わらなくなる場合が生じ得るため、全構成線を抽出できなくなるおそれがある。かかる場合には、補助線を追加可能とすることにより、ユーザは処理対象となる閉図形を任意の凸形状、または全構成線を抽出可能な凹形状に分割することができ、分割後の形状ごとに構成線群を抽出することができる。従って、一組の放射状線分では全構成線を抽出不能な凹形状についても、面積の計測、塗りつぶしなどの処理を効率的に行うことが可能となる。
これらの処理を更に効率的に実行可能とするため、生成された複数の形状をグループ化の対象としてもよい。この場合には、ユーザが分割後の各形状を指定するようにしてもよいし、補助線に隣接する形状同士を自動的にグループ化するようにしてもよい。
図形データには、線状に配置された記号または図形を含む場合がある。例えば、地図データにおいては盛り土など線状に分布する領域を表す地図記号が該当する。他の画像データではハッチングなどが該当する。図形データ処理装置は、これらの記号または図形の位置に基づいて、記号または図形に沿う配置線を設定し、この配置線を含めて閉図形の構成線群を抽出可能としてもよい。こうすることにより、特定される閉図形の対象を選択する柔軟性が向上する。
配置線の設定には、種々の方法を用いることができる。例えば、線状に配置されている各記号または図形ごとに代表点を予め定義しておき、この代表点を結ぶ折れ線または曲線として配置線を設定する方法を採ることができる。
図形データは複数のレイヤから構成されることがある。この図形データに含まれる複数の線は、それぞれいずれかのレイヤに対応づけられている。線とレイヤの対応付けは、例えば、線種や線の意味などに基づいて決めることができる。図形データがかかるデータ構造を採る場合には、図形データ処理装置は、レイヤの指定を受け付け可能とし、指定されたレイヤに含まれる複数の線を対象として閉図形の構成線群の抽出を行うようにしてもよい。こうすることにより、レイヤ単位で処理対象となる線を取捨選択することができ、ユーザが所望する閉図形をより効率的に特定可能となる。
先に説明した通り、本発明は、種々の図形データを対象とすることができ、特に地図データに対する有用性が高い。第1に、地図データを活用する態様として、多種多様な閉図形を対象とする面積計測や塗りつぶしなどの要望が多いからである。地図データにおいてこれらの処理を施す対象となる閉図形は、例えば、家枠などの地物、区字や市町村などの行政界のように、重畳的に存在する場合がある。また、周囲が盛り土となっている土地については、盛り土の内側の実質的に利用可能な領域が面積計測の対象となることもあれば、盛り土の外側まで含む所有地が面積計測の対象となることもある。このように地図データにおいては、面積計測等の対象となる閉図形の定義は多様である。
第2に、地図データは、幾何学的な図形で構成されるものではなく、航空写真や測量結果などに基づいてオペレータが手作業で入力等して生成するものであるため、閉図形と見える箇所でも微視的には構成線同士が離れていることが生じやすい。これらの理由に基づき、本発明は地図データを用いた処理に適しており、地図データを対象とすることによって、実用上要望される種々の処理の効率化を図ることが可能となる。
本発明は、上述した種々の特徴を必ずしも全て備えている必要はなく、一部を省略したり、適宜一部を組み合わせたりして構成してもよい。また、本発明は、図形データ処理装置としての態様の他、コンピュータによって上述の図形データ処理を実現する図形データ処理方法として構成してもよい。更に、かかる処理を実現するためのコンピュータプログラムや、このコンピュータプログラムを記録した記録媒体として構成してもよい。ここで、記録媒体としては、フレキシブルディスクやCD−ROM、光磁気ディスク、ICカード、ROMカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置(RAMやROMなどのメモリ)および外部記憶装置等、コンピュータが読取り可能な種々の媒体を利用できる。
本発明の実施例について、地図データ処理装置を例にとって、以下の順序で説明する。
A.機能概要:
B.装置構成:
C.ポリゴン生成処理の原理:
D.処理内容:
D1.パラメータ設定処理:
D2.レイヤ選択処理:
D3.補助線登録処理:
D4.線分変換処理:
D5.ポリゴン生成処理:
E.変形例:
E1.ポリゴン形状設定方法の変形例:
E2.ポリゴン生成処理の変形例:
A.機能概要:
図1は実施例としての地図データ処理装置の機能概要を示す説明図である。本実施例の地図データ処理装置は、予め用意された地図データに基づき、コンピュータのディスプレイ等の表示装置に地図を表示する。図1では、この地図表示例を示した。図示する通り、地図には、道路等を表す種々の線分、折れ線、曲線(以下、これらを総称して「線分」と称する)や、地図記号が表示されている。
ユーザがこの地図中の一点、例えば点Pをマウス等のポインティングデバイスで指定する(ユーザから指定される点を、以下、「指定点」と称する)。地図データ処理装置は、指定点Pを取り囲む線分を地図上から抽出し、これらの線分同士の交点を求めることにより、指定点Pを囲むポリゴンA1を求める。そして、このポリゴンA1の面積を計測し、ポリゴン形状のデータとともに、データベースに格納する。
地図データ処理装置の主機能は、上述の通りであるが、ポリゴンを生成する対象となる領域は、必ずしも図中のポリゴンA1のように単一種類の線分で明示的に囲まれた領域とは限らない。例えば、図中の右方に示した領域A2、A3を考える。領域A3は周囲を道路に囲まれた領域である。この中には、斜面を表す地図記号M1が記載されている。領域A2は、斜面でない部分、即ち領域A3の中で実用可能な部分を表している。かかる場合、土地の所有範囲が問題となる時には、領域A3の面積を計測する必要が生じる。一方、土地の利用可能な面積が問題となる時には、領域A2の面積を計測する必要が生じる。領域A2の一部は、地図記号M1で表されるため、全周を明示的に区画する線分は地図上には存在していない。地図データ処理装置は、かかる場合には、地図記号M1に基づき、領域A2を区画する線分(以下、「配置線」と称する)を生成することで、領域A2を表すポリゴンを設定することができる。
地図データ処理装置は、上述の機能を実現する際の種々の条件を設定する設定機能も有している。これらの諸機能については、具体的な処理内容と共に、順次説明する。
B.装置構成:
図2は地図データ処理装置の構成を示す説明図である。本実施例では、地図データ処理装置10は、汎用のパーソナルコンピュータに地図データ処理用のコンピュータプログラムをインストールすることで実現した。図中に、地図データ処理装置10の機能を実現するための機能ブロックを併せて示した。本実施例では、上述の通り、各機能ブロックは、パーソナルコンピュータのCPUがコンピュータプログラムを実行することによってソフトウェア的に構成される。もっとも、これらの機能ブロックの少なくとも一部をハードウェア的に構成しても構わない。また、パーソナルコンピュータを用いることなく、専用の装置として構成してもよい。
各機能ブロックは、主制御部20の制御下で、以下に示すそれぞれの機能を実現する。各機能ブロックの処理過程で得られる中間的な処理データは、主制御部20がパーソナルコンピュータ内に設けられたメモリ領域に、中間データ46として格納し、管理している。
コマンド入力部22は、マウスやキーボードなどのデバイスを通じて、ユーザから指定されるコマンドを入力し、主制御部20に受け渡す。地図データ処理装置で入力されるべきコマンドの内容は、処理内容と共に後述する。
表示制御部26は地図データ処理装置10のディスプレイその他の表示装置の表示内容を制御する。表示される画面としては、コマンドを入力するための入力用のウィンドウ、地図および生成されたポリゴンを表示するためのウィンドウなどが挙げられる。表示画面の具体例は、後で示す。
ポリゴン生成部30は、図1で説明した主機能、即ち地図データに基づいて指定点を取り囲むポリゴンを生成する機能を奏する。生成されたポリゴンデータは、ポリゴン管理部42によって管理される。本実施例では、ポリゴン管理部42は、パーソナルコンピュータに内蔵されたハードディスク内に、図示する形式でポリゴンデータを格納、管理するものとした。ポリゴンデータの格納先としては、パーソナルコンピュータにローカルまたはネットワーク経由で接続されたハードディスク、サーバなどを用いてもよいし、光磁気ディスクその他の記録媒体を用いるようにしてもよい。
ポリゴンデータには、それぞれのポリゴンに一義的に付与されるポリゴン番号(図中の「PolNo.」)、およびポリゴン同士を関連づけるグループ番号(図中の「GrNo.」)が付与される。グループ番号を付与することにより、同一グループのポリゴンの総面積を計測する処理など、グループ単位での処理を効率的に施すことが可能となる。図中の例では、ポリゴン番号1,3の2つのポリゴンが同一の「グループ1」として扱われることになる。グループ番号は、省略することも可能である。例えば、グループ化すべきポリゴンが相互に隣接するポリゴンに限られる場合には、グループ化に代えて、これらのポリゴンを結合したポリゴンを新たに生成し、管理するようにしてもよい。こうすることにより、ポリゴン管理部42にグループ番号を保持する必要がなくなり、データ構造の簡素化、およびデータ量の低減を図ることが可能となる。
ポリゴン形状としては、それぞれのポリゴンを形成する各頂点の緯度経度からなる2次元座標が記録される。図中の例では、例えば、ポリゴン番号1に対しては、(Lat11,Lon11)、(Lat12,Lon12)などの点列が記録されている。座標は緯度経度に限らず、X軸Y軸からなる直交座標など種々の座標系を用いて定義することができる。本実施例では、更に、各ポリゴンについて、面積、および宅地、農地などの種別を記録するものとした。これらの情報は省略してもよい。また、ポリゴンデータには、ここに例示した以外の情報を併せて記録するようにしてもよい。
地図データ入力部24は、ポリゴン生成等の処理に用いる地図データ44を入力する。本実施例では、地図データ44は、パーソナルコンピュータ内のハードディスクに格納しておくものとした。地図データ44は、かかる態様に限らず、ローカルまたはネットワークを介して接続されたハードディスク、サーバなどから供給するようにしてもよいし、CD−ROMその他の記録媒体によって提供するようにしてもよい。
本実施例の地図データ44は、後述する通りレイヤ構造、即ち道路、地物等のデータをそれぞれ複数のレイヤに分けて管理したデータ構造をなしている。地図データ入力部24は、これらのうち処理に要求される対象レイヤのみを選択して入力する。入力すべき対象レイヤは、ユーザによる設定値が、処理パラメータ管理部40に保持されている。
線分変換部32は、斜面などの地図記号(図1中の記号M1参照)を、ポリゴン生成処理に適した線分に変換する機能を奏する。変換処理に必要となる諸量は、地図記号ごとにパターンデータとして、処理パラメータ管理部40に保持されている。パターンデータの内容については、処理内容と併せて後述する。
補助線管理部34は、ポリゴン生成の前処理として指定される補助線の登録、管理を行う。地図上には、ポリゴン生成に必ずしも適さない形状が含まれることがある。補助線とは、かかる形状を、ポリゴン生成に適した形状に分割するためにユーザによって指定される線分である。指定された補助線のデータは、処理パラメータ管理部40に保持されている。
放射状線分生成部36は、ポリゴン生成の処理過程で、用いられる放射状線分を生成する機能を奏する。放射状線分とは、ユーザによって指定された指定点を中心として、予め設定された長さおよび間隔で放射状に伸びる線分群を言う。放射状線分を生成するための長さ、間隔等のパラメータ(以下、「放射状態パラメータ」と称する)は、処理パラメータ管理部40に保持されている。
図3は地図データのレイヤ構造を示す説明図である。最上方の地図Mは、全レイヤを重ねた状態を示している。レイヤL1は地図中に示されたDEF市と隣接する市との行政界が表されたレイヤである。レイヤL2は地図中の道路を表すレイヤである。レイヤL3は等高線を表すレイヤである。このように地図データは、種々のレイヤの階層構造をなしている。かかる構造を有することにより、例えば、行政界レイヤL1を非表示とすれば、行政界のみを消去した状態の地図を表示させることができる。本実施例では、レイヤの選択により、ポリゴン生成に無用な線分を処理対象外とし、ポリゴン生成処理の効率化を図っている。
図3に示したのはレイヤ構造の一例に過ぎず、地図データはこの他、種々のレイヤ構造を採ることができる。例えば、道路を更に国道、県道などの道路種別によって複数のレイヤに分けて管理するようにしてもよい。また、地図データは、必ずしも複数階層のレイヤ構造を採る必要はなく、単一のレイヤで全データを管理するようにしても構わない。
C.ポリゴン生成処理の原理:
図4はポリゴン生成処理の原理を示す説明図である。図中には、地図データに含まれる道路線分の一例を拡大して示した。図中の太い実線がそれぞれ道路の側線を表している。側線には、2つの端点を結ぶ線分(例えば、それぞれ端点N11、N12、N21、N22、N31、N32を結ぶ線分L1〜L3)もあれば、側線L4のように複数の点列N41,N42,N43,N44を経由する折れ線もある。図示してはいないが、曲線を含めても良い。以下では、説明の煩雑化を回避するため、特に断らない限り、これらの線分、折れ線、曲線を含め「線分」と総称する。
表示された地図では一点で接続されているように見える場合であっても、交差点において道路の側線間には微小な隙間が空いていることがある。図中破線で囲んだ領域A12、A23、A34に、それぞれ側線L1、L2、L3、L4の間に隙間が空いている例を示した。逆に、交差点では図中の領域A41のように、側線同士が交差していることもある。
本実施例の地図データ処理装置は、このように線分間に、隙間や交差箇所を含んでいる地図データに基づき、ユーザに指定された指定点PPを取り囲むポリゴンを次の手順で生成する。まず、地図データ処理装置は、指定点PPを中心とする放射状線分RL1〜RL10を生成する。図中では、等角度間隔で10本の線分群を生成した例を示した。放射状線分を生成する長さおよび間隔は可変である。
次に放射状線分RL1〜RL10のそれぞれと交差する線分を抽出する。交差する線分が複数存在する場合には、指定点PPに最も近いものを選択する。例えば、図の例では、放射状線分RL1については、線分L1、L5の2本が交差しており、そのうち、指定点PPに近い線分L1が選択されることになる。以下、同様にして、放射状線分RL1〜RL10のそれぞれにつき、線分L1〜L4が選択されることになる。これらの線分L1〜L4は、指定点PPを取り囲むポリゴンの周囲を構成する線分となる。この意味で、放射状線分に基づいて抽出された線分L1〜L4を、「構成線分」と称する。
地図データ処理装置は、次に構成線分間の交点を順次求める。例えば、領域A41に示すように、線分L1、L4ついては既に交差しているため、特別な処理を施すまでなく交点IS41が求まる。領域A34に示すように、交差していない線分L3、L4については、それぞれの線分を延長することで交点IS34が求まる。領域A23に示すように、一方の線分L3のみを延長することで、他方の線分L2上に交点IS23が求まる場合もある。また、領域A12に示すように、一方の線分L2を延長することで、他方の線分L1の端点N12が交点となる特殊なケースもある。
ポリゴンは、構成線分L1〜L4の端点または経由点、および交点によって定義される。領域A41、A23に示すように、交点が構成線分上にある場合には、その構成線分の端点はポリゴンの頂点から外すようにしてもよい。つまり、領域A41では、線分L4、L1の上に交点があるため、端点N44、N11をポリゴンの頂点から外すことになる。領域23では、線分L2上に交点があるため、端点N22をポリゴンの頂点から外すことになる。
D.処理内容:
図5はメインループのフローチャートである。地図データ処理装置として、図4で説明した原理に基づき、ポリゴンの生成処理を実現するために要求される種々の処理である。図2に示した主制御部20が実行する処理に相当し、ハードウェア的にはパーソナルコンピュータのCPUが実行する処理である。
メインループは、ユーザが地図データ処理装置用のプログラムを起動することで、開始される。CPUは、処理を開始すると、まずメニュー画面を表示し、メニューの選択結果を入力する(ステップS10)。次に、メニューの選択結果に応じて、図示するそれぞれの処理を実行し、再びメニューの選択処理に戻る。「終了」が選択された場合には、メインループを終了する。
メニューにおいて、「設定」が選択された場合、CPUは「パラメータ設定処理」を実行する(ステップS100)。これは、図4で示した放射状線分を生成するための長さ、間隔等のパラメータ(以下、「放射状態パラメータ」と称する)を設定する処理である。処理内容については後述する。
メニューにおいて、「階層設定」が選択された場合、CPUは「レイヤ選択処理」を実行する(ステップS200)。これは、図3で示した地図データのレイヤ構造のうち、ポリゴン生成処理で用いるべきレイヤを指定するための処理である。処理内容については後述する。
メニューにおいて、「補助線登録」が選択された場合、CPUは「補助線登録処理」を実行する(ステップS300)。これは、図2における補助線管理部34の機能に相当する処理であり、ポリゴン生成に適さない形状を、ポリゴン生成に適した形状に分割するための補助線を登録するための処理である。処理内容については後述する。
メニューにおいて、「線分変換」が選択された場合、CPUは「線分変換処理」を実行する(ステップS400)。これは、図2で示した線分変換部32の機能に相当する処理であり、斜面などの地図記号(図1中の記号M1参照)を、ポリゴン生成処理に適した線分に変換する処理である。処理内容については後述する。
メニューにおいて、「生成」が選択された場合、CPUは「ポリゴン生成処理」を実行する(ステップS500)。これは、図4で示した原理に従ってポリゴンを生成する処理である。処理内容については後述する。以下、上述の各処理について、具体的な内容を順次詳述する。
D1.パラメータ設定処理:
図6はパラメータ設定処理のフローチャートである。先に説明した通り、放射状線分(図4参照)の長さおよび間隔などを表す放射状態パラメータを設定するための処理である。
この処理では、CPUは設定画面を表示し(ステップS102)、放射状態パラメータの設定値を入力する(ステップS104)。そして、ユーザが登録を指示した場合には(ステップS106)、入力された設定値で放射状態パラメータを更新して(ステップS108)、処理を終了する。ユーザがキャンセルを指示した場合には(ステップS106)、更新処理をスキップして終了する。
図の右側に、放射状態パラメータの内容を表した。本実施例では、放射状態パラメータとして、探索半径、探索角度の2つの設定値を用いる。探索半径は、放射状線分の長さを規定するパラメータである。図中の例ExA、ExBに示すように、探索半径を小さくすると、放射状線分の長さが短くなる。ポリゴンの構成線分を求めるためには、探索半径は大きい方が好ましい。例ExBに示すように、探索半径が小さすぎると、構成線分が求まらない場合があるからである。実用上、探索半径の設定値は頻繁に調整する必要はなく、規定の探索半径で構成線分が求められなかった場合に、探索半径を大きくして再試行するという形で用いられることになる。
探索角度は、放射状線分の間隔を規定するパラメータである。図中の例ExA中に示すように、等角度間隔で描かれる放射状線分同士の角度Angが設定値となる。探索角度を大きくすると、例ExCに示すように、放射状線分の本数が減ることになる。例ExCに示すようにポリゴンの構成線分の本数に対して放射状線分の本数が過少の場合には、全構成線分を適切に抽出できないという問題が生じる。また、放射状線分が描かれる角度によっては例ExCに示すように、構成線分同士の隙間を放射状線分が突き抜けてしまうことによって、構成線分を適切に抽出できなくなる場合もある。その一方で、放射状線分の本数を増大すれば、構成線分を求めるための処理時間が増大するという問題も生じる。実用上、探索角度は頻繁に調整する必要はなく、上述したいずれかの問題がある場合に、試行錯誤的に調整するという形で用いられることになる。
放射状態パラメータは、上述した探索半径および探索角度以外にも種々の設定が可能である。探索半径および探索角度の一方を指定不能としてもよい。また、例えば、探索角度に代えて、放射状線分の本数を用いても良い。本実施例では、図の左右方向を開始線分として等角度間隔で放射状線分を描くようにしているが、開始線分の方向を放射状態パラメータで指定可能としてもよい。このパラメータを変化させることにより、例えば、図ExAの放射状線分を全体として指定点PP周りに回転させることができ、指定点PPの真右に構成線分の隙間が空いている場合でも、適切な処理を実現することが可能となる。更に、本実施例では、等角度間隔かつ等しい長さで放射状線分を描くものとしているが、放射状態パラメータとして、不均一な間隔、長さで放射状線分を描画可能な設定値を用いるようにしてもよい。
図7は放射状態パラメータの設定画面例を示す説明図である。地図データ表示装置のディスプレイ上に表示される主画面100を例示した。この主画面100において、メニューに用意された設定ボタン101を選択すると、放射状態パラメータの設定ウィンドウ102が表示される。設定ウィンドウ102には、探索半径の入力エリア103、および探索角度の入力エリア104が設けられている。入力エリア103、104の一方をクリックして選択した後、数値をキーボードから入力することで、探索半径、探索角度をそれぞれ指定可能である。登録ボタン105をクリックすれば、入力エリア103、104の入力値が登録され、閉じるボタン106をクリックすれば入力値の登録がキャンセルされる。
D2.レイヤ選択処理:
図8はレイヤ選択用の画面例を示す説明図である。主画面200において、メニューに用意された階層設定ボタン201を選択すると、レイヤ選択用の設定ウィンドウ202が表示される。設定ウィンドウには、一覧表の形で地図データのレイヤ構造が表示されている。図の例では、具体的には、左列から、階層番号、内容、線色、線幅、線種、ブラシ色、ブラシ種類、表示、透過モード、表示順、ポリゴン構成という内容になっている。「階層番号」は、各レイヤに一義的に付された番号である。「内容」とは大字界面、等高線など、各レイヤが表す内容である。「線色、線幅、線種」とは各レイヤで表示に用いられる線の表示色、幅、および実線、破線等の種別である。「ブラシ色、ブラシ種類」とは各レイヤのポリゴンの塗りつぶし色およびパターンである。
「表示」は各レイヤの表示/非表示の指定である。表示欄203のいずれかのセルをクリックし、プルダウンメニューから「表示/非表示」のいずれかを選択することによりレイヤごとに表示するか否かを指定することができる。「透過モード」とは下位層のレイヤの透過表示の可否である。「表示順」とはレイヤの描画順序である。数字が小さいほど、上位のレイヤ、即ち後で描かれるレイヤであることを表している。
「ポリゴン構成」は各レイヤに含まれる線分を、ポリゴンの構成線分の抽出対象とするか否かの指定である。ポリゴン構成欄204のいずれかのセルをクリックし、プルダウンメニューから「構成/非構成」のいずれかを選択することによりレイヤごとに構成線分の抽出対象とするか否かを指定することができる。
「表示」および「ポリゴン構成」の指定によって、ポリゴンの生成対象を柔軟に選択することができる。例えば、ポリゴン生成時に全く無用なレイヤについては、「非表示」かつ「非構成」としておけばよい。建造物のレイヤなど、指定点を指定する際に参照にはしたいが、ポリゴンの構成線分からは外したいレイヤについては、「表示」かつ「非構成」と設定すればよい。その他、ポリゴンの生成対象とすべきレイヤについては、「表示」かつ「構成」と設定すればよい。
上述の画面を利用して、各レイヤの表示、ポリゴン構成等を設定した上で、登録ボタン205をクリックすると、設定内容が対象レイヤデータとして処理パラメータ管理部40(図2参照)に登録される。閉じるボタン206をクリックすると、登録内容は更新されずにレイヤ選択処理が終了して、設定ウィンドウ202が閉じる。
D3.補助線登録処理:
図9は補助線登録処理のフローチャートである。先に説明した通り、ポリゴン生成の対象となるべき図形を、予めポリゴン生成に適した形状に分割しておくための処理である。
処理を開始すると、CPUはディスプレイに地図を表示し(ステップS302)、補助線端点の入力を受け付ける(ステップS304)。設定画面はパラメータ設定処理(図7)と同様であるため図示を省略した。補助線端点は、ユーザがマウス等で指定する。図7における設定ウィンドウ102において、補助線端点の座標を入力可能としてもよい。ユーザが設定画面上の登録ボタンをクリックして、登録を指示すると、CPUは補助線データを更新する(ステップS308)。設定画面上の閉じるボタンをクリックすると、設定内容はキャンセルされ、一旦設定した補助線が消去されると共に、再び補助線端点の入力が可能となる(ステップS304)。補助線登録処理では、CPUは、ユーザが終了を指示するまで、以上の処理を繰り返し実行する。
図の右側に、補助線の設定方法を例示した。図中に示す実線で描かれた図形Fがポリゴンの生成対象となっている場合を考える。図形Fは、凹形状、即ちいずれかの対角線が図形外を通過する形状となっている。かかる図形について、指定点PPを図中の位置に指定すると、放射状線分RL11は、領域AAに示す通り、線分L11、L12の2本と交差する。この場合、線分L11は構成線分として抽出されるが、線分L12は抽出されないため、図形Fを正確にポリゴン化することができない。指定点PPの位置を種々変化させても本来、抽出されるべき構成線分の一部は、抽出されずに残される結果となる。このように凹形状では、1回のポリゴン生成処理では、適切なポリゴンが形成できない場合が生じ得る。
補助線はかかる場合に用いることができる。図中の例では、図形Fを補助線ALで、図形F1、F2の2つに分割しておくのである。この状態で指定点PPを指定すれば、図形F1は正確にポリゴン化することができる。その後、図形F2内のいずれかの位置に指定点を再度指定することで図形F2を正確にポリゴン化することができる。補助線によって分割された2つの図形F1、F2は、同じグループ番号(図2参照)を付してグループ化しておくことにより、本来の図形Fについてポリゴンを生成したのと、同等の取扱をすることが可能となる。
先に図2で説明した通り、このように分割して処理を行った後、図形F1、F2を結合して図形Fとして再度定義して、管理するようにしてもよい。かかる態様によれば、グループ番号を省略することができる利点がある。図形F1、F2の結合は、両者の頂点の座標を比較し、両者に共通の辺を削除することで行うことができる。
図の例では、図形Fの頂点同士を結ぶ状態で補助線ALを設定した例を示した。補助線ALはこのように厳密な対角線とする必要はない。図形Fの頂点から離れていたり、図形Fの辺と交差していたりしても構わない。本実施例のポリゴン生成の原理(図4参照)によれば、構成線分同士の隙間や交差は、処理に支障を与えないからである。
D4.線分変換処理:
図10は線分変換処理のフローチャートである。斜面など線状に配置されている地図記号を、ポリゴン生成で処理可能な線分に変換する処理である。処理を開始するとCPUは、変換対象指定画面を表示し(ステップS402)、変換対象の指定を入力する(ステップS404)。この指定画面は、レイヤ選択処理の設定画面(図8参照)と同様であるため図示を省略した。線分変換処理では、レイヤに代えて、変換可能な地図記号が一覧表の形式で表示される。かかる地図記号としては、例えば、切土・盛土などの斜面、崩土などが挙げられる。変換対象指定画面では、図8中の表示/非表示と同様の方法で、一覧表の中から、変換対象とすべき記号を指定することになる。
CPUは、次に指定された地図記号について、予め処理パラメータ管理部40(図2参照)に管理されているパターンデータを読み込む(ステップS406)。図中に、切土・盛土などの斜面、および崩土について、パターンデータの例を示した。これらの記号は、それぞれ独立した線分の集合として構成されている。
パターンデータには、代表点、連結半径が含まれる。代表点とは、記号を変換した線分が通過すべき位置を表すデータである。代表点は、記号形状との相対的な関係で定義される。図中の例において、切土・盛土などの斜面については、記号を構成する各縦線分の中点を代表点に設定した。図中の線分P11,P12,P13,P14に付した塗りつぶしの丸印が代表点を表している。
連結半径とは、隣接する記号との接続可否を判定するための基準となる円領域の半径である。図中の例に、線分P11、P13について、連結半径の円を破線で示した。図から分かる通り、線分P11と線分P12の代表点の間隔は、連結半径よりも小さい。従って、これらの線分P11、P12は連続した斜面を表すものと取り扱われ、それぞれの代表点を線分で結ぶことが許容される。これに対し、線分P13、P14の代表点間の間隔は、連結半径よりも大きい。従って、斜面は、線分P13、P14の間で途切れているものと扱われ、両者の代表点間を線分で連結することは禁止される。
崩土も同様にして代表点、連結半径が設定されている。図示する通り、崩土については、山形の頂部を有する領域を一つの記号とみなし、この下部の中点に代表点を設定した。図中では、記号P21、P22、P23、P24の代表点を塗りつぶしの丸印で示した。また、記号P21、P23について連結半径に相当する円を破線で示した。これによれば、記号P21、P22は連続していると判断され、記号P23とP24の間では途切れていると判断されることになる。
図の例では、それぞれの記号について、代表点を1点のみ設定した例を示したが、代表点は複数設定してもよい。例えば、切土・盛土については、上述した中点に加えて、線分P11の上端、下端をそれぞれ代表点と設定してもよい。
CPUは、上述したパターンデータの読み込みを完了すると(ステップS406)、地図データから変換対象として指定された地図記号を抽出し、その代表点を抽出する(ステップS408)。そして、連結半径内にある代表点同士を順次連結し、線分を生成する。こうして生成された線分を配置線と呼ぶ。
図中に、切土・盛土について、配置線の設定例を示した。塗りつぶした丸印が、ステップS406で説明した代表点を表している。破線の円C1、C2、C3は、連結半径で描いた円である。この例では、切土・盛土が円C3のところで途切れることが分かる。従って、代表点同士を結ぶことによって、実線LL1、LL4という2本の配置線が求められる。図中には、切土・盛土の上端、下端を代表点として設定した場合の配置線も併せて例示した。これらの代表点を用いることにより、配置線LL2、LL3、LL5、LL6がそれぞれ求められる。
CPUは、こうして設定された結果を登録することで、配置線データを更新し(ステップS412)、処理を完了する。登録に先立って、設定された配置線をディスプレイに表示し、ユーザがそれぞれの配置線についての登録可否、または全体についての登録可否を指定するようにしてもよい。
D5.ポリゴン生成処理:
図11はポリゴン生成処理のフローチャートである。図4で説明した原理に基づいてポリゴンを生成する処理である。
処理を開始すると、CPUはレイヤ設定、放射状態パラメータを読み込む(ステップS502)。レイヤ設定は、レイヤ選択処理(図8参照)の設定結果、即ち「対象レイヤ」として管理されている設定情報である。放射状態パラメータは、パラメータ設定処理(図6、7参照)の設定結果である。
次に、CPUは、処理対象となる領域の地図を表示し、グループ番号の入力を受け付ける(ステップS504)。地図表示では、レイヤ設定に従い、表示/非表示が制御される。グループ番号は、ユーザが任意に指定可能である。既に登録されているポリゴンと同一のグループ番号を入力すれば、この登録済みのポリゴンと、以後の処理で生成されるポリゴンとがグループ化されることになる。
ユーザが地図上の一点をクリックすると、CPUはその点を指定点として入力し、放射状態パラメータに従って放射状線分を生成する(ステップS506)。そして、図4で説明した原理に基づいて構成線分を抽出し、交点を算出して、ポリゴン化を行う(ステップS508)。
ここでは、ポリゴン化の処理手順について図中の例に基づき説明する。まず、CPUは、放射状線分のいずれか一つを放射状線分[1]として選択し、それに反時計回りに隣接する線分を放射状線分[2]として選択する。図の例で、線分RL1、RL2をそれぞれ放射状線分[1][2]として選択したとする。次に、こうして選択された放射状線分[1][2]が交差する構成線分をそれぞれ特定する。上述の例では、両者共に線分L1となる。このように両者が一致する場合には、交点を求める必要はない。
次に、反時計回りに放射状線分を一つずらして同様の処理を行う。つまり、線分RL2、RL3が放射状線分[1][2]として選択される。両者が交差する構成線分は、それぞれ線分L1、L2である。このように両者が異なる場合には、その交点を求める。以下、同様に順次、放射状線分[1][2]をずらしながら、全放射状線分について処理を実行する。もちろん、ポリゴン化は、ここで説明した手順に限らず、種々の手法を適用することが可能である。放射状線分をずらす方向は、反時計回りに限らず、時計回りでも構わない。
以上の処理によってポリゴンが生成されると、CPUは生成されたポリゴンにハッチングを付して表示する(ステップS510)。ユーザが登録を指示すると(ステップS512)、CPUはポリゴンの面積を計測し、ユーザから種別の入力を受け付け(ステップS514)、これらのデータを登録してポリゴンデータを更新し(ステップS516)、処理を完了する。面積計測、および種別の入力は省略しても差し支えない。ユーザがキャンセルを指示すると(ステップS512)、CPUは生成されたポリゴンを消去し、グループ番号の入力(ステップS504)から処理を再開する。指定点の入力から処理を再開してもよい。また、ユーザの判断により、この段階で必要に応じて、放射状態パラメータの変更、補助線の追加登録などを行った上で、ポリゴン生成を再試行するようにしてもよい。
図12はグループ番号入力の画面例を示す説明図である。主画面500のメニューとして用意された自動生成ボタン501をクリックすると、グループ番号を入力するための入力ウィンドウ502が表示される(図11のステップS504に相当)。入力ウィンドウ502では、ユーザはキーボードからグループ番号を入力することができる。番号を入力した後、登録ボタン503をクリックすれば入力したグループ番号でポリゴンの自動生成が開始される(図11のステップS506以降の処理に相当)。中止ボタン504がクリックされた時は、CPUは入力ウィンドウ502を消去して処理を終了する。
主画面500では、グループ番号入力を支援するため、既に登録されているポリゴンがグループ番号と共に表示される。図中の右方向に、番号3,33,555と共にハッチングが付されて表示されている領域が、既登録のポリゴンである。この表示により、ユーザはグループ化が必要なポリゴンの番号を容易に指定することが可能となる。グループ番号をキーボードから数値で入力する方法の他、既登録されたポリゴンをクリックすることでそのポリゴンのグループ番号が入力されるようにしてもよい。また、グループ番号を入力することなく登録ボタン503をクリックした場合には、新規のグループ番号を自動的に付与するようにしてもよい。
図13はポリゴン生成処理の画面表示例を示す説明図である。主画面510においてユーザが自動生成ボタンをクリックすると、先に説明した通り、ポリゴンの生成が行われる。主画面510の右よりの位置に、放射状線分および生成されたポリゴンを表示した。
ポリゴンが生成されると、画面には、登録可否の設定ウィンドウ512が表示される(図11のステップS510およびS512に相当)。ユーザがOKボタン513をクリックすると、CPUは面積を計測して、種別入力を促した後、データの登録を行う(ステップS514以降の処理に相当)。ユーザがキャンセルボタン514をクリックすると、CPUは生成されたポリゴンを消去し、再びグループ番号の入力(図12の画面)を開始する。
以上で説明した実施例の地図データ処理装置によれば、線分間に隙間や交差がある地図データを用いた場合でも、所望する閉領域に対応するポリゴンを比較的容易に生成することができる。また、本実施例では、パラメータ設定処理、レイヤ選択処理、補助線登録処理、線分変換処理を併用することにより(図5参照)、ポリゴンの生成対象を柔軟に指定可能であるとともに、ポリゴン生成時の精度向上を図ることも可能である。もっとも、これらの処理は必ずしも全てを備えている必要はなく、パラメータ設定処理、レイヤ選択処理、補助線登録処理、線分変換処理の少なくとも一部は省略した構成を採ることも可能である。
E.変形例:
E1.ポリゴン形状設定方法の変形例:
図14はポリゴン形状設定方法の変形例を示す説明図である。実施例では、図4に示した通り、構成線分の交点に基づいてポリゴン形状を設定した。変形例では、離れている端点については、単に両者を結ぶことでポリゴン形状を設定する。交差する構成線分の場合には、実施例と同様、両者の交点を求めてポリゴン形状を設定する。
例えば、領域A23aに示すように、構成線分L2,L3の端点N22、N31が離れている場合を考える。変形例では、図中に破線で示すように2つの端点N22、N31を結ぶ。同様に、領域A34aに示す状態では、構成線分L3、L4の端点N32、N41を結ぶ。
これに対し、領域A41に示すように、構成線分L1,L4が交差している場合には、実施例と同様、両者の交点IS41をポリゴンの頂点とする。領域A12に示すように、構成線分L1、L2の交点が、一方の構成線分の端点(この例では端点N12)と一致する場合には、結果として実施例と同じ処理となる。
変形例の方法によれば、構成線分が交差していない場合には、交点を求める演算が省略可能となるため、ポリゴン生成時の処理負荷が軽減され、処理の短縮化を図ることができる利点がある。また、2本の構成線分のなす角度が小さく、両者が平行に近い状態で配置されている時には、構成線分同士の交点が端点から非常に遠くなり、いびつな形状のポリゴンが設定されるおそれがあるが、変形例の処理では、このようないびつな形状を回避することができる利点がある。
E2.ポリゴン生成処理の変形例:
図15はポリゴン生成処理の変形例のフローチャートである。実施例における図11に代わる処理である。実施例では、グループ番号の入力、放射状態パラメータの変更、補助線の追加などをユーザの判断で行う例を示したが、変形例では、これらを極力自動化した例を示す。
処理が開始されると、CPUはレイヤ設定、放射状態パラメータを読み込み、地図を表示する(ステップS550)。これらの処理については、実施例(図11)のステップS502、S504と同様である。ただし、グループ番号の入力は不要である。
次に、CPUは指定点の入力を受け付け、3通りの探索角度でポリゴン化を行う(ステップS552)。実施例(図11)のステップS508で説明したポリゴン化処理を、放射状態パラメータのうち探索角度を3通りに変化させて、3回繰り返し実行するのである。この場合の探索角度は、予めユーザが指定するようにしてもよいし、所定の規則に従って自動的に変化させるようにしてもよい。
一例として、放射状線分の本数を、「従前に試行した本数と互いに素となる」という条件下で、順次増やしていく方法が挙げられる。例えば、「放射状線分の本数=10本」から処理を開始した場合、2回目は10本と互いに素となる11本で処理を実行する。3回目は、10本および11本と互いに素となる13本で処理を実行する。こうすることにより、3回の試行で生成される放射状線分の位置が、描き初めの1本(図11中の線分RL1)を除き、重複しなくなる。従って、先に図6で説明した弊害、即ち放射状線分の過少や、位置の不適切さによる弊害を回避しやすくなる。
こうして3通りの探索角度でポリゴン化を行うと、CPUは非交差放射状線分が有るか否かを判断する(ステップS554)。非交差放射状線分とは、いずれの構成線分とも交差しない放射状線分を言う。かかる線分が存在する場合には、放射状線分の長さが短すぎることが原因と判断されるため、CPUは探索半径を増大し(ステップS556)、ポリゴン化(ステップS552)を再試行する。
非交差放射状線分が存在しない場合には(ステップS554)、3通りの探索角度で得られたポリゴン化の結果を比較する。正確にポリゴン化が行われている場合には、少なくとも2通りの結果は一致しているはずである。従って、3通りの結果が全て相違する場合には(ステップS558)、ポリゴン化が適切に行われていないものと判断し、CPUは再度ポリゴン化処理を行う(ステップS552)。ステップS558の条件を更に厳しくし、3通りのいずれか1つでも結果が不一致の場合には、ポリゴン化処理を再試行するようにしてもよい。
再試行時の探索角度は、当初の処理と異なる値を採るようにすることが好ましい。先に説明した「互いに素となる条件」で放射状線分の本数を増大させる場合には、ステップS558の判断前に実行された本数も含めて、「互いに素となる本数」を設定することが好ましい。
結果が一致する場合には(ステップS558)、CPUは適正処理条件の成否をチェックする(ステップS560)。適正処理条件とは、補助線による分割要否を判断するための条件である。この条件について、図中の例に沿って説明する。
図示する凹形状F11について、指定点PPを指定して、ポリゴン生成処理を実行した場合を考える。ポリゴン生成時には、図示する通り、指定点PPから放射状線分が描かれ、構成線分として線分L21、L22が抽出される。ただし、図の例では、放射状線分の一部の線分RL21、RL22のみを示し、他の放射状線分は図示を省略した。図中に破線で示す部分については構成線分から欠落することになる。この状態でポリゴン化処理を行うと、線分L21を延長した線分L23と、線分L22との交点Na4がポリゴンの頂点として認識されることになる。
変形例では、交点を求める対象となった構成線分同士の端点間の最小距離が所定の閾値Thを超えないことを適正処理条件として用いる。図の例では、線分L21の端点Na1と、線分L22の端点Na2のうち近い側との距離Leと閾値Thとの比較によって適正処理条件の適否がチェックされる。距離Leが閾値Th以上となる場合には、凹形状に対して、構成線分が欠落しているにも関わらずポリゴン化処理を行った異常処理結果と判断される。この処理で用いる地図データは、線分間に非常に微小な隙間が空いているに過ぎず、正常に処理が行われている時には端点間の距離は微小な値となるはずだからである。
適正処理条件の判断に用いる閾値Thは任意に設定可能である。例えば、上述の観点から地図データに存在する線分間の隙間の最大値に基づき設定することができる。
CPUは適正処理条件の成否チェックの結果、異常が発見された場合には(ステップS562)、補助線の追加が必要と判断し、補助線登録処理を実行する(ステップS564)。この処理は、実施例で説明した処理(図9参照)を適用することができる。
異常が発見されなかった場合には(ステップS562)、生成されたポリゴンにグループ番号を付与し(ステップS566)、面積計測等を行ってポリゴンデータを更新する(ステップS568)。グループ番号の付与方法は、生成されたポリゴンに補助線が含まれるか否かによって使い分ける。補助線が含まれていない場合には、新規に生成されたポリゴンであることを意味するから、従前に登録されたグループ番号と異なる新規の番号を付与する。補助線が含まれている場合には、グループ化すべき他のポリゴンが存在することを意味するから、補助線に隣接するポリゴンと同一のグループ番号を付与する。隣接するポリゴンが未生成の時は、新規のグループ番号を付与すればよい。
補助線の数によっては、上述の方法ではグループ番号が一意に定まらない場合がある。かかる例として、元の図形が2本の補助線で、両端および中央の3つの図形に分割された場合が挙げられる。この場合、両端のポリゴンから処理を開始すると、各ポリゴンに対して新規のグループ番号が付与されることになる。この結果、中央のポリゴンについては、補助線を挟んで隣接する両端のポリゴンのグループ番号が異なってしまい、グループ番号を一意に決定できなくなってしまう。上述の処理においては、このようにグループ番号が一意に決まらない場合には、ユーザにグループ番号の指定を求めるようにしたり、番号の小さい方または大きい方という規則に従って、いずれか一方を自動的に選択するようにしたりしてもよい。
このように指定または選択を行うと、補助線を挟んで隣接するポリゴンのグループ番号が異なる部分が生じることになる。従って、このような箇所を抽出し、補助線を挟んで隣接するポリゴンについては、番号の小さい方または大きい方という規則に従って、いずれか一方のポリゴンのグループ番号に統一する処理を施すようにしてもよい。
以上で説明した変形例の処理によれば、ポリゴン生成処理において、放射状態パラメータの設定、補助線登録の要否、グループ番号の入力を自動化できるため、ポリゴン生成の効率化を図ることができる。変形例の処理は一例に過ぎず、上述した全ての要素の一部についてのみ自動化を図るようにしてもよい。
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。実施例および変形例では、地図データの処理装置を例示したが、本発明は、地図データに限らず、線分を含む種々の図形データの処理に適用可能である。実施例および変形例では、ポリゴンデータを生成する例を示したが、本発明は、ポリゴンデータ自体を登録せず、単に面積等の計測結果を出力する態様で実現してもよい。
実施例としての地図データ処理装置の機能概要を示す説明図である。 地図データ処理装置の構成を示す説明図である。 地図データのレイヤ構造を示す説明図である。 ポリゴン生成処理の原理を示す説明図である。 メインループのフローチャートである。 パラメータ設定処理のフローチャートである。 放射状態パラメータの設定画面例を示す説明図である。 レイヤ選択用の画面例を示す説明図である。 補助線登録処理のフローチャートである。 線分変換処理のフローチャートである。 ポリゴン生成処理のフローチャートである。 グループ番号入力の画面例を示す説明図である。 ポリゴン生成処理の画面表示例を示す説明図である。 ポリゴン形状設定方法の変形例を示す説明図である。 ポリゴン生成処理の変形例のフローチャートである。
符号の説明
10…地図データ処理装置
20…主制御部
22…コマンド入力部
24…地図データ入力部
26…表示制御部
30…ポリゴン生成部
32…線分変換部
34…補助線管理部
36…放射状線分生成部
40…処理パラメータ管理部
42…ポリゴン管理部
44…地図データ
46…中間データ
100…主画面
101…設定ボタン
102…設定ウィンドウ
103、104…入力エリア
105…登録ボタン
106…閉じるボタン
200…主画面
201…階層設定ボタン
202…設定ウィンドウ
203…表示欄
204…ポリゴン構成欄
205…登録ボタン
206…閉じるボタン
500…主画面
501…自動生成ボタン
502…入力ウィンドウ
503…登録ボタン
504…中止ボタン
510…主画面
512…設定ウィンドウ
513…OKボタン
514…キャンセルボタン

Claims (10)

  1. 複数の線を表すデータを含む図形データを処理する図形データ処理装置であって、
    前記図形データを入力する入力部と、
    前記図形データ上の任意の指定点の指定を受け付ける指定点入力部と、
    前記指定された指定点を中心として放射状に延びる複数の放射状線分を表すデータを生成する放射状線分生成部と、
    前記図形データで表される線のうち、前記放射状線分のそれぞれに対し前記中心に最も近い位置で交差する線を抽出し、前記指定された指定点を取り囲む閉図形を構成すべき線群として特定する線群特定部とを備える図形データ処理装置。
  2. 請求項1記載の図形データ処理装置であって、
    前記特定された線群に含まれる線同士の交点を頂点とするポリゴンを生成するポリゴン生成部を備える図形データ処理装置。
  3. 請求項1または2記載の図形データ処理装置であって、
    前記放射状線分生成部は、所定の条件に基づき、前記放射状線分の長さおよび間隔の少なくとも一方が可変である図形データ処理装置。
  4. 請求項1〜3いずれか記載の図形データ処理装置であって、
    前記線群特定部によって特定された複数の線分群同士または閉図形をグループ化して管理するグループ管理部を備える図形データ処理装置。
  5. 請求項1〜4いずれか記載の図形データ処理装置であって、
    任意の補助線を表すデータを、前記図形データに追加する追加部を有し、
    前記線群特定部は、前記追加された補助線を含めて、前記抽出を行う図形データ処理装置。
  6. 請求項1〜5いずれか記載の図形データ処理装置であって、
    前記図形データは、線状に配置された記号または図形を含んでおり、
    前記記号または図形の位置に基づいて、前記記号または図形に沿う配置線を設定する配置線設定部を有し、
    前記線群特定部は、前記配置線を含めて、前記抽出を行う図形データ処理装置。
  7. 請求項1〜6いずれか記載の図形データ処理装置であって、
    前記図形データは複数のレイヤを含むと共に、複数の線がそれぞれ、いずれかのレイヤに対応づけられたデータ構造であり、
    前記線群特定部による抽出処理の対象となるレイヤの指定を受け付けるレイヤ指定入力部を有し、
    前記線群特定部は、前記指定されたレイヤに含まれる複数の線を対象として、前記抽出を行う図形データ処理装置。
  8. 請求項1〜7いずれか記載の図形データ処理装置であって、
    前記図形データは地図データである図形データ処理装置。
  9. 複数の線を表すデータを含む図形データを処理する図形データ処理方法であって、
    コンピュータが実行すべき工程として、
    前記図形データを入力する入力工程と、
    前記図形データ上の任意の指定点の指定を受け付ける指定点入力工程と、
    前記指定された指定点を中心として放射状に延びる複数の放射状線分を表すデータを生成する放射状線分生成工程と、
    前記図形データで表される線のうち、前記放射状線分のそれぞれに対し前記中心に最も近い位置で交差する線を抽出し、前記指定された指定点を取り囲む閉図形を構成すべき線群として特定する線群特定工程とを備える図形データ処理方法。
  10. 複数の線を表すデータを含む図形データを処理するコンピュータプログラムであって、
    前記図形データを入力するための入力プログラムコードと、
    前記図形データ上の任意の指定点の指定を受け付ける指定点入力プログラムコードと、
    前記指定された指定点を中心として放射状に延びる複数の放射状線分を表すデータを生成する放射状線分生成プログラムコードと、
    前記図形データで表される線のうち、前記放射状線分のそれぞれに対し前記中心に最も近い位置で交差する線を抽出し、前記指定された指定点を取り囲む閉図形を構成すべき線群として特定する線群特定プログラムコードとを備えるコンピュータプログラム。
JP2005115508A 2005-04-13 2005-04-13 図形データ処理装置 Pending JP2006293809A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005115508A JP2006293809A (ja) 2005-04-13 2005-04-13 図形データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005115508A JP2006293809A (ja) 2005-04-13 2005-04-13 図形データ処理装置

Publications (1)

Publication Number Publication Date
JP2006293809A true JP2006293809A (ja) 2006-10-26

Family

ID=37414300

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005115508A Pending JP2006293809A (ja) 2005-04-13 2005-04-13 図形データ処理装置

Country Status (1)

Country Link
JP (1) JP2006293809A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012198200A (ja) * 2011-02-17 2012-10-18 Honeywell Internatl Inc ディスプレイ上で危険な飛行ゾーン領域を識別するための方法およびシステム
US8923624B2 (en) 2010-12-15 2014-12-30 Fujitsu Limited Arc detecting apparatus and recording medium storing arc detecting program
CN110232495A (zh) * 2019-04-22 2019-09-13 上海飞未信息技术有限公司 一种多个不相邻多边形融合成一个多边形的算法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03293764A (ja) * 1990-04-11 1991-12-25 Sumitomo Electric Ind Ltd 光電子集積回路
JPH08147463A (ja) * 1994-11-24 1996-06-07 Sumitomo Metal Ind Ltd 図形作成装置
JPH0969166A (ja) * 1995-08-31 1997-03-11 Canon Inc 情報処理装置及び方法及び記憶媒体
JP2001242982A (ja) * 2000-03-02 2001-09-07 Mutoh Ind Ltd 作図支援方法及びcadプログラムを記憶してなる媒体
JP2003187256A (ja) * 2001-12-21 2003-07-04 Zenrin Co Ltd 電子地図データに記録される図形データのデータ構造および電子地図表示装置
JP2003295764A (ja) * 2002-03-29 2003-10-15 Zenrin Co Ltd 電子地図データにおけるポリゴンの自動生成
JP2003296726A (ja) * 2002-03-29 2003-10-17 Fujitsu Fip Corp 図面変換方法、図面変換装置、図面変換プログラム及び記録媒体
JP2004102402A (ja) * 2002-09-05 2004-04-02 Hitachi Software Eng Co Ltd 区画データ作成方法、装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03293764A (ja) * 1990-04-11 1991-12-25 Sumitomo Electric Ind Ltd 光電子集積回路
JPH08147463A (ja) * 1994-11-24 1996-06-07 Sumitomo Metal Ind Ltd 図形作成装置
JPH0969166A (ja) * 1995-08-31 1997-03-11 Canon Inc 情報処理装置及び方法及び記憶媒体
JP2001242982A (ja) * 2000-03-02 2001-09-07 Mutoh Ind Ltd 作図支援方法及びcadプログラムを記憶してなる媒体
JP2003187256A (ja) * 2001-12-21 2003-07-04 Zenrin Co Ltd 電子地図データに記録される図形データのデータ構造および電子地図表示装置
JP2003295764A (ja) * 2002-03-29 2003-10-15 Zenrin Co Ltd 電子地図データにおけるポリゴンの自動生成
JP2003296726A (ja) * 2002-03-29 2003-10-17 Fujitsu Fip Corp 図面変換方法、図面変換装置、図面変換プログラム及び記録媒体
JP2004102402A (ja) * 2002-09-05 2004-04-02 Hitachi Software Eng Co Ltd 区画データ作成方法、装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8923624B2 (en) 2010-12-15 2014-12-30 Fujitsu Limited Arc detecting apparatus and recording medium storing arc detecting program
JP2012198200A (ja) * 2011-02-17 2012-10-18 Honeywell Internatl Inc ディスプレイ上で危険な飛行ゾーン領域を識別するための方法およびシステム
CN110232495A (zh) * 2019-04-22 2019-09-13 上海飞未信息技术有限公司 一种多个不相邻多边形融合成一个多边形的算法
CN110232495B (zh) * 2019-04-22 2023-02-28 上海飞未信息技术有限公司 一种用于“两区”划定的多个不相邻多边形融合成一个多边形的方法

Similar Documents

Publication Publication Date Title
EP0905655B1 (en) Map editing apparatus enabling simplified editing through provision of user-selectable automatic editing functions
KR101724801B1 (ko) 토지피복지도의 부분 갱신을 통한 gis기반의 연단위 비점오염부하량 산정용 주제도 제작 방법
US20080279447A1 (en) Computational Solution Of A Building Of Three Dimensional Virtual Models From Aerial Photographs
CN108595560A (zh) 地理信息数据的展示方法及系统
KR101305059B1 (ko) 수치지도의 실시간 편집 방법 및 시스템, 이를 위한 서버 및 기록매체
KR101706447B1 (ko) 다양한 공간자료를 활용한 gis 기반의 도시지역 투수/불투수도 제작 방법
JPH0527676A (ja) 地形情報処理方法および装置
KR101797325B1 (ko) 건물 객체에 대한 다축척 모델 기반의 지도 처리 방법
CN103954970A (zh) 一种地形要素采集方法
JPH0561407A (ja) 図形処理装置
JP5403726B2 (ja) 浸水深調査システム及びプログラム
KR100732915B1 (ko) 디지털사진 측량기술 및 인공위성영상을 이용한 기본설계용도로노선의 3차원적 결정 방법
JP2006293809A (ja) 図形データ処理装置
Shoaib Khan et al. Methodology for voxel-based earthwork modeling
CN114820967B (zh) 一种分层影像数据实时绘制方法及系统
CN116342745A (zh) 车道线数据的编辑方法、装置、电子设备及存储介质
KR100384992B1 (ko) 자동 지도 제작 방법
CN115271564A (zh) 一种公路边坡灾害空间危险性区划方法及终端机
de Lange Geoinformation Systems
Karauğuz et al. 3D Photogrammetric model of Eflatunpinar monument at the age of Hittite empire in Anatolia
JP4608479B2 (ja) 風況解析のための地図情報データの編集システム及びプログラム
Poloprutský et al. Analytical maps as a basis for understanding the development of rural architecture
CN115761279B (zh) 空间布局相似性检测方法、设备、存储介质及装置
JP3535597B2 (ja) 図形処理装置
JP4630528B2 (ja) 時空間データ管理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080331

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20081117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100831

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110329

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110809