JP3704235B2 - 地図データ検索システム、及び記録媒体 - Google Patents
地図データ検索システム、及び記録媒体 Download PDFInfo
- Publication number
- JP3704235B2 JP3704235B2 JP35993897A JP35993897A JP3704235B2 JP 3704235 B2 JP3704235 B2 JP 3704235B2 JP 35993897 A JP35993897 A JP 35993897A JP 35993897 A JP35993897 A JP 35993897A JP 3704235 B2 JP3704235 B2 JP 3704235B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- node
- boundary
- mesh
- boundary data
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Instructional Devices (AREA)
- Processing Or Creating Images (AREA)
Description
【発明の属する技術分野】
本発明は、マッピングシステム等に係り、地図データ検索システム等に関するものである。
【0002】
【従来の技術】
従来、マッピングシステム等ではホストコンピュータが地図データベースを備え、端末側のコンピュータから地図データベース内の地図を呼び出すと、端末側のコンピュータ画面に街区や水道管等が表示される。
図31は従来のマッピングシステムでコンピュータ画面に表示された境界データ41を示す図である。境界データ41とは通常の境界データであり、例えば、行政区画、上下水道管理界、ガス配管管理界、営業範囲などである。図31に示されるように境界データ41が広範囲に渡る場合、地図を構成する複数のメッシュ31に渡り表示される。
【0003】
【発明が解決しようとする課題】
しかしながら、マッピングシステム等において、ある領域内の設備を領域ごとに調査するといった要求がある。例えば、図31に示す境界データ41で閉じられたポリゴン21内部にはどれだけの住宅が存在するのかを調べたいという要求がある場合、ポリゴン21は複数のメッシュに渡るため検索が繁雑である。
【0004】
本発明は、このような問題に鑑みてなされたもので、その目的とするところは、複数のメッシュに渡る行政区画等の境界データからポリゴンを作成し、更に、作成されたポリゴン内にどのような施設が存在するかを検索し得る地図検索システム等を提供することにある。
【0005】
【課題を解決するための手段】
前述した目的を達成するために、第1の発明は、ホストコンピュータと、端末側コンピュータとが接続された地図データ検索システムであって、前記ホストコンピュータは、地図上の各種区分線である境界線を構成する両端の端点を示すノード座標を少なくとも有する境界データを、地図を所定の区画単位毎に分割することで得られるメッシュ域毎に記憶する第1の記憶手段と、前記メッシュ域の四方の外縁を示す境界線のうちいずれかの境界線の両端のノード座標を少なくとも有するメッシュ境界データを、前記メッシュ域毎に記憶する第2の記憶手段と、前記端末側コンピュータからの表示要求により、地図データと共に、前記境界データと前記メッシュ境界データを、前記端末側コンピュータに提供する提供手段と、前記境界データと前記メッシュ境界データを用いて、前記メッシュ域毎に、前記境界データが前記メッシュ境界データと交わる場合、その交点に新たにノードを設け、このノードによって前記境界データと前記メッシュ境界データを分割する分割手段と、前記境界データを構成するノード、前記メッシュ境界データを構成するノード、及び前記分割手段で新たに設けられたノードの各ノード毎に、接続される境界データ及び/又はメッシュ境界データを対応付ける、当該ノード座標を示す基準ノードと、前記基準ノードに接続する境界データ及び/又はメッシュ境界データの他方のノード座標を示す少なくとも1つの接続先ノードと、当該ノードに接続する境界データ及び/又はメッシュ境界データの数を示す分岐数と、を少なくとも有するノードデータを生成するノードデータ生成手段と、前記ノードデータを記憶する第3の記憶手段と、前記ノードデータを用いて、各メッシュ域毎に、任意の境界データを選び、この境界データの一方の端点である基準ノードを基準として、前記基準ノードに接続される前記境界データの位置情報と前記分岐数に基づいて、時計回りの方向、又は反時計回りの方向にある最初の境界データ/メッシュ境界データを、前記基準ノードに戻るまで順次選択し、選択した複数の前記境界データ及び/又は前記メッシュ境界データから生成した小ポリゴンを構成する前記基準ノード及び複数の前記接続先ノードを有する小ポリゴンデータを生成する小ポリゴン生成手段と、前記小ポリゴンデータを記憶する第4の記憶手段と、前記小ポリゴンデータと前記メッシュ境界データを用いて、前記端末側コンピュータから指定された生成したいポリゴン内の任意の内点の座標を含む小ポリゴンデータと、当該小ポリゴンデータが有する前記メッシュ境界データを共有する小ポリゴンデータを取り出し、逐次取り出した前記メッシュ境界データを共有する全ての小ポリゴンデータをグループ化することによりポリゴンデータを生成するポリゴン生成手段と、を具備することを特徴とする地図データ検索システムである。
【0006】
第2の発明は、コンピュータを第1の発明の地図検索システムとして機能させるプログラムを記録した記録媒体である。
【0008】
【発明の実施の形態】
以下、図面に基づいて本発明の実施の形態を詳細に説明する。図1は、本実施の形態に係る地図データ検索システム1の概略構成を示す図である。
【0009】
図1において、地図データ検索システム1は、ホストコンピュータ3、地図データベース7、端末側コンピュータ5及びCD−ROM9からなる。
地図データベース7はホストコンピュータ3に接続されており、地図データ13、境界データ41、メッシュ境界データ51等を保持する。例えば、地図データ13は道路等であり、境界データ41は通常の境界データであり、行政区画、下水道管理界、上水道管理界、営業範囲等のデータである。メッシュ境界データ51は地図データ13を構成するメッシュ31の外縁である。
【0010】
端末側コンピュータ5はホストコンピュータ3に接続されており、地図データ13、境界データ41及びメッシュ境界データ51は端末側コンピュータ5に読み出され、データ処理が行われる。
CD−ROM9は、地図データ検索システム1のプログラムが記録されており、コンピュータで読取り可能である。
【0011】
次に、地図データ検索システム1の処理手順の概要を説明する。図2は地図検索システム1による処理手順のフローチャートを示す。尚、ホストコンピュータ3は、制御部と記憶部とを備える。ホストコンピュータ3の制御部が、以降の図2に示すポリゴン作成及び地図データ検索処理を行う。
地図データベース7から地図データ13、境界データ41及びメッシュ境界データ51を読み出し、表示する(ステップ201)。
【0012】
次に、境界データ41がメッシュ境界データ51と交わる場合、その交点にノードを設け、そのノードによって境界データ41及びメッシュ境界データ51を分割し(ステップ202)、各ノード61においてノードデータ71を作成する(ステップ203)。ノードデータ71を基にして、各メッシュ31毎に小ポリゴン33を生成する(ステップ204)。
【0013】
次にメッシュ境界データ51を共有する小ポリゴン33をグループ化して、ポリゴンを生成し(ステップ205)、各ポリゴン内における各種データ、例えば家屋や公園等を抽出し、表示する(ステップ206)。
【0014】
以下、図2の各ステップについて説明する。
ステップ201
図3は行政区画を示す境界データ41を示す図である。図3に示すように、境界データ41で囲まれたポリゴン21は12枚のメッシュ31に渡る。メッシュ境界データ51はメッシュ31の外縁であり、点線で示される。尚、小ポリゴン33は1つのメッシュにおいて境界データ41とメッシュ境界データ51に囲まれた領域である。
【0015】
図4は、境界データ41を示す図である。図4に示されるように、境界データ41はその両端にノード61a、61bを有する。
図5は境界データ41のフォーマットを示す図である。図5に示されるように、境界データ41はレコード番号43、名称45、境界を構成する座標データ数47、左端ノード座標48−1、右端ノード座標48−2及び線種49から構成される。
【0016】
レコード番号43は地図データ検索システム1内で保持された境界データ41に付けられた通し番号である。名称45は、境界データ41の名称であり、例えば行政区画の場合、「○○町3丁目」といったものである。座標データ数47は境界データ41を構成するノードの数であり、図4に示す境界データ41の場合は「2」となる。更に、左端ノード座標48−1は図4に示すノード61aの座標であり、右端ノード座標48−2は図4に示すノード61bの座標である。線種49は通常の境界データの場合「1」とし、メッシュ境界データ51と区別するために設けられる。
【0017】
図6はメッシュ31のメッシュ境界データ51を示す図である。メッシュ境界データ51はメッシュ31の外縁を構成する4つの線分のうちの1つを示し、その両端にはノード61cとノード61dを有する。
図7はメッシュ境界データ51のフォーマットを示す図である。図7に示されるように、メッシュ境界データ51はレコード番号53、名称55、境界を構成する座標データ数57、左端ノード座標58−1、右端ノード座標58−2及び線種59から構成される。
【0018】
レコード番号53は地図データ検索システム1内で保持されたメッシュ境界データ51に付けられた通し番号である。名称55は、境界データ51の名称であり、例えば「メッシュ31−1の境界1」といったものである。座標データ数57は境界データ51を構成するノードの数である。更に、左端ノード座標58−1は図6に示すノード61cの座標であり、右端ノード座標58−2は図6に示すノード61dの座標である。線種59はメッシュ境界データ51の場合「2」として境界データ41とは区別する。
【0019】
図5と図7に示されるように、地図データ検索システム1に保持される境界データ41とメッシュ境界データ51のフォーマットは同じであり、線種の違いで区別される。
【0020】
ステップ202
図8は、図3に示すメッシュ31−1とメッシュ31−2に渡る境界データ41−1を示す図である。図8に示されるように、境界データ41−1の1つのノード61−1はメッシュ31−1にあり、他方のノード61−3はメッシュ31−2にあり、境界データ41−1はメッシュ境界データ51−1を横切る。
【0021】
図9は、境界データ41−1とメッシュ境界データ51−1の分割方法を示す図である。2つのメッシュに渡る境界データ41−1は、境界データ41−1とメッシュ境界データ51−1の交点に新たに設けたノード61−2によって、境界データ41−1−1と境界データ41−1−2に分割される。同様に、メッシュ境界データ51−1も、ノード61−2によってメッシュ境界データ51−1−1とメッシュ境界データ51−1−2に分割される。
【0022】
ステップ203
図10は、ノード61eとノード61eに接続する接続先ノード61f、61g、61hを示す図である。図11は基準ノード61eのノードデータ71のフォーマットを示す図である。ノードデータ71は、レコード番号73、分岐数75、基準ノード61eに関するデータ77、基準ノード61eに接続する各接続先ノードに関するデータ79、81、83からなる。
【0023】
レコード番号73は地図データ検索システム1内で保持されるノードデータ71に付けられた通し番号である。分岐数75は基準ノード61eに接続する境界データの数であり、図10に示す基準ノード61eでは「3」となる。基準ノード61eに関するデータ77は基準ノード61eの座標(x0,y0)を示す。
【0024】
接続先ノードに関するデータ79は、接続先ノード61fに関するものであり、指標m、ノード61fの座標(x1,y1)、角度指標NI1、フラグF1を有する。
指標m=1は、複数の接続先ノードのうち、角度指標NIの小さい順番を示す指標である。角度指標NIについては後述する。
【0025】
フラグF1に関する説明は後で行う。
接続先ノードに関するデータ81、83は、接続先ノードに関するデータ79と同様の構成となる。
【0026】
次に、角度指標NIについて説明する。図12は角度指標NIを求める処理のフローチャートである。図12に示されるように、基準となる任意のノードの座標(x0,y0)を読み込み(ステップ801)、接続先ノードの座標(xi,yi)を読み込む(ステップ802)。xi−x0をxに代入し、yi−y0をyに代入し(ステップ803)、xとyの絶対値を比較し(ステップ804)、更に、x及びyを0と比較する(ステップ806、ステップ805)。
【0027】
このとき、角度指標NIiは次のように計算される。ここで、xの絶対値を[x]、yの絶対値を[y]と示す。
[x]<[y]かつy<0の場合、NIi=700+(x/y)×100(ステップ807)
[x]<[y]かつy>0の場合、NIi=300−(x/y)×100(ステップ808)。
[x]≧[y]かつx>0の場合、NIi=100+(x/y)×100(ステップ809)
[x]≧[y]かつx<0の場合、NIi=500−(x/y)×100(ステップ810)
【0028】
図13は、基準ノード61eに対する接続先ノード61iの位置ベクトルと角度指標NIを示す図である。
角度指標NIは、図13の水平線85に対し−π/4の角度をなす基準線87を基準とし、基準線87においてNI=0とする。図13において、基準ノード61eに対する接続先ノード61iの位置ベクトルが水平線85となす反時計回りの角度をθiとすると、
θi=0のとき、NI=100
θi=π/4のとき、NI=200
θi=π/2のとき、NI=300
θi=3π/4のとき、NI=400
θi=πのとき、NI=500
θi=5π/4のとき、NI=600
θi=3π/2のとき、NI=700
θi=7π/4のとき、NI=800(NI=0の線と一致)
となる。
【0029】
図14は、図13における角度θiと角度指標NIとの関係を示す図である。角度指標は単純な増加関数の傾向があり、角度θiに対して角度指標NIが一位的に決められるのが特徴である。
図11に示すノードデータ71において、角度指標NI1、NI2、NI3は、図12のフローチャートにしたがって計算される。
【0030】
図10に示されるように、角度指標は基準線87と境界データとのなす角度が小さいほど小さくなる。図11に示すノードデータ71では角度指標が小さい順に接続先ノードが並べられており、小さい順に指標mの値を「1」、「2」、…とする。この指標mは境界データを選択して小ポリゴンを抽出する際に使用される。
【0031】
ノードデータ71は、境界データ41やメッシュ境界データ51を構成するノード、及び図9に示されるノード61−2のような新たに設けられたノードに対して計算され、ホストコンピュータ3の記憶部に保管される。また、予め全てのノードについて計算し、図1の地図データベース7に保持することも可能である。
【0032】
図15はメッシュ31−1におけるノード61を示す図である。図16はノード61−1におけるノードデータ71−1を示す図である。図15及び図16に示されるように、ノード61−1における分岐数はN=3であり、角度指標は図12に示す処理によって計算され、接続先ノード61−13に対する指標はm=1、接続先ノード61−4に対する指標はm=2、接続先ノード61−2対する指標はm=3である。
【0033】
図15及び図16に示すように、ノード61−1と接続先ノード61−13は境界データ41−5によって接続される。このように通常の境界データ41を介して接続される場合、ノードデータ71−1におけるフラグを「1」とする。従って、接続先ノード61−13に対するフラグは「1」となる。また、接続先ノード61−4、61−2も境界データ41−4、41−1−1によって接続されることから、それぞれのノードに対するフラグは「1」となる。
【0034】
図17はノード61−2におけるノードデータ71−2を示す図である。図15及び図16に示されるように、ノード61−2における分岐数はN=3であり、接続先ノード61−18に対する指標はm=1、接続先ノード61−1に対する指標はm=2、接続先ノード61−17対する指標はm=3である。
【0035】
図15に示されるように、ノード61−2と接続先ノード61−18はメッシュ境界データ51−1−1によって接続され、更にメッシュ境界データ51−1−1はノード61−2を基準にするとその左側にメッシュが存在する。即ち、時計回りに小ポリゴンを生成する場合、選択対象となる。このような場合、図17に示される接続先ノード61−18に対するフラグは「3」とする。
【0036】
また、図15に示されるように、ノード61−2と接続先ノード61−17はメッシュ境界データ51−1−2によって接続され、更にメッシュ境界データ51−1−2はノード61−2を基準とするとその右側にメッシュが存在する。即ち、時計回りに小ポリゴンを生成する場合、非選択対象となる。このような場合、図17に示される接続先ノード61−17に対するフラグは「2」とする。
【0037】
図15に示されるように、ノード61−2と接続先ノード61−1は境界データ41−1−1によって接続されている。境界データ41−1−1の左右にはメッシュが存在し、境界データ41−1−1はノード61−2とノード61−1のノードデータで定義され、小ポリゴンを生成する際の選択対象となるため、図17に示す接続先ノード61−1に対するフラグは「1」とする。
【0038】
図18はノード61−17におけるノードデータ71−17を示す図である。図15及び図18に示されるように、ノード61−17における分岐数はN=2であり、接続先ノード61−2に対する指標はm=1、接続先ノード61−15に対する指標はm=2である。
【0039】
図15に示されるように、ノード61−17と接続先ノード61−2はメッシュ境界データ51−1−2で接続され、メッシュ境界データ51−1−2の左側にメッシュが存在することから、図18に示す接続先ノード61−2に対するフラグは「3」となる。一方、ノード61−17と接続先ノード61−15はメッシュ境界データ51−2で接続され、メッシュ境界データ51−2の右側にメッシュが存在することから、図18に示す接続先ノード61−15に対するフラグは「2」となる。
【0040】
ステップ204
次に、境界データとメッシュ境界データを選択して小ポリゴンを生成する処理手順について説明する。図19は1つのメッシュ内での小ポリゴン抽出作業のフローチャートを示す図である。
任意のノード(座標(x0,y0))とその接続先ノード(座標(xi,yi))を取り出す(ステップ1101)。(x0,y0)をポリゴンの第1の頂点となる座標(X1,Y1)と、(x1,y1)をポリゴンの第2の頂点となる座標(X2,Y2)とする(ステップ1102)。そして、jに2を代入する(ステップ1103)。
【0041】
次に座標(Xj,Yj)のノードを取り出す(ステップ1104)。取り出したノードの座標(Xj,Yj)と最初に取り出したノードの座標(x0,y0)を比較して(ステップ1105)、等しければ、最初の座標に戻ってポリゴン抽出が終了したとみなし、当該ポリゴンの座標列を保管する(ステップ1107)。
【0042】
一方、取り出したノードの座標(Xj,Yj)と最初に取り出したノードの座標(x0,y0)を比較して(ステップ1105)、等しくなければ、取り出した当該ノード(座標(Xj,Yj))に対する接続先ノードの座標が(Xj−1,Yj−1)である指標mを認識する(ステップ1106)。
【0043】
次に、認識した指標mと分岐数Nとを比較する(ステップ1108)。ここで、指標mと分岐数Nとを比較して指標mが小さい場合、m+1をKとし(ステップ1109)、mとNが等しい場合K=1として(ステップ1110)、m=Kとなる接続先ノード(座標(xm,ym))を当該ノードのノードデータの中から取り出す(ステップ1111)。そして、(xm,ym)を(Xj+1,Yj+1)に代入する(ステップ1112)。
【0044】
次に、jをj+1とし(ステップ1113)、ステップ1104に戻り、以上の処理を繰り返す。
ここで、図19に示すポリゴン抽出処理のフローチャートに従って図20に示す小ポリゴン33−1の抽出作業を説明する。
まず、任意のノードとしてノード61−4(座標(X1,Y1))を選択し、その接続先ノードとしてノード61−1(座標(X2,Y2))を取り出す(ステップ1101)。
【0045】
図19に示すステップ1103においてj=2であるから、ステップ1104では座標(X2,Y2)であるノード61−1を取り出し、x0≠Xj,y0≠Yjであるので(ステップ1105)、接続先ノードの座標が(Xj−1,Yj−1)であるノード61−4(座標(X1,Y1))の指標m2=2を認識する(ステップ1106)。
【0046】
この場合、mとNが等しくない(ステップ1109)のでK=m2+1=3となり(ステップ1109)、m2=K=3となる接続先ノードであるノード61−2の座標を取り出す(ステップ1111)。つまり、図16及び図20において接続先ノード61−2の座標をポリゴンの第3番目の頂点座標(X3,Y3)として認識する。
【0047】
次に、図19に示すステップ1113においてj=3となるから、ステップ1104では(X3,Y3)を取り出し、その相手接続の座標が(X2,Y2)であるようなノード61−1を取り出し(ステップ1104)、指標m3=2を認識する(ステップ1106)。
【0048】
この場合、mとNが等しくない(ステップ1109)のでK=m3+1=3となり(ステップ1109)、m3=K=3となる接続先ノードであるノード61−17の座標を取り出す(ステップ1111)。つまり、図17及び図20において接続先ノード61−17の座標をポリゴンの第4番目の頂点座標(X4,Y4)として認識する。
【0049】
次に、図19に示すステップ1113においてj=4となるから、ステップ1104では(X4,Y4)を取り出し、その相手接続の座標が(X3,Y3)であるようなノード61−2を取り出し(ステップ1104)、指標m4=1を認識する(ステップ1106)。
【0050】
この場合、mとNが等しくない(ステップ1109)のでK=m4+1=2となり(ステップ1109)、m4=K=2となる接続先ノードであるノード61−15の座標を取り出す(ステップ1111)。つまり、図18及び図20において接続先ノード61−15の座標をポリゴンの第5番目の頂点座標(X5,Y5)として認識する。
【0051】
次に、図19に示すステップ1113においてj=5となるから、ステップ1104では(X5,Y5)を取り出し、その相手接続の座標が(X4,Y4)であるようなノード61−17を取り出し(ステップ1104)、指標m5=2を認識する(ステップ1106)。
【0052】
この場合、mとNが等しいので(ステップ1108)、K=1となり(ステップ1110)、m5=K=1となる接続先ノードであるノード61−6の座標を取り出す(ステップ1111)。つまり、接続先ノード61−6の座標をポリゴン1201の第6番目の頂点座標(X6,Y6)として認識する。
【0053】
以下同様の処理を行い、ノード61−4を認識したときに、図19に示すステップ1105にて最初のノードに戻ったことが認識され、小ポリゴン33−1の抽出の作業は終了する。
【0054】
以上の処理を要約すると、図20においてまず境界データ41−4を選び、次に境界データ41−1の左端のノード61−1において、境界データ41−1を基準として反時計回りで最初に到達する境界データ41−1−1を選択する。そしてこの境界データ41−1−1の左端のノード61−2において、境界データ41−1−1を基準として反時計回りで最初に到達するメッシュ境界データ51−1−2を選択する。
以下ノード61−4に至るまで同様の処理を繰り返す。
【0055】
尚、前述した処理は図20に示すように、時計回りで小ポリゴン33−1を生成したが、反時計回りでポリゴンを生成してもよい。この場合、例えば境界データ41−4を選択し、その右端のノード61−4において、境界データ41−4を基準として時計回りで最初に到達する境界データ41−3を選択し、以下同様の処理を繰り返す。
【0056】
尚、前述した実施の形態では角度指標NIを用いてこのような処理を行ったが、各ノードにおいて境界データのなす角度をベクトルの内積を利用して求め、その角度を基準にして小ポリゴンを生成するようにしてもよい。
また、各ノードのノードデータ71を全て計算しておくのではなく、小ポリゴンを抽出する処理においてノードを認識する際にノードデータを計算してもよい。
【0057】
図21は、小ポリゴンデータ1501のフォーマットを示す図である。以上のような抽出処理によって生成された小ポリゴンは、小ポリゴンデータ1501として、地図データ検索システム1のホストコンピュータ3の記憶部に保管される。小ポリゴンデータ1501は小ポリゴンレコード番号1503、名称1505、座標数1507、小ポリゴン構成点座標列1509からなる。小ポリゴンレコード番号1503は地図データ検索システム1で保持される小ポリゴンに付けられる通し番号である。名称1505は小ポリゴンの名称である。
【0058】
座標数1507は小ポリゴンを構成する頂点の数であり、図20に示す小ポリゴン33−1では「7」となる。小ポリゴン構成点座標列1509は小ポリゴンの頂点の座標であり、即ち、図19に示すポリゴン抽出処理手順に従って求められた座標(Xj,Yj)群である。
【0059】
ステップ205
次に、各小ポリゴン33からポリゴン21−1を生成する方法について説明する。
図22はポリゴン21と小ポリゴン33を示す図である。図19の小ポリゴン抽出処理に従って、メッシュ毎に小ポリゴンを生成する。図22に示されるように、ポリゴン21−1は小ポリゴン33−1、33−5、33−8、33−10、33−13、33−11、33−15、33−18、33−19、33−24、33−25からなる。また、ポリゴン21−2は小ポリゴン33−7、33−9、33−2から、ポリゴン21−3は小ポリゴン33−16、33−17、33−20、33−22、33−23、33−24から、ポリゴン21−4は小ポリゴン33−4、33−6、33−12、33−14、33−21からなる。
【0060】
図23に示すように、生成したいポリゴン21−1の境界内部に任意の境界データ内点991を設ける。図24は、境界データ内点991を含む小ポリゴン33−11に隣接する小ポリゴンを示す図である。小ポリゴン33−11は、メッシュ境界データ51−11、51−12、51−13、51−14を有する。地図データ検索システム1では、第1段階として、境界データ内点991を含む小ポリゴン33−11とメッシュ境界データ51−11、51−12、51−13、51−14を共有する、ポリゴン21−1内の小ポリゴン33−1、33−8、33−13、33−18、33−19を取り出す。
【0061】
図25は第2段階で取り出す小ポリゴンを示す図である。図25に示されるように、地図データ検索システム1では、第1段階で取り出された小ポリゴン33−1、33−8、33−13、33−18、33−19とそれらの有するメッシュ境界データ51−15、51−16、51−17、51−18、51−19、51−20、51−21、51−22を共有する、小ポリゴン33−5、33−10、33−15、33−19、33−24、33−25を取り出す。
以上のような方法で、ポリゴン21−1を生成する。
【0062】
ステップ206
次に、ポリゴン21内部の各種データの検索方法について説明する。検索の対象となるデータには、道路、ガス配管、上下水道管、電線、通信ライン等に相当するラインデータや住宅、一人暮らしの老人宅、マンホール、弁、電柱等に相当するシンボルデータ等がある。
図26はポリゴン内のラインデータの検索処理のフローチャートを示す。
検索するラインデータを指定し(ステップ2601)、検索するポリゴンを指定する(ステップ2602)。指定したポリゴンを含むすべてのメッシュを読み出す(ステップ2603)。
【0063】
次に、読み出したメッシュの内、最初のメッシュを取り出す(ステップ2604)。このメッシュ内のポリゴンに含まれる全てのラインデータを抽出し、表示色を変える(ステップ2605)。次に、抽出したラインデータの長さを累積し(ステップ2606)、指定したポリゴンを含むメッシュがあるかどうかを判定し(ステップ2607)、ポリゴン内にまだ取り出していないメッシュがある場合、次のメッシュを取り出す(ステップ2607)。以上の処理をステップ2603で取り出したメッシュ全てに行い、処理を終了する。
【0064】
図27はポリゴン21−5とラインデータを示す図である。図26に示すフローチャートに従って、ポリゴン21−5内のラインデータ301を検索する。まず、検索するラインデータ301を指定し(ステップ2601)、ポリゴン21−5を指定する(ステップ2602)。指定したポリゴン21−5を含むメッシュ31−3、31−4を読み出し(ステップ2603)、メッシュ31−3を取り出す(ステップ2604)。
【0065】
次に、メッシュ31−3内の小ポリゴン33−101に含まれるラインデータを抽出する。この場合、図27に示されるようにラインデータ301−2が境界データ31−101と交わるため、その交点333−1を求め、交点333−1からのラインデータ301−2、301−3を抽出し、表示色を変え(ステップ2604)、その長さを累積する(ステップ2606)。
【0066】
次に、メッシュ31−4を取り出し(ステップ2608)、小ポリゴン33−102に含まれるラインデータを抽出する。図27に示されるように、ラインデータ301−6が境界データ31−102と交わるため、その交点333−2を求め、交点333−2からのラインデータ301−6、301−5、301−4を抽出し、表示色を変え(ステップ2604)、メッシュ31−3で抽出したラインデータの長さに累積する(ステップ2606)。このようにして、ポリゴン21−5内のラインデータが検索される。
【0067】
図28はポリゴン内のシンボルデータの検索処理のフローチャートを示す。
検索するシンボルデータを指定し(ステップ2701)、検索するポリゴンを指定する(ステップ2702)。指定したポリゴンを含むすべてのメッシュを読み出す(ステップ2703)。
【0068】
次に、読み出したメッシュの内、最初のメッシュを取り出す(ステップ2704)。このメッシュ内のポリゴンに含まれる全てのシンボルデータを抽出し、表示色を変える(ステップ2705)。抽出したシンボルデータの個数を累積する(ステップ2706)。指定したポリゴンを含むメッシュがあるかどうかを判定し(ステップ2707)、ポリゴン内にまだ取り出していないメッシュがある場合、次のメッシュを取り出す(ステップ2708)。以上の処理をステップ2703で取り出したメッシュ全てに行い、処理を終了する。
【0069】
図28に示すステップ2705において、シンボルデータがポリゴンの内部に含まれるかどうかを判断する方法について説明する。
図29は点とポリゴンの包含関係を示す図である。ポリゴン1003内に含まれる点1005から下方に伸ばした鉛直線1009とポリゴン1003の境界線との交点の数は「3」、即ち奇数である。一方、ポリゴン1003外の点1007から下方に伸ばした鉛直線1011とポリゴン1003の境界線との交点の数は「2」、即ち偶数である。
【0070】
このように、ある点を通る鉛直線を引いて、ポリゴンとの交点数を算出し、奇数であればその点がポリゴン内に含まれ、偶数であればその点はポリゴン内に含まれないことを利用して、その点がポリゴン内に存在するか否かを判定する。
【0071】
このような方法は「鉛直線算法」といわれるもので、点とポリゴンの包含関係を判定する方法として、「計算幾何学と地理情報処理、(昭和61年、共立出版会社発行)」に開示されている。
図29に示される点をシンボルデータとすれば、「鉛直線算法」を用いてシンボルデータとポリゴンの包含関係が判る。
【0072】
図30はポリゴン21−5とシンボルデータ401を示す図である。図26に示すフローチャートに従って、ポリゴン21−5内のシンボルデータ401を検索する。検索するシンボルデータ401を指定し(ステップ2701)、検索するポリゴン21−5を指定する(ステップ2702)。指定したポリゴン21−5を含むメッシュ31−3、31−4を読み出す(ステップ2703)。
【0073】
次に、メッシュ31−3を取り出し(ステップ2704)、メッシュ31−3内の小ポリゴン33−101に含まれるシンボルデータ401を抽出し、表示色を変え(ステップ2705)、累積する(ステップ2706)。次に、メッシュ31−4を取り出し(ステップ2708)、メッシュ31−4内の小ポリゴン33−102に含まれるシンボルデータ401を抽出し、表示色を変え(ステップ2705)、メッシュ31−4のデータに累積する(ステップ2706)。このようにして、ポリゴン21−5内のシンボルデータ401の個数を算出する。
【0074】
このように本発明の実施の形態を用いれば、広範囲の特定の領域における配管、住宅等のデータを検索、表示することが可能となり、配管の長さや住宅の個数等容易に算出することができる。これにより、各領域におけるデータの検索が容易にでき、領域毎のデータの比較等も効率良く行える。
又、領域の境界を修正する際も、境界データのみを修正するだけでよく、システムの保守管理が容易となる。
【0075】
本発明の実施の形態では境界データからノードデータを計算したが、ノードデータを予め計算しておき地図データベースに保持しておいてもよい。また、小ポリゴンの生成処理において、ノードを選択する度に計算してもよい。
更に、ノードデータにおいて角度指標を保管するようにしたが、角度指標の小さい順に接続先ノードを並べておけば、角度指標を保管する必要はない。
また、本発明における境界データとしては、行政区画、上水道設備管理界、下水道設備管理界、ガス設備管理界、電気設備管理界等様々なものが含まれる。
【0076】
尚、図2のステップ201の処理で、境界データ41等を縮小して表示させてもよい。この場合、地図データベース7に境界データ41を縮小させたものを予め作成しておいてもよい。
このようにすると、多メッシュに渡る境界データ41を画面上に一度に表示できる。
【0077】
【発明の効果】
以上、詳細に説明したように本発明によれば、複数のメッシュに渡る行政区画等の境界データからポリゴンを作成し、更に作成されたポリゴンの中にどのような施設が存在するかを検索し得る地図データ検索システム、地図データ検索方法、記録媒体を提供することができる。
【図面の簡単な説明】
【図1】 本発明の1実施の形態に係る地図データ検索システム1を示す図
【図2】 地図データ検索システム1による処理手順を示すフローチャート
【図3】 行政区画を示す境界データ41を示す図
【図4】 境界データ41を示す図
【図5】 境界データ41のフォーマットを示す図
【図6】 メッシュ境界データ51を示す図
【図7】 メッシュ境界データ51のフォーマットを示す図
【図8】 メッシュ31−1、31−2に渡る境界データ41−1を示す図
【図9】 境界データ41−1と境界データ51−1の分割方法を示す図
【図10】 基準ノード61eとその接続先ノードを示す図
【図11】 ノードデータ71のフォーマットを示す図
【図12】 角度指標を求めるフローチャートを示す図
【図13】 接続先ノードの位置ベクトルと角度指標の関係を示す図
【図14】 角度と角度指標の関係を示す図
【図15】 メッシュ31−1にノードを示す図
【図16】 ノード61−1におけるノードデータ71−1を示す図
【図17】 ノード61−2におけるノードデータ71−2を示す図
【図18】 ノード61−17におけるノードデータ71−17を示す図
【図19】 小ポリゴンの生成処理のフローチャートを示す図
【図20】 小ポリゴン33−1を示す図
【図21】 小ポリゴンデータ1501を示す図
【図22】 ポリゴンと小ポリゴンを示す図
【図23】 ポリゴン内の境界データ内点991を示す図
【図24】 ポリゴンの生成方法を示す図
【図25】 ポリゴンの生成方法を示す図
【図26】 ポリゴン内のラインデータの検索処理のフローチャートを示す図
【図27】 ポリゴン21−5内のラインデータ301を示す図
【図28】 ポリゴン内のシンボルデータの検索処理のフローチャートを示す図
【図29】 点とポリゴンの包含関係を示す図
【図30】 ポリゴン21−5内のシンボルデータ401を示す図
【図31】 従来の地図データ検索システム1におけるポリゴン21を示す図
【符号の説明】
1………地図データ検索システム
3………ホストコンピュータ
5………端末側コンピュータ
7………地図データベース
9………CDーROM
13………地図データ
41………境界データ
Claims (12)
- ホストコンピュータと、端末側コンピュータとが接続された地図データ検索システムであって、
前記ホストコンピュータは、
地図上の各種区分線である境界線を構成する両端の端点を示すノード座標を少なくとも有する境界データを、地図を所定の区画単位毎に分割することで得られるメッシュ域毎に記憶する第1の記憶手段と、
前記メッシュ域の四方の外縁を示す境界線のうちいずれかの境界線の両端のノード座標を少なくとも有するメッシュ境界データを、前記メッシュ域毎に記憶する第2の記憶手段と、
前記端末側コンピュータからの表示要求により、地図データと共に、前記境界データと前記メッシュ境界データを、前記端末側コンピュータに送信する送信手段と、
前記境界データと前記メッシュ境界データを用いて、前記メッシュ域毎に、前記境界データが前記メッシュ境界データと交わる場合、その交点に新たにノードを設け、このノードによって前記境界データと前記メッシュ境界データを分割する分割手段と、
前記境界データを構成するノード、前記メッシュ境界データを構成するノード、及び前記分割手段で新たに設けられたノードの各ノード毎に、接続される境界データ及び/又はメッシュ境界データを対応付ける、当該ノード座標を示す基準ノードと、前記基準ノードに接続する境界データ及び/又はメッシュ境界データの他方のノード座標を示す少なくとも1つの接続先ノードと、当該ノードに接続する境界データ及び/又はメッシュ境界データの数を示す分岐数と、を少なくとも有するノードデータを生成するノードデータ生成手段と、
前記ノードデータを記憶する第3の記憶手段と、
前記ノードデータを用いて、各メッシュ域毎に、任意の境界データを選び、この境界データの一方の端点である基準ノードを基準として、前記基準ノードに接続される前記境界データの位置情報と前記分岐数に基づいて、時計回りの方向、又は反時計回りの方向にある最初の境界データ/メッシュ境界データを、前記基準ノードに戻るまで順次選択し、選択した複数の前記境界データ及び/又は前記メッシュ境界データから生成した小ポリゴンを構成する前記基準ノード及び複数の前記接続先ノードを有する小ポリゴンデータを生成する小ポリゴン生成手段と、
前記小ポリゴンデータを記憶する第4の記憶手段と、
前記小ポリゴンデータと前記メッシュ境界データを用いて、前記端末側コンピュータから指定された生成したいポリゴン内の任意の内点の座標を含む小ポリゴンデータと、当該小ポリゴンデータが有する前記メッシュ境界データを共有する小ポリゴンデータを取り出し、逐次取り出した前記メッシュ境界データを共有する全ての小ポリゴンデータをグループ化することによりポリゴンデータを生成するポリゴン生成手段と、
を具備することを特徴とする地図データ検索システム。 - 前記ホストコンピュータは、
地図上に表示する各種情報を示す各種データを記憶する第5の記憶手段と、
前記ポリゴンデータを用いて、当該ポリゴン内の前記各種データを抽出する抽出手段と、
を更に具備することを特徴とする請求項1に記載された地図データ検索システム。 - 前記位置情報は、前記基準ノードにおける複数の前記境界データ及び/又は前記メッシュ境界データの基準線からの角度を示す指標であることを特徴とする請求項1に記載された地図データ検索システム。
- 前記位置情報は、前記基準ノードにおける複数の前記境界データ及び/又は前記メッシュ境界データを形成するベクトルの角度を示す指標であることを特徴とする請求項1に記載された地図データ検索システム。
- 前記基準線は、XY平面上で前記境界データを考えた場合、X軸と−45度の角度をなす直線であることを特徴とする請求項3に記載された地図データ検索システム。
- 前記境界線は、行政区分線、管理界、営業範囲の内のいずれかであることを特徴とする請求項1に記載された地図データ検索システム。
- 前記各種データは、道路、ガス管、水道管、下水管、電線、通信ライン等のいずれかを示すラインデータであり、
前記抽出手段はラインデータの長さを求めることを特徴とする請求項2に記載された地図データ検索システム。 - 前記各種データは、家屋又は一人暮らしの住宅、マンホール、弁、電柱等のいずれかを示すシンボルデータであり、
前記抽出手段はシンボルデータの個数を求めることを特徴とする請求項2に記載された地図データ検索システム。 - メッシュ単位で保持された境界データを縮小して、複数メッシュに渡って表示させることを特徴とする請求項1に記載された地図データ検索システム。
- 縮小された前記境界データを予め保持する手段を有することを特徴とする請求項9に記載された地図データ検索システム。
- ポリゴンを一部修正する場合、前記境界データを修正することを特徴とする請求項1に記載された地図データ検索システム。
- コンピュータを請求項1から請求項11いずれかに記載の地図データ検索システムとして機能させるプログラムを記録した記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35993897A JP3704235B2 (ja) | 1997-12-26 | 1997-12-26 | 地図データ検索システム、及び記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35993897A JP3704235B2 (ja) | 1997-12-26 | 1997-12-26 | 地図データ検索システム、及び記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11191111A JPH11191111A (ja) | 1999-07-13 |
JP3704235B2 true JP3704235B2 (ja) | 2005-10-12 |
Family
ID=18467077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP35993897A Expired - Lifetime JP3704235B2 (ja) | 1997-12-26 | 1997-12-26 | 地図データ検索システム、及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3704235B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2002238223A1 (en) * | 2000-09-20 | 2002-04-02 | Noboru Masaoka | Information management system |
JP3302986B1 (ja) * | 2000-09-20 | 2002-07-15 | 昇 正岡 | 情報管理システム |
JP4823699B2 (ja) * | 2005-01-28 | 2011-11-24 | ソフトバンクBb株式会社 | エリア抽出システム及びエリア抽出方法 |
JP4889958B2 (ja) * | 2005-03-30 | 2012-03-07 | ソフトバンクBb株式会社 | 経路策定システム及び経路策定方法 |
JP5382924B2 (ja) * | 2009-05-24 | 2014-01-08 | アルパイン株式会社 | ポリゴンのアウトライン描画方法及び装置 |
JP5455757B2 (ja) * | 2010-04-15 | 2014-03-26 | 三菱電機株式会社 | 地図情報処理装置 |
JP2014190889A (ja) * | 2013-03-28 | 2014-10-06 | Zenrin Datacom Co Ltd | 経路案内装置経路案内方法および経路案内プログラム |
CN108122242A (zh) * | 2016-11-24 | 2018-06-05 | 英业达科技有限公司 | 物件追踪方法 |
JP6715200B2 (ja) * | 2017-02-28 | 2020-07-01 | 株式会社小松製作所 | 地形情報処理装置、地形情報処理方法、およびプログラム |
-
1997
- 1997-12-26 JP JP35993897A patent/JP3704235B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH11191111A (ja) | 1999-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2038677B1 (en) | Enhanced positional accuracy in geocoding by dynamic interpolation | |
CN107798054B (zh) | 一种基于Trie的范围查询方法及装置 | |
Jenny et al. | Visualizing the planimetric accuracy of historical maps with MapAnalyst | |
JP3704235B2 (ja) | 地図データ検索システム、及び記録媒体 | |
EP1783723A2 (en) | Road area extracting apparatus for extracting a road area from a block map, deformed map automatic generation system for generating a deformed map from road area data obtained by the road area extracting apparatus, map information providing system, geographical information providing system and geographical information describing method | |
Tucci et al. | Using spatial analysis and geovisualization to reveal urban changes: Milan, Italy, 1737–2005 | |
JP2011514540A (ja) | 地理情報システムにおける線形参照システムイベントの配置 | |
US8564607B2 (en) | Apparatus and method for creating textures of building | |
CN117556158B (zh) | 耦合地名标签与等值线的用户周边地点可视化方法及系统 | |
Drummond et al. | Rural cultural and creative industry clustering: The Sarah Baartman district, South Africa | |
Penninga et al. | A simplicial complex‐based DBMS approach to 3D topographic data modelling | |
CN110427450A (zh) | 基于互联网地图的油气管线数据处理方法和系统 | |
CN105426387A (zh) | 一种基于K-means算法的地图聚合方法 | |
Kavisha et al. | A CityGML extension for handling very large TINs | |
US20160078651A1 (en) | Proximity-Base Detail Reduction of Geographic Data | |
CN113901168B (zh) | 一种基于互联网地图平台的自有数据扩展融合方法 | |
CN101548156B (zh) | 存储或显示预定几何形状对象的方法和装置 | |
JP3662405B2 (ja) | 地図データ検索システム、地図データ検索方法及び記録媒体 | |
Spence | A taxonomy of graphical presentation | |
Hartomo et al. | Searching the shortest route to distribute disaster’s logistical assistance using Dijkstra method | |
CN113920281A (zh) | 一种虚拟现实环境中空间规划方法、系统及应用方法 | |
Broux | Detecting Settlement Communities in Graeco-Roman Egypt | |
Kuper et al. | Application of 3D spatio-temporal data modeling, management, and analysis in DB4GEO | |
CN111581754A (zh) | 滨水景点网络生成方法、系统、计算机设备及存储介质 | |
Ifatimehin et al. | Attributes of topographic mapping of a fast urbanising area in Nigeria, using remote sensing and GIS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041026 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041224 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050308 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050425 |
|
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: 20050719 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050722 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080729 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090729 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090729 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100729 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110729 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110729 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120729 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120729 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130729 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |