(57)【要約】【課題】地図データから図郭線のデータを抽出・除去する処理を高速かつ効果的におこない、図郭線を除去した地図の地図データを生成すること。【解決手段】データ分割部１１４ｂが、記憶部１１３に記憶された地図データ４０ａ〜４０ｚを読み出して、当該地図データ４０ａ〜４０ｚに対応する地図を構成する閉多角形の各線分の傾斜を判定することにより図郭線を抽出し、地図データ生成部１１４ｄが、データ分割部１１４ｂにより抽出された図郭線を除去した地図のデータを新地図データ４３ａ〜４３ｚとして生成する。【選択図】        図１２
2007249047.tif 000002
【特許請求の範囲】
【請求項１】
図郭線を除去した地図の地図データを生成する地図データ生成プログラムであって、
データベースに記憶された地図データを読み出して当該地図データに対応する地図を構成する閉多角形の各線分の傾斜を判定することにより前記図郭線を抽出する抽出手順と、
前記抽出手順により抽出された図郭線を除去した地図の地図データを生成する生成手順と、
をコンピュータに実行させることを特徴とする地図データ生成プログラム。
【請求項２】
前記抽出手順は、前記線分の傾斜を判定することにより前記図郭線の候補となる線分を抽出し、ＸＹ直交座標系において前記図郭線が存在し得るあらかじめ登録されたＸ座標またはＹ座標の情報に、抽出した線分のＸ座標またはＹ座標が含まれるか否かを判定することにより前記図郭線を抽出することを特徴とする請求項１に記載の地図データ生成プログラム。
【請求項３】
前記生成手順は、前記抽出手順により前記地図を構成する図郭線を含んだ閉多角形から当該図郭線が抽出された場合に、当該図郭線の端点から所定の距離内にある当該図郭線以外の線分の端点同士を結合して新たな閉多角形を生成することにより前記図郭線を除去した地図の地図データを生成することを特徴とする請求項１または２に記載の地図データ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、図郭線を除去した地図の地図データを生成する地図データ生成プログラムに関し、特に、地図データから図郭線のデータを抽出・除去する処理を高速かつ効果的におこない、図郭線を除去した地図の地図データを生成することができる地図データ生成プログラムに関する。
【背景技術】
【０００２】
従来、電子化された地図データ上の各位置に、各位置に関連するさまざまな情報を表示して、ユーザが各情報の位置関係を把握しやすくするＧＩＳ（Geographical Information System）が広く利用されている。
【０００３】
このようなＧＩＳで用いられる地図データには、地図データを所定の地域ごとに区切る図郭線の情報が含まれている。そのため、複数の地域を跨って地図データをディスプレイなどに表示させる場合には図郭線まで表示されてしまい、地図が見にくくなるという問題がある。
【０００４】
そのため、地図データから図郭線を抽出・除去する方法がいくつか提案されている。たとえば、非特許文献１には、ユーザが図郭線で分割された地域をマウス等で選択し、その地域を結合させて図郭線を消去するＧＩＳソフトウェアが示されている。また、非特許文献２には、あらかじめ宣言あるいは予想されていた図郭線の座標値と地図データの座標値とを比較して図郭線を抽出することが記載されている。
【０００５】
【非特許文献１】高橋  昭子、“数値地図の図郭線”、［online］、［平成１８年３月１０日検索］、インターネット＜URL : http://home.csis.u-tokyo.ac.jp/~akuri/teku/teku7.htm＞
【非特許文献２】柳田  聡、“誰も書かなかったＧＩＳ  第９回”、［online］、［平成１８年３月１０日検索］、インターネット＜URL : http://www.ncm-git.co.jp/pr/soft/giseducation/essay/essay9.pdf＞、図７
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した非特許文献１の従来技術では、図郭線を消去する地域の数が多いと作業量が膨大になり、人手では対応しきれなくなるという問題があった。また、結合する地域の組み合わせを自動的に選択することとしてもよいが、この場合すべての組み合わせに対して図郭線があるか否かを判定する必要があるため、地域の数が大きい場合には組み合わせの数が膨大なものとなり、上記判定処理の処理時間が大きくなるという問題があった。
【０００７】
また、上述した非特許文献２の従来技術では、あらかじめ宣言あるいは予想された図郭線の座標値と地図データの座標値とを単に比較して図郭線を抽出するため、座標値の比較時に、あらかじめ宣言あるいは予想された図郭線の座標値を読み出す処理と、地図データの座標値を読み出す処理とが常に必要となり、何らかの工夫無しでは比較処理の処理時間が大きくなるという問題があった。
【０００８】
そのため、地図データから図郭線のデータを抽出・除去する処理をいかに高速かつ効果的におこない、図郭線を除去した地図の地図データを生成することができるかが従来課題となっていた。
【０００９】
本発明は、上述した従来技術による問題点を解消するためになされたものであり、地図データから図郭線のデータを抽出・除去する処理を高速かつ効果的におこない、図郭線を除去した地図の地図データを生成することができる地図データ生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するため、本発明は、図郭線を除去した地図の地図データを生成する地図データ生成プログラムであって、データベースに記憶された地図データを読み出して当該地図データに対応する地図を構成する閉多角形の各線分の傾斜を判定することにより前記図郭線を抽出する抽出手順と、前記抽出手順により抽出された図郭線を除去した地図の地図データを生成する生成手順と、をコンピュータに実行させることを特徴とする。
【００１１】
また、本発明は、上記発明において、前記抽出手順は、前記線分の傾斜を判定することにより前記図郭線の候補となる線分を抽出し、ＸＹ直交座標系において前記図郭線が存在し得るあらかじめ登録されたＸ座標またはＹ座標の情報に、抽出した線分のＸ座標またはＹ座標が含まれるか否かを判定することにより前記図郭線を抽出することを特徴とする。
【００１２】
また、本発明は、上記発明において、前記生成手順は、前記抽出手順により前記地図を構成する図郭線を含んだ閉多角形から当該図郭線が抽出された場合に、当該図郭線の端点から所定の距離内にある当該図郭線以外の線分の端点同士を結合して新たな閉多角形を生成することにより前記図郭線を除去した地図の地図データを生成することを特徴とする。
【００１３】
また、本発明は、図郭線を除去した地図の地図データを生成する地図データ生成方法であって、データベースに記憶された地図データを読み出して当該地図データに対応する地図を構成する閉多角形の各線分の傾斜を判定することにより前記図郭線を抽出する抽出工程と、前記抽出工程により抽出された図郭線を除去した地図の地図データを生成する生成工程と、を含んだことを特徴とする。
【００１４】
また、本発明は、図郭線を除去した地図の地図データを生成する地図データ生成装置であって、地図データを記憶する記憶手段と、前記記憶手段に記憶された地図データを読み出して当該地図データに対応する地図を構成する閉多角形の各線分の傾斜を判定することにより前記図郭線を抽出する抽出手段と、前記抽出手段により抽出された図郭線を除去した地図の地図データを生成する生成手段と、を備えたことを特徴とする。
【発明の効果】
【００１５】
本発明によれば、データベースに記憶された地図データを読み出して当該地図データに対応する地図を構成する閉多角形の各線分の傾斜を判定することにより図郭線を抽出し、抽出した図郭線を除去した地図の地図データを生成することとしたので、地図データから図郭線のデータを抽出・除去する処理を高速かつ効果的におこない、図郭線を除去した地図の地図データを生成することができるという効果を奏する。
【００１６】
また、本発明によれば、線分の傾斜を判定することにより図郭線の候補となる線分を抽出し、ＸＹ直交座標系において図郭線が存在し得るあらかじめ登録されたＸ座標またはＹ座標の情報に、抽出した線分のＸ座標またはＹ座標が含まれるか否かを判定することにより図郭線を抽出することとしたので、図郭線の候補が抽出された場合にのみ、図郭線が存在し得る座標のあらかじめ登録された情報を読み出して線分が図郭線か否かを判定することとしたので、図郭線の抽出を高速におこなうことができるという効果を奏する。
【００１７】
また、本発明によれば、地図を構成する図郭線を含んだ閉多角形から当該図郭線が抽出された場合に、当該図郭線の端点から所定の距離内にある当該図郭線以外の線分の端点同士を結合して新たな閉多角形を生成することにより図郭線を除去した地図の地図データを生成することとしたので、図郭線を除去した地図の地図データを効率的に生成することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１８】
以下に添付図面を参照して、本発明に係る地図データ生成プログラムの好適な実施例を詳細に説明する。
【実施例】
【００１９】
まず、本発明に係る地図データ生成処理の概念について説明する。図１は、図郭線の除去について説明する図であり、図２は、本発明に係る地図データ生成処理の概念について説明する図である。
【００２０】
図１に示すように、図郭線の除去前の地図には、地図上で各市区町村の境界を表す閉多角形１０とともに、水平および垂直の図郭線１１，１２が表示されている。このような図郭線１１，１２は、現実には存在しない線であり、図１に示すように広い地域の地図を表示する際には地図が見にくくなるため除去される。
【００２１】
本発明では、閉多角形１０を構成する各線分の傾斜を判定することにより閉多角形１０から図郭線を抽出し、除去する処理をおこなう。たとえば、図２には、閉多角形の頂点のＸＹ直交座標系における座標値が（Ｘ１，Ｙ１）、（Ｘ２，Ｙ２）、（Ｘｐ，Ｙｐ）、（Ｘｑ，Ｙｑ）、（Ｘ５，Ｙ５）である面２０と、閉多角形の頂点の座標値が（Ｘ３，Ｙ３）、（Ｘ４，Ｙ４）、（Ｘｑ，Ｙｑ）、（Ｘｐ，Ｙｐ）である面２１とが示されている。ここで、点（Ｘｐ，Ｙｐ）、（Ｘｑ，Ｙｑ）を結んだ線分は図郭線２２であるものとする（Ｘｐ＝Ｘｑ）。
【００２２】
このような場合、図郭線２２の抽出は、面２０，２１を囲む閉多角形を各線分に分割し、各線分の傾斜を調べることによりおこなわれる。具体的には、各面２０，２１の閉多角形が、垂直な線分（２つの端点のＸ座標が等しくＹ座標だけが異なっている線分）を含んでいるか否か、あるいは、水平な線分（２つの端点のＹ座標が等しくＸ座標だけが異なっている線分）を含んでいるか否かを調べる。図２の例では、図郭線２２は、２つの端点のＸ座標が等しくＹ座標だけが異なっているため、この図郭線２２が垂直な線分として抽出される。
【００２３】
なお、たとえ垂直あるいは水平な線分であっても、市区町村の地域形状が偶然そのような線分で表される場合もあるため、本発明では、図郭線２２が存在し得るＸ座標またはＹ座標の値をあらかじめ登録しておき、上述したようにして抽出された垂直な線分のＸ座標の値が、登録されているＸ座標の値に含まれているか否か、あるいは、水平な線分のＹ座標の値が、登録されているＹ座標の値に含まれているか否かを調べることにより、垂直あるいは水平な線分が図郭線２２であるか否かを判定する処理をおこなう。
【００２４】
図３は、図郭線が存在し得るＸ座標またはＹ座標の値を記憶した図郭線データ３０の一例を示す図である。図３に示すように、この図郭線データ３０には、垂直な図郭線が存在し得るＸ座標の値および水平な図郭線が存在し得るＹ座標の値が１次元配列で登録されている。なお、このような図郭線が存在し得るＸ座標の値およびＹ座標の値は所定の統一規格により定められているものである。
【００２５】
このようにして図郭線２２が抽出されると、図２に示すように、図郭線２２を除外した各線分が結合され、新たな閉多角形２３が生成される。この各線分の結合時には、各線分の端点の座標値（Ｘ座標の値、Ｙ座標の値）が調べられ、座標値が一致する線分の端点同士が結合される。
【００２６】
この場合、面２０に対応付けて記憶された座標値のデータと面２１に対応付けて記憶された座標値のデータとの間で、図郭線２２の端点の座標値に若干ずれがある場合などもあるので、端点の座標値間の距離が所定値以内である場合に端点の座標値が一致すると判定し、各線分を結合することとする。
【００２７】
このように、本発明では、各閉多角形の線分の傾斜から図郭線を抽出するので、各閉多角形について図郭線の有無を一度ずつ調べればよく、図郭線の抽出処理を高速に実行できるとともに、図郭線を抽出する閉多角形を人が指定する必要もないので、図郭線の抽出処理を容易におこなうことができる。
【００２８】
また、本発明では、各閉多角形について線分の傾斜から図郭線の候補を抽出し、図郭線の候補が抽出された場合にのみ、図郭線が存在し得る座標の情報を登録した図郭線データ３０を用いてその線分が図郭線か否かを判定することとしたので、すべての線分の座標についてあらかじめ宣言あるいは予想された図郭線の座標値と比較して図郭線の抽出をおこなう場合よりも高速に図郭線の抽出処理をおこなうことができる。
【００２９】
つぎに、本実施例に係る地図データ生成処理の詳細について説明する。図４は、本実施例に係る地図データ生成処理の詳細について説明する図である。図４に示すように、本実施例に係る地図データ生成処理では、まず、地図データ４０ａを図郭線やサイクルごとに分割する処理をおこなう。
【００３０】
ここで、地図データ４０ａとは、複数のサイクルを持ち、図郭線を含み、また、各サイクルにＩＤが割り当てられている地図データのことである。また、サイクルとは、１つの閉じたループを構成している閉多角形のことである。図５は、図郭線を含む地域の地図データおよび地図データの属性情報を記憶した地図属性データの一例について説明する図である。
【００３１】
図５の例には、４つの面５０ａ〜５０ｄと図郭線５１とが存在する場合が示されている。このような場合、地図データ４０ａには、図郭線５１を含む４つの面５０ａ〜５０ｄに対応する各経過点の情報が登録される。具体的には、各面５０ａ〜５０ｄについて、面ＩＤ、サイクル数、経過点数、経過点座標の４種類の情報が登録される。
【００３２】
面ＩＤは、各面を識別する識別情報である。サイクル数は、面ＩＤにより識別される面に属するサイクルの数である。経過点数は、サイクルに含まれる各経過点の数である。ここで、経過点とは、閉多角形の頂点、および、図郭線５１が頂点以外で閉多角形の線分と交わっている場合の交点のことである。経過点座標は、各経過点のＸ座標およびＹ座標である。
【００３３】
なお、市区町村が飛び地を有したり、湖などの領域を含む場合には、サイクル数が２以上になる。図６は、市区町村に飛び地や湖がある場合の地図データについて説明する図である。
【００３４】
図６において、面６０ａおよび面６０ｂは、飛び地の関係にある市区町村であるものとする。この場合、２つの面６０ａ，６０ｂが１つの面ＩＤで管理される。このような場合、図４に示した地図データ４０ａには、サイクル数として２が登録され、面６０ａに対応する１つ目のサイクルの経過点数および経過点座標の情報が登録された後、面６０ｂに対応する２つ目のサイクルの経過点数および経過点座標の情報が登録される。
【００３５】
また、面６１ａ内に湖などの領域を示す面６１ｂを有する場合には、２つの面６１ａ，６１ｂが１つの面ＩＤで管理される。そして、図４に示した地図データ４０ａには、サイクル数として２が登録され、面６１ａに対応する１つ目のサイクルの経過点数および経過点座標の情報が登録された後、面６１ｂに対応する２つ目のサイクルの経過点数および経過点座標の情報が登録される。
【００３６】
図５の説明に戻ると、地図属性データ５２ａは、面ＩＤと市区町村ＩＤとを対応付けて記憶したデータである。ここで、面ＩＤは、地図データ４０ａで説明した面ＩＤに対応するものであり、市区町村ＩＤは、各市区町村を識別する識別情報である。この地図属性データ５２ａを参照することにより、所定の市区町村に対応する面がどれであるかを判定することができる。
【００３７】
なお、図５に示した図郭線を含む地図データ４０ａに対し、図郭線を含まない地図データは図７のようになる。図７は、図郭線を含まない地域の地図データおよび当該地図データに係る地図属性データについて説明する図である。
【００３８】
図７の例では、２つの面７０ａ，７０ｂが示されているが、図郭線は存在しない。このような場合も同様に、地図データ７１には、２つの面７０ａ，７０ｂに対応する情報が登録されるが、図郭線は存在しないため、経過点座標には閉多角形の頂点の座標値の情報のみが登録される。また、地域属性データ７２は、図５に示した地域属性データ５２と同様のものとなる。
【００３９】
図４の説明に戻ると、図５で示したような地図データ４０ａが分割されて分割データ４１ａ〜４１ｆが生成される。これらの分割データ４１ａ〜４１ｆは、図郭線を持たない、経過点の情報は持つがサイクルであるとは限らない、それぞれ固有のＩＤを持つという特徴を有する。
【００４０】
図８−１〜図８−３は、図４に示した分割データの生成処理について説明する図（１）、（２）、（３）である。また、図９は、分割データおよび当該分割データの属性情報を記憶した分割属性データの一例を示す図である。なお、ここでは、図郭線５１が２つの面５０ａ，５０ｂの境界となっている場合について説明する。
【００４１】
この分割データの生成処理では、図郭線５１が検出されるまで、経過点の座標が順に地図データ４０ａから読み出され、図郭線５１が検出された場合にそれまでに端点の座標値が読み出された図郭線５１以外の線分に係る情報を１つの分割データとして保存する。
【００４２】
また、図郭線５１が検出された後、サイクル内のすべての経過点の座標が読み取られた場合には、図郭線５１の検出以後に端点の座標値が読み出された線分に係る情報を１つの分割データとして保存する。
【００４３】
たとえば、図８−１の例では、地図データ４０ａから面５０ａの経過点の１点目の座標（Ｘ６，Ｙ６）および２点目の座標（Ｘ７，Ｙ７）が読み込まれる。そして、１点目のＸ座標Ｘ６と２点目のＸ座標Ｘ７とが一致するか否か、また、１点目のＹ座標Ｙ６と２点目のＹ座標Ｙ７とが一致するか否かが調べられる。この場合、Ｘ座標もＹ座標も一致しないため、１点目の経過点と２点目の経過点とを結んだ線分は図郭線ではないと判定される。
【００４４】
そして、座標値が（Ｘ７，Ｙ７）である２点目の経過点と座標値が（Ｘｐ，Ｙｐ）である３点目の経過点とを結んだ線分が図郭線であるか否かがつぎに調べられる。この場合も、２点目の経過点と３点目の経過点との間でＸ座標もＹ座標も一致しないため、２点目の経過点と３点目の経過点とを結ぶ線分は図郭線ではないと判定される。
【００４５】
その後、さらに、座標値が（Ｘｐ，Ｙｐ）である３点目の経過点と座標値が（Ｘｑ，Ｙｑ）である４点目の経過点とを結んだ線分が図郭線であるか否かが調べられる。この場合、３点目のＸ座標と４点目のＸ座標とが一致するため（Ｘｐ＝Ｘｑ）、３点目の経過点と４点目の経過点とを結ぶ線分が図郭線５１の候補であると判定される。
【００４６】
さらに、一致したＸ座標の値Ｘｐが図３に示した図郭線データ３０に登録されているか否かが調べられる。そして、Ｘ座標の値Ｘｐが図郭線データ３０に登録されている場合には、３点目の経過点と４点目の経過点とを結ぶ線分が図郭線５１であると判定される。
【００４７】
図８−１の場合、図郭線５１が検出されたため、それまでに端点の座標値が読み出された図郭線５１以外の線分を分割線とし、その分割線に係る情報が分割データおよび分割属性データとして記憶される。
【００４８】
図９には、図８−１に示した処理で生成される分割線８０ａ、分割データ４１ａおよび分割属性データ８１ａが示されている。ここで、分割データ４１ａは、分割線８０ａに含まれる各経過点の座標を登録したデータである。
【００４９】
分割属性データ８１ａは、分割データ４１ａに係る属性情報を記憶したデータである。この分割属性データ８１ａは、市区町村ＩＤ、開始点座標、終了点座標、前の分割データの有無、後の分割データの有無、分割データファイル名、経過点数の情報が登録されている。
【００５０】
市区町村ＩＤは、図５に示した地図属性データ５２ａに含まれる市区町村ＩＤに対応するものであり、この分割線８０ａを境界線の一部として有する市区町村を識別する識別情報である。開始点座標は、分割線８０ａの開始点である経過点のＸ座標およびＹ座標である。終了点座標は、分割線８０ａの終了点である経過点のＸ座標およびＹ座標である。
【００５１】
前の分割データの有無は、この分割データ４１ａの前に生成された分割データがあるか否かを示す情報であり、分割データがある場合には「１」が、分割データがない場合には「０」が登録される。後の分割データの有無は、分割データ４１ａの後に生成される分割データがあるか否かを示す情報であり、分割データがある場合には「１」が、分割データがない場合には「０」が登録される。
【００５２】
分割データファイル名は、分割データ４１ａが記憶されているファイルを識別するファイル名の情報である。また、経過点数は、この分割線８０ａに含まれる経過点の数の情報である。
【００５３】
このようにして面５０ａから分割線８０ａが抽出されると、図８−２に示すように、４点目の経過点（Ｘｑ，Ｙｑ）に隣接する経過点（Ｘ２，Ｙ２）が５点目の経過点として選択される。
【００５４】
そして、４点目のＸ座標Ｘｑと５点目のＸ座標Ｘ２とが一致するか否か、また、４点目のＹ座標Ｙｑと５点目のＹ座標Ｙ２とが一致するか否かが調べられる。この場合、Ｘ座標もＹ座標も一致しないため、４点目の経過点と５点目の経過点とを結んだ線分は図郭線ではないと判定される。
【００５５】
続いて、座標値が（Ｘ２，Ｙ２）である５点目の経過点と座標値が（Ｘ６，Ｙ６）である６点目の経過点とを結んだ線分が図郭線であるか否かが調べられる。この場合も、５点目の経過点と６点目の経過点との間でＸ座標もＹ座標も一致しないため、５点目の経過点と６点目の経過点とを結ぶ線分は図郭線ではないと判定される。
【００５６】
ここで、座標データを読み取った経過点の数（６個）が、地図データに含まれる経過点数（５個）を超え、サイクル内のすべての経過点の座標が読み取られたため、図郭線５１の検出以後に端点の座標値が読み出された線分を分割線とし、その分割線に係る情報を分割データおよび分割属性データとして記憶する。
【００５７】
図９には、図８−２に示した処理で生成される分割線８０ｂ、分割データ４１ｂおよび分割属性データ８１ｂが示されている。ここで、分割データ４１ｂは、分割データ４１ａと同様のものであり、分割線８０ｂの各経過点の座標の情報が登録されている。
【００５８】
また、分割属性データ８１ｂは、分割属性データ８１ａと同様のものであり、分割線８０ｂに対応する市区町村ＩＤ、開始点座標、終了点座標、前の分割データの有無、後の分割データの有無、分割データファイル名、経過点数の情報が登録されている。
【００５９】
図８−２に示した分割線分の抽出処理の終了後、図８−３に示すように、面５０ｂに係る分割線分の抽出処理がおこなわれる。具体的には、面５０ａに係る分割線分の抽出処理と同様に、経過点の座標が順に地図データ４０ａから読み出され、図郭線５１が検出された場合にそれまでに端点の座標値が読み出された図郭線５１以外の線分に係る情報を１つの分割データとして保存する。
【００６０】
また、図郭線５１が検出された後、サイクル内のすべての経過点の座標が読み取られた場合には、図郭線５１の検出以後に端点の座標値が読み出された線分に係る情報を１つの分割データとして保存する。
【００６１】
図９には、図８−３に示した処理で生成される分割線８０ｃ，８０ｄ、分割データ４１ｃ，４１ｄおよび分割属性データ８１ｃ，８１ｄが示されている。ここで、分割データ４１ｃ，４１ｄは、分割データ８１ａと同様のものであり、分割線８０ｃ，８０ｄの各経過点の座標の情報が登録されている。
【００６２】
また、分割属性データ８１ｃ，８１ｄは、分割属性データ８１ａと同様のものであり、分割線８０ｃ，８０ｄに対応する市区町村ＩＤ、開始点座標、終了点座標、前の分割データの有無、後の分割データの有無、分割データファイル名、経過点数の情報が登録されている。
【００６３】
図４の説明に戻ると、このような方法で生成された分割データ４１ａ〜４１ｆは、サイクル単位で結合され、結合データ４２ａ〜４２ｃが生成される。具体的には、ある分割線の開始点と別の分割線の終了点とが一致する場合に、それらの分割線が結合され、このような処理を繰り返すことにより結合データ４２ａ〜４２ｃが生成される。ここで、各結合データ４２ａ〜４２ｃは、図郭線を持たず、１つのサイクルを持ち、ＩＤが割り当てられているという特徴がある。
【００６４】
図１０は、結合データおよび当該結合データの属性情報を記憶した結合属性データについて説明する図である。図１０の例には、開始点と終了点とが一致する図９に示した分割線８０ａ〜８０ｄが結合され、面９０が生成される場合が示されている。
【００６５】
このような場合、結合データ４２ａには、面９０に含まれるすべての経過点の座標が登録される。また、結合属性データ９１ａには、市区町村ＩＤ、結合データファイル名、経過点数の情報が登録される。
【００６６】
市区町村ＩＤは、図５に示した地図属性データ５２ａに含まれる市区町村ＩＤに対応するものであり、この面９０に対応する市区町村を識別する識別情報である。結合データファイル名は、結合データ４２ａが記憶されているファイルを識別するファイル名の情報である。経過点数は、この面９０に含まれる経過点の数の情報である。
【００６７】
図４の説明に戻ると、結合データ４２ａ〜４２ｃが生成された後、その結合データ４２ａ〜４２ｃは１つの地図データに統合され、図郭線除去後の新地図データ４３ａが生成される。この新地図データ４３ａは、複数のサイクルを持ち、図郭線を持たず、各サイクルにＩＤが割り当てられているという特徴を有する。
【００６８】
図１１は、新地図データおよび当該新地図データの属性情報を記憶した新地図属性データについて説明する図である。ここで、新地図データ４３ａとは、結合データ４２ａ〜４２ｃを統合することにより得られた図郭線除去後の地図データであり、新地図属性データ１００ａとは、その新地図データ４３ａの属性情報を記憶したデータである。
【００６９】
図１１に示すように、新地図データ４３ａおよび新地図属性データ１００ａは、図５に示した地図データ４０ａおよび地図属性データ５２ａと同様のデータ形式を有している。具体的には、新地図データ４３ａは、図郭線が除去された面９０に係る面ＩＤ、サイクル数、経過点数、経過点座標の情報が登録されている。また、新地図属性データ１００ａには、面ＩＤと市区町村ＩＤとが対応付けて登録されている。
【００７０】
つぎに、本実施例に係る地図データ生成装置の機能構成について説明する。図１２は、本実施例に係る地図データ生成装置の機能構成を示す図である。図１２に示すように、この地図データ生成装置は、入力部１１０、表示部１１１、ネットワークインターフェース部１１２、記憶部１１３、制御部１１４を有する。
【００７１】
入力部１１０は、キーボードやマウスなどの入力デバイスである。表示部１１１は、ディスプレイなどの表示デバイスである。ネットワークインターフェース部１１２は、他の装置との間でネットワークを介してデータの送受信をおこなうインターフェースである。
【００７２】
記憶部１１３は、ハードディスク装置などの記憶デバイスである。この記憶部１１３は、図５に一例を示した地図データ４０ａ〜４０ｚ、図５に一例を示した地図属性データ５２ａ〜５２ｚ、図３に一例を示した図郭線データ３０、図９に一例を示した分割データ４１ａ〜４１ｚ、図９に一例を示した分割属性データ８１ａ〜８１ｚ、図１０に一例を示した結合データ４２ａ〜４２ｚ、図１０に一例を示した結合属性データ９１ａ〜９１ｚ、図１１に一例を示した新地図データ４３ａ〜４３ｚ、図１１に一例を示した新地図属性データ１００ａ〜１００ｚの各ファイルを記憶する。
【００７３】
制御部１１４は、地図データ生成装置を全体制御する制御部であり、各機能部間のデータの授受などを司る。この制御部１１４は、データ管理部１１４ａ、データ分割部１１４ｂ、データ結合部１１４ｃ、地図データ生成部１１４ｄ、地図出力制御部１１４ｅを有する。
【００７４】
データ管理部１１４ａは、記憶部１１３に対する各種データの記憶または読み出しを管理する管理部である。データ分割部１１４ｂは、図８−１〜図８−３で説明したようにして、地図データ４０ａ〜４０ｚに含まれる各面の線分から図郭線を検出し、図郭線を含んだサイクルを複数の分割線に分割して分割データ４１ａ〜４１ｚおよび分割属性データ８１ａ〜８１ｚを生成し、生成した分割データ４１ａ〜４１ｚおよび分割属性データ８１ａ〜８１ｚを記憶部１１３に記憶する分割部である。
【００７５】
データ結合部１１４ｃは、図１０で説明したように、データ分割部１１４ｂによりサイクルが分割されてできたある分割線の開始点と別の分割線の終了点とが一致する場合に、それらの分割線を結合して結合データ４２ａ〜４２ｚおよび結合属性データ９１ａ〜９１ｚを生成し、生成した結合データ４２ａ〜４２ｚおよび結合属性データ９１ａ〜９１ｚを記憶部１１３に記憶する結合部である。
【００７６】
地図データ生成部１１４ｄは、図１１で説明したように、データ結合部１１４ｃにより結合されてできた各サイクルを統合して、新地図データ４３ａ〜４３ｚおよび新地図属性データ１００ａ〜１００ｚを生成し、生成した新地図データ４３ａ〜４３ｚおよび新地図属性データ１００ａ〜１００ｚを記憶部１１３に記憶する生成部である。
【００７７】
地図出力制御部１１４ｅは、地図データ生成部１１４ｄにより生成された新地図データ４３ａ〜４３ｚおよび新地図属性データ１００ａ〜１００ｚに基づいて、表示部１１１に対する地図画面の出力制御をおこなう制御部である。
【００７８】
具体的には、この地図出力制御部１１４ｅは、入力部１１０を介してユーザから表示部１１１への出力を希望する地域の指定を受け付け、指定された地域に対応する地図を新地図データ４３ａ〜４３ｚおよび新地図属性データ１００ａ〜１００ｚに基づいて表示部１１１に出力する処理をおこなう。
【００７９】
つぎに、本実施例に係る地図データ生成処理の処理手順について説明する。図１３は、本実施例に係る地図データ生成処理の処理手順を示すフローチャートである。図１３に示すように、まず、地図データ生成装置のデータ分割部１１４ｂは、地図データ４０ａ〜４０ｚに含まれる各サイクルを分割線に分割し、図郭線を除去する分割処理をおこなう（ステップＳ１０１）。
【００８０】
そして、データ結合部１１４ｃは、データ分割部１１４ｂにより分割されてできた分割線のデータを結合する処理をおこなう（ステップＳ１０２）。その後、地図データ生成部１１４ｄは、データ結合部１１４ｃにより結合されたデータを用いて図郭線が除去された地図データを作成する処理をおこない（ステップＳ１０３）、この地図データ生成処理を終了する。
【００８１】
つぎに、図１３に示したステップＳ１０１〜ステップＳ１０３の処理を詳細に説明する。図１４−１は、図１３に示したデータ分割処理の処理手順を示すフローチャートである。
【００８２】
図１４−１に示すように、まず、地図データ生成装置のデータ分割部１１４ｂは、地図データ４０ａ〜４０ｚのファイルおよび地図属性データ５２のファイルを開く（ステップＳ２０１）。また、データ分割部１１４ｂは、サイクルの分割結果を登録する分割データ４１ａ〜４１ｚのファイルおよび分割属性データ８１ａ〜８１ｚのファイルを開く（ステップＳ２０２）。
【００８３】
そして、データ分割部１１４ｂは、地図属性データ５２ａ〜５２ｚのファイルから市区町村ＩＤを、地図データ４０ａ〜４０ｚのファイルからサイクル数の情報を読み込む（ステップＳ２０３）。また、データ分割部１１４ｂは、地図データ４０ａ〜４０ｚのファイルから経過点数の情報を読み込み（ステップＳ２０４）、さらに、最初の経過点の経過点座標の値を第１の点の座標値として読み込む（ステップＳ２０５）。
【００８４】
その後、データ分割部１１４ｂは、分割属性データ８１ａ〜８１ｚのファイルに属性情報を登録する（ステップＳ２０６）。ここで、属性情報とは、市区町村ＩＤ、開始点座標（ここでは、第１の点の座標）、前の分割データ４１ａ〜４１ｚの有無（ここでは、前の分割データ４１ａ〜４１ｚが無いので「０」）、経過点数（座標値を読み出した経過点の数。ここでは、「１」）、開いた分割データ４１ａ〜４１ｚのファイルの分割データファイル名の情報である。
【００８５】
続いて、データ分割部１１４ｂは、第１の点の座標値を分割データ４１ａ〜４１ｚに登録し（ステップＳ２０７）、つぎの経過点が地図データ４０ａ〜４０ｚにあるか否かをすでに座標値を読み取った経過点数と、地図データ４０ａ〜４０ｚに登録されている経過点数とを比較することにより判定する（ステップＳ２０８）。
【００８６】
そして、つぎの経過点がある場合には（ステップＳ２０８，Ｙｅｓ）、データ分割部１１４ｂは、つぎの経過点の座標値を第２の経過点の座標値として地図データ４０ａ〜４０ｚから読み込む（ステップＳ２０９）。
【００８７】
そして、データ分割部１１４ｂは、第１の経過点と第２の経過点を結んだ線分の傾斜に基づいて、当該線分が図郭線であるか否かを判定する処理を実行する（ステップＳ２１０）。ここで、この図郭線判定処理について詳しく説明する。
【００８８】
図１４−２は、図１４−１に示した図郭線判定処理の処理手順を示すフローチャートである。図１４−２に示すように、まず、データ分割部１１４ｂは、第１の点のＸ座標と第２の点のＸ座標とが一致するか否かを調べることにより、線分が垂直線か否かを調べる（ステップＳ３０１）。
【００８９】
線分が垂直線である場合には（ステップＳ３０１，Ｙｅｓ）、データ分割部１１４ｂは、そのＸ座標の値を図郭線データ３０に登録されているＸ座標の値と比較し（ステップＳ３０２）、そのＸ座標の値が図郭線データ３０に存在するか否かを調べる（ステップＳ３０３）。
【００９０】
Ｘ座標の値が図郭線データ３０に存在する場合には（ステップＳ３０３，Ｙｅｓ）、データ分割部１１４ｂは、線分が図郭線であると判定し（ステップＳ３０４）、この図郭線判定処理を終了する。Ｘ座標の値が図郭線データ３０に存在しない場合には（ステップＳ３０３，Ｎｏ）、データ分割部１１４ｂは、線分が図郭線ではないと判定し（ステップＳ３０５）、この図郭線判定処理を終了する。
【００９１】
また、ステップＳ３０１において、線分が垂直線でない場合には（ステップＳ３０１，Ｎｏ）、データ分割部１１４ｂは、第１の点のＹ座標と第２の点のＹ座標とが一致するか否かを調べることにより、線分が水平線か否かを調べる（ステップＳ３０６）。
【００９２】
そして、線分が水平線ではない場合には（ステップＳ３０６，Ｎｏ）、データ分割部１１４ｂは、線分が図郭線ではないと判定し（ステップＳ３１０）、この図郭線判定処理を終了する。
【００９３】
線分が水平線である場合には（ステップＳ３０６，Ｙｅｓ）、データ分割部１１４ｂは、そのＹ座標の値を図郭線データ３０に登録されているＹ座標の値と比較し（ステップＳ３０７）、Ｙ座標の値が図郭線データ３０に存在するか否かを調べる（ステップＳ３０８）。
【００９４】
Ｙ座標の値が図郭線データ３０に存在する場合には（ステップＳ３０８，Ｙｅｓ）、データ分割部１１４ｂは、線分が図郭線であると判定し（ステップＳ３０９）、この図郭線判定処理を終了する。Ｙ座標の値が図郭線データ３０に存在しない場合には（ステップＳ３０８，Ｎｏ）、データ分割部１１４ｂは、線分が図郭線ではないと判定し（ステップＳ３１０）、この図郭線判定処理を終了する。
【００９５】
図１４−１の説明に戻ると、ステップＳ２１０の後、データ分割部１１４ｂは、線分が図郭線であると判定されたか否かを調べ（ステップＳ２１１）、線分が図郭線であると判定された場合には（ステップＳ２１１，Ｙｅｓ）、図郭線を除去する処理を実行する（ステップＳ２１２）。ここで、この図郭線除去処理について詳しく説明する。
【００９６】
図１４−３は、図１４−１に示した図郭線除外処理の処理手順を示すフローチャートである。図１４−３に示すように、データ分割部１１４ｂは、分割属性データ８１ａ〜８１ｚに属性情報を登録する（ステップＳ４０１）。ここで、属性情報とは、終了点座標（ここでは、第１の点の座標）、後の分割データ４１ａ〜４１ｚの有無（ここでは、後の分割データ４１ａ〜４１ｚがあるので「１」）、経過点数（分割データ４１ａ〜４１ｚに登録される経過点の数）の情報である。
【００９７】
そして、データ分割部１１４ｂは、分割結果の登録用に開いた分割データ４１ａ〜４１ｚおよび分割属性データ８１ａ〜８１ｚを閉じ（ステップＳ４０２）、新規の分割データ４１ａ〜４１ｚおよび分割属性データ８１ａ〜８１ｚを開く処理をおこなう（ステップＳ４０３）。
【００９８】
その後、データ分割部１１４ｂは、開いた分割属性データ８１ａ〜８１ｚに属性情報を登録し（ステップＳ４０４）、この図郭線除外処理を終了する。ここで、属性情報とは、市区町村ＩＤ、開始点座標（ここでは、第２の点の座標）、前の分割データ４１ａ〜４１ｚの有無（ここでは、前の分割データ４１ａ〜４１ｚがあるので「１」）、経過点数（座標値を読み出した経過点の数。ここでは、「１」）、開いた分割データ４１ａ〜４１ｚのファイルの分割データファイル名の情報である。
【００９９】
このように、図郭線が検出された場合には、図郭線を境としてサイクルを分割することにより、図郭線を含まない分割線のデータを分割データ４１ａ〜４１ｚとして生成することができる。
【０１００】
図１４−１の説明に戻ると、ステップＳ２１２の後、データ分割部１１４ｂは、第２の点の座標値を分割データ４１ａ〜４１ｚのファイルに登録する処理をおこなう（ステップＳ２１３）。ステップＳ２１１において、線分が図郭線でないと判定された場合には（ステップＳ２１１，Ｎｏ）、データ分割部１１４ｂは、そのままステップＳ２１３の処理を実行する。
【０１０１】
その後、データ分割部１１４ｂは、第２の点を第１の点として設定し（ステップＳ２１４）、ステップＳ２０８に移行して、つぎの経過点が地図データ４０ａ〜４０ｚにあるか否かをすでに座標値を読み取った経過点数と、地図データ４０ａ〜４０ｚに登録されている経過点数とを比較することにより判定する。
【０１０２】
そして、つぎの経過点が地図データ４０ａ〜４０ｚにある場合には（ステップＳ２１４，Ｙｅｓ）、データ分割部１１４ｂは、ステップＳ２０９以降の処理を継続する。つぎの経過点がない場合には（ステップＳ２０８，Ｎｏ）、データ分割部１１４ｂは、分割属性データ８１ａ〜８１ｚのファイルに属性情報を登録する（ステップＳ２１５）。
【０１０３】
ここで、属性情報とは、終了点座標（ここでは、最後の点の座標）、後の分割データ４１ａ〜４１ｚの有無（ここでは、後の分割データ４１ａ〜４１ｚがないので「０」）、経過点数（分割データ４１ａ〜４１ｚに登録された経過点の数）の情報である。
【０１０４】
そして、データ分割部１１４ｂは、開いた分割データ４１ａ〜４１ｚのファイルおよび分割属性データ８１ａ〜８１ｚのファイルを閉じ（ステップＳ２１６）、すべてのサイクルについてデータ分割処理が終了したか否かを調べる（ステップＳ２１７）。
【０１０５】
そして、すべてのサイクルについてデータ分割処理が終了していない場合には（ステップＳ２１７，Ｎｏ）、データ分割部１１４ｂは、新規の分割データ４１ａ〜４１ｚのファイルおよび分割属性データ８１ａ〜８１ｚのファイルを開き（ステップＳ２１８）、ステップＳ２０４に移行して、それ以後の処理を継続する。
【０１０６】
すべてのサイクルについてデータ分割処理が終了した場合には（ステップＳ２１７，Ｙｅｓ）、データ分割部１１４ｂは、すべての面データに対してデータ分割処理が終了したか否かを調べる（ステップＳ２１９）。
【０１０７】
そして、すべての面データに対してデータ分割処理が終了していない場合には（ステップＳ２１９，Ｎｏ）、ステップＳ２０２に移行して、データ分割部１１４ｂは、新規の分割データ４１ａ〜４１ｚのファイルおよび分割属性データ８１ａ〜８１ｚのファイルを開き（ステップＳ２０２）、それ以後の処理を継続する。
【０１０８】
すべての面データに対してデータ分割処理が終了した場合には（ステップＳ２１９，Ｙｅｓ）、そのままこのデータ分割処理を終了する。
【０１０９】
つぎに、図１３に示した分割データ結合処理の処理手順について説明する。図１５は、図１３に示した分割データ結合処理の処理手順を示すフローチャートである。図１５に示すように、まず、地図データ生成装置のデータ結合部１１４ｃは、結合データ４２ａ〜４２ｚのファイルおよび結合属性データ９１ａ〜９１ｚのファイルを新規に開く（ステップＳ５０１）。
【０１１０】
そして、データ結合部１１４ｃは、データ分割部１１４ｂにより生成された分割データ４１ａ〜４１ｚのファイルを開き（ステップＳ５０２）、さらに分割属性データ８１ａ〜８１ｚのファイルを開く（ステップＳ５０３）。
【０１１１】
続いて、データ結合部１１４ｃは、分割データ４１ａ〜４１ｚのファイルに登録された経過点の座標をすべて結合データ４２ａ〜４２ｚのファイルに登録し（ステップＳ５０４）、さらにその分割データ４１ａ〜４１ｚのファイルに対応する分割属性データ８１ａ〜８１ｚのファイルの「後の分割データの有無」に結合処理が済んだことを示す情報である「２」を登録する（ステップＳ５０５）。
【０１１２】
その後、データ結合部１１４ｃは、ステップＳ５０２でファイルを開いた分割データ４１ａ〜４１ｚと結合可能な分割データ４１ａ〜４１ｚのファイルが存在するか否かを検索する（ステップＳ５０６）。
【０１１３】
具体的には、データ結合部１１４ｃは、ファイルを開いた分割データ４１ａ〜４１ｚに対応する市区町村ＩＤと同じ市区町村ＩＤを持ち、ファイルを開いた分割データ４１ａ〜４１ｚの終了点座標と一致する開始点座標を有し、後の分割データの有無が「２」でないという条件を満足する分割データ４１ａ〜４１ｚが存在するか否かを検索する。
【０１１４】
そして、上記条件を満足する結合可能な分割データ４１ａ〜４１ｚのファイルが存在する場合には（ステップＳ５０６，Ｙｅｓ）、ステップＳ５０２に移行して、データ結合部１１４ｃは、分割データ４１ａ〜４１ｚのファイルを開き、それ以後の処理を継続する。
【０１１５】
上記条件を満足する結合可能な分割データ４１ａ〜４１ｚのファイルが存在しない場合には（ステップＳ５０６，Ｎｏ）、データ結合部１１４ｃは、結合属性データ９１ａ〜９１ｚのファイルに属性情報を登録する（ステップＳ５０８）。ここで、属性情報とは、分割データ４１ａ〜４１ｚに対応する市区町村ＩＤ、結合データ４２ａ〜４２ｚの結合データファイル名、経過点数（結合データ４２ａ〜４２ｚに座標値が登録された経過点の数）の情報である。
【０１１６】
その後、データ結合部１１４ｃは、ステップＳ５０１で開いた結合データ４２ａ〜４２ｚのファイルおよび結合属性データ９１ａ〜９１ｚのファイルを閉じ（ステップＳ５０９）、分割属性データ８１ａ〜８１ｚにおける後の分割データ４１ａ〜４１ｚの有無が「２」である未処理の分割データ４１ａ〜４１ｚが存在するか否かを調べる（ステップＳ５１０）。
【０１１７】
そして、未処理の分割データ４１ａ〜４１ｚが存在する場合には（ステップＳ５１０，Ｙｅｓ）、ステップＳ５０１に移行して、データ結合部１１４ｃは、それ以後の処理を継続する。未処理の分割データ４１ａ〜４１ｚが存在しない場合には（ステップＳ５１０，Ｎｏ）、そのままこの分割データ結合処理を終了する。
【０１１８】
つぎに、図１３に示した地図データ作成処理の処理手順について説明する。図１６は、図１３に示した地図データ作成処理の処理手順を示すフローチャートである。図１６に示すように、まず、地図データ生成装置の地図データ生成部１１４ｄは、新地図データ４３ａ〜４３ｚおよび新地図属性データ１００ａ〜１００ｚのファイルを新規に開く処理をおこなう（ステップＳ６０１）。
【０１１９】
そして、地図データ生成部１１４ｄは、データ結合部１１４ｃにより生成された結合データ４２ａ〜４２ｚのファイルを開き（ステップＳ６０２）、さらに結合属性データ９１ａ〜９１ｚのファイルを開く（ステップＳ６０３）。
【０１２０】
続いて、地図データ生成部１１４ｄは、同じ市区町村ＩＤを持つ結合データ４２ａ〜４２ｚのファイルを検索し（ステップＳ６０４）、検索された同じ市区町村ＩＤを持つ結合データ４２ａ〜４２ｚのファイル数をサイクル数として設定する（ステップＳ６０５）。これにより、図６に示したように、市区町村が飛び地を有したり、湖などの領域を含む場合のサイクル数を把握することができる。
【０１２１】
その後、地図データ生成部１１４ｄは、面に割り当てられた面ＩＤおよびサイクル数の情報を新地図データ４３ａ〜４３ｚのファイルに登録し（ステップＳ６０６）、さらに経過点数の情報を新地図データ１００ａ〜１００ｚのファイルに登録する（ステップＳ６０７）。
【０１２２】
そして、地図データ生成部１１４ｄは、経過点の座標の情報を新地図データ１００ａ〜１００ｚのファイルに登録し（ステップＳ６０８）、開いていた結合データ４２ａ〜４２ｚのファイルを閉じる処理をおこなう（ステップＳ６０９）。
【０１２３】
続いて、地図データ生成部１１４ｄは、同じ市区町村ＩＤを持つ結合データ４２ａ〜４２ｚのファイルが他に存在するか否かを調べ（ステップＳ６１０）、同じ市区町村ＩＤを持つ結合データ４２ａ〜４２ｚのファイルが存在する場合には（ステップＳ６１０，Ｙｅｓ）、その結合データ４２ａ〜４２ｚのファイルを開く処理をおこなう（ステップＳ６１１）。
【０１２４】
そして、地図データ生成部１１４ｄは、開いた結合データ４２ａ〜４２ｚに対応する結合属性データ９１ａ〜９１ｚを開き（ステップＳ６１２）、ステップＳ６０７に移行して、それ以後の処理を継続する。
【０１２５】
ステップＳ６１０において、同じ市区町村ＩＤを持つ結合データ４２ａ〜４２ｚのファイルが存在しない場合には（ステップＳ６１０，Ｎｏ）、地図データ生成部１１４ｄは、新地図属性データ１００ａ〜１００ｚのファイルに属性情報を登録する（ステップＳ６１３）。ここで、属性情報とは、新地図データ４３ａ〜４３ｚに登録された面ＩＤと、面ＩＤに対応する市区町村ＩＤの情報である。
【０１２６】
そして、地図データ生成部１１４ｄは、新地図データ４３ａ〜４３ｚのファイルおよび新地図属性データ１００ａ〜１００ｚのファイルを閉じ（ステップＳ６１４）、新地図データ４３ａ〜４３ｚのファイルに経過点の座標値が登録されていない未処理の結合データ４２ａ〜４２ｚがあるか否かを調べる（ステップＳ６１５）。
【０１２７】
そして、未処理の結合データ４２ａ〜４２ｚがある場合には（ステップＳ６１５，Ｙｅｓ）、ステップＳ６０１に移行して、地図データ生成部１１４ｄは、それ以後の処理を継続する。未処理の結合データ４２ａ〜４２ｚがない場合には（ステップＳ６１５，Ｎｏ）、そのままこの地図データ作成処理を終了する。
【０１２８】
なお、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、図１７を用いて、上記各種処理を実現するプログラムを実行するコンピュータの一例について説明する。図１７は、図１２に示した地図データ生成装置となるコンピュータのハードウェア構成を示す図である。
【０１２９】
このコンピュータは、ユーザからのデータの入力を受け付ける入力装置２００、ディスプレイなどの表示装置２０１、ＲＡＭ（Random Access Memory）２０２、ＲＯＭ（Read Only Memory）２０３、各種プログラムを記録した記録媒体からプログラムを読み取る媒体読取り装置２０４、ネットワークを介して他のコンピュータとの間でデータの授受をおこなうネットワークインターフェース２０５、ＣＰＵ（Central Processing Unit）２０６およびＨＤＤ（Hard Disk Drive）２０７をバス２０８で接続して構成される。
【０１３０】
そして、ＨＤＤ２０７には、地図データ生成装置の機能と同様の機能を発揮するプログラム、すなわち、図１７に示す地図データ生成プログラム２０７ｂが記憶されている。なお、地図データ生成プログラム２０７ｂについては、適宜分散して記憶することとしてもよい。
【０１３１】
そして、ＣＰＵ２０６が、地図データ生成プログラム２０７ｂをＨＤＤ２０７から読み出して実行することにより、地図データ生成プロセス２０６ａとして機能するようになる。この地図データ生成プロセス２０６ａは、図１２に示したデータ管理部１１４ａ、データ分割部１１４ｂ、データ結合部１１４ｃ、地図データ生成部１１４ｄ、地図出力制御部１１４ｅに対応する。
【０１３２】
また、ＨＤＤ２０７には、各種データ２０７ａが記憶される。この各種データ２０７ａは、図１２に示した地図データ４０ａ〜４０ｚ、地図属性データ５２ａ〜５２ｚ、図郭線データ３０、分割データ４１ａ〜４１ｚ、分割属性データ８１ａ〜８１ｚ、結合データ４２ａ〜４２ｚ、結合属性データ９１ａ〜９１ｚ、新地図データ４３ａ〜４３ｚ、新地図属性データ１００ａ〜１００ｚに対応する。
【０１３３】
そして、ＣＰＵ２０６は、各種データ２０７ａをＨＤＤ２０７に記憶するとともに、各種データ２０７ａをＨＤＤ２０７から読み出してＲＡＭ２０２に格納し、ＲＡＭ２０２に格納された各種データ２０２ａに基づいてデータ処理を実行する。
【０１３４】
ところで、地図データ生成プログラム２０７ｂは、必ずしも最初からＨＤＤ２０７に記憶させておく必要はない。たとえば、コンピュータに挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」、または、コンピュータの内外に備えられるハードディスクドライブ（ＨＤＤ）などの「固定用の物理媒体」、さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータに接続される「他のコンピュータ（またはサーバ）」などに各プログラムを記憶しておき、コンピュータがこれらから各プログラムを読み出して実行するようにしてもよい。
【０１３５】
上述してきたように、本実施例では、データ分割部１１４ｂが、記憶部１１３に記憶された地図データ４０ａ〜４０ｚを読み出して当該地図データ４０ａ〜４０ｚに対応する地図を構成する閉多角形の各線分の傾斜を判定することにより図郭線を抽出し、地図データ生成部１１４ｄが、抽出した図郭線を除去した地図のデータを新地図データ４３ａ〜４３ｚとして生成することとしたので、地図データ４０ａ〜４０ｚから図郭線のデータを抽出・除去する処理を高速かつ効果的におこない、図郭線を除去した新地図データ４３ａ〜４３ｚを生成することができる。
【０１３６】
また、本実施例では、データ分割部１１４ｂが、線分の傾斜を判定することにより図郭線の候補となる線分を抽出し、ＸＹ直交座標系において図郭線が存在し得るＸ座標またはＹ座標をあらかじめ登録した図郭線データ３０に、抽出した線分のＸ座標またはＹ座標が含まれるか否かを判定することにより図郭線を抽出することとしたので、図郭線の候補が抽出された場合にのみ、図郭線が存在し得る座標のあらかじめ登録された情報を読み出して線分が図郭線か否かを判定することとしたので、図郭線の抽出を高速におこなうことができる。
【０１３７】
また、本実施例では、データ分割部１１４ｂにより地図を構成する図郭線を含んだ閉多角形から当該図郭線が抽出された場合に、データ結合部１１４ｄが、当該図郭線の端点から所定の距離内にある当該図郭線以外の線分の端点同士を結合して新たな閉多角形を生成することにより図郭線を除去した地図のデータを新地図データ４３ａ〜４３ｚとして生成することとしたので、図郭線を除去した地図の地図データを効率的に生成することができる。
【０１３８】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施例にて実施されてもよいものである。
【０１３９】
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。
【０１４０】
この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１４１】
また、図示した装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１４２】
さらに、この装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１４３】
（付記１）図郭線を除去した地図の地図データを生成する地図データ生成プログラムであって、
データベースに記憶された地図データを読み出して当該地図データに対応する地図を構成する閉多角形の各線分の傾斜を判定することにより前記図郭線を抽出する抽出手順と、
前記抽出手順により抽出された図郭線を除去した地図の地図データを生成する生成手順と、
をコンピュータに実行させることを特徴とする地図データ生成プログラム。
【０１４４】
（付記２）前記抽出手順は、前記線分の傾斜を判定することにより前記図郭線の候補となる線分を抽出し、ＸＹ直交座標系において前記図郭線が存在し得るあらかじめ登録されたＸ座標またはＹ座標の情報に、抽出した線分のＸ座標またはＹ座標が含まれるか否かを判定することにより前記図郭線を抽出することを特徴とする付記１に記載の地図データ生成プログラム。
【０１４５】
（付記３）前記生成手順は、前記抽出手順により前記地図を構成する図郭線を含んだ閉多角形から当該図郭線が抽出された場合に、当該図郭線の端点から所定の距離内にある当該図郭線以外の線分の端点同士を結合して新たな閉多角形を生成することにより前記図郭線を除去した地図の地図データを生成することを特徴とする付記１または２に記載の地図データ生成プログラム。
【０１４６】
（付記４）図郭線を除去した地図の地図データを生成する地図データ生成方法であって、
データベースに記憶された地図データを読み出して当該地図データに対応する地図を構成する閉多角形の各線分の傾斜を判定することにより前記図郭線を抽出する抽出工程と、
前記抽出工程により抽出された図郭線を除去した地図の地図データを生成する生成工程と、
を含んだことを特徴とする地図データ生成方法。
【０１４７】
（付記５）図郭線を除去した地図の地図データを生成する地図データ生成装置であって、
地図データを記憶する記憶手段と、
前記記憶手段に記憶された地図データを読み出して当該地図データに対応する地図を構成する閉多角形の各線分の傾斜を判定することにより前記図郭線を抽出する抽出手段と、
前記抽出手段により抽出された図郭線を除去した地図の地図データを生成する生成手段と、
を備えたことを特徴とする地図データ生成装置。
【産業上の利用可能性】
【０１４８】
以上のように、本発明に係る地図データ生成プログラムは、地図データから図郭線のデータを抽出・除去する処理を高速かつ効果的におこない、図郭線を除去した地図の地図データを生成することが必要な地図データ生成システムに有用である。
【図面の簡単な説明】
【０１４９】
【図１】図郭線の除去について説明する図である。
【図２】本発明に係る地図データ生成処理の概念について説明する図である。
【図３】図郭線が存在し得るＸ座標またはＹ座標の値を記憶した図郭線データの一例を示す図である。
【図４】本実施例に係る地図データ生成処理の詳細について説明する図である。
【図５】図郭線を含む地図データおよび当該地図データの属性情報を記憶した地図属性データの一例について説明する図である。
【図６】市区町村に飛び地や湖がある場合の地図データについて説明する図である。
【図７】図郭線を含まない地図データおよび当該地図データの属性情報を記憶した地図属性データについて説明する図である。
【図８−１】図４に示した分割データの生成処理について説明する図（１）である。
【図８−２】図４に示した分割データの生成処理について説明する図（２）である。
【図８−３】図４に示した分割データの生成処理について説明する図（３）である。
【図９】分割データおよび当該分割データの属性情報を記憶した分割属性データの一例を示す図である。
【図１０】結合データおよび当該結合データの属性情報を記憶した結合属性データについて説明する図である。
【図１１】新地図データおよび当該新地図データの属性情報を記憶した新地図属性データについて説明する図である。
【図１２】本実施例に係る地図データ生成装置の機能構成を示す図である。
【図１３】本実施例に係る地図データ生成処理の処理手順を示すフローチャートである。
【図１４−１】図１３に示したデータ分割処理の処理手順を示すフローチャートである。
【図１４−２】図１４−１に示した図郭線判定処理の処理手順を示すフローチャートである。
【図１４−３】図１４−１に示した図郭線除外処理の処理手順を示すフローチャートである。
【図１５】図１３に示した分割データ結合処理の処理手順を示すフローチャートである。
【図１６】図１３に示した地図データ作成処理の処理手順を示すフローチャートである。
【図１７】図１２に示した地図データ生成装置となるコンピュータのハードウェア構成を示す図である。
【符号の説明】
【０１５０】
１０    閉多角形
１１    図郭線（水平線）
１２    図郭線（垂直線）
２０，２１，２３，５０ａ，５０ｂ，５０ｃ，５０ｄ，６０ａ，６０ｂ，６１ａ，６１ｂ，７０ａ，７０ｂ，９０    面
３０    図郭線データ
４０ａ〜４０ｚ，７１ａ    地図データ
４１ａ〜４１ｚ    分割データ
４２ａ〜４２ｚ    結合データ
４３ａ〜４３ｚ    新地図データ
５１    図郭線
５２ａ〜５２ｚ，７２ａ    地図属性データ
８０ａ，８０ｂ，８０ｃ，８０ｄ    分割線
８１ａ〜８１ｚ    分割属性データ
９１ａ〜９１ｚ    結合属性データ
１００ａ〜１００ｚ    新地図属性データ
１１０    入力部
１１１    表示部
１１２    ネットワークインターフェース部
１１３    記憶部
１１４    制御部
１１４ａ    データ管理部
１１４ｂ    データ分割部
１１４ｃ    データ結合部
１１４ｄ    地図データ生成部
１１４ｅ    地図出力制御部
２００    入力装置
２０１    表示装置
２０２    ＲＡＭ
２０２ａ    各種データ
２０３    ＲＯＭ
２０４    媒体読取装置
２０５    ネットワークインターフェース
２０６    ＣＰＵ
２０６ａ    地図データ生成プロセス
２０７    ＨＤＤ
２０７ａ    各種データ
２０７ｂ    地図データ生成プログラム
【図１】
2007249047.tif 000003
【図２】
2007249047.tif 000004
【図３】
2007249047.tif 000005
【図４】
2007249047.tif 000006
【図５】
2007249047.tif 000007
【図６】
2007249047.tif 000008
【図７】
2007249047.tif 000009
【図８−１】
2007249047.tif 000010
【図８−２】
2007249047.tif 000011
【図８−３】
2007249047.tif 000012
【図９】
2007249047.tif 000013
【図１０】
2007249047.tif 000014
【図１１】
2007249047.tif 000015
【図１２】
2007249047.tif 000016
【図１３】
2007249047.tif 000017
【図１４−１】
2007249047.tif 000018
【図１４−２】
2007249047.tif 000019
【図１４−３】
2007249047.tif 000020
【図１５】
2007249047.tif 000021
【図１６】
2007249047.tif 000022
【図１７】
2007249047.tif 000023