(57)【要約】【課題】地図データの生成において行政名の入力漏れを抑制する。【解決手段】地図データベース１３は、行政界の１つ１つを、その形状データや行政名、住所コード等のパラメータを記録した住所ポリゴンとして表すことにより構成されている。この地図データベース１３の生成を支援する地図データ作成支援装置１０は、架空住所ポリゴン自動生成モジュール１５を用いて、大字名や字丁目名等の行政名がもともと存在しない領域についても架空住所コードを付与することにより住所ポリゴンを生成する。こうすることによりすべての領域について住所ポリゴンの生成が可能となり、住所ポリゴンの生成漏れ、ひいては行政名、住所コードの入力漏れを抑制することが可能となる。【選択図】　図１
2004037540.tif 000002
【特許請求の範囲】
【請求項１】
行政界の領域と行政名とを対応付けて記録した地図データの作成を支援する地図データ作成支援装置であって、
行政名が対応付けられた上位の行政界の領域と、前記上位の行政界の領域内に存在し、かつ、行政名が対応付けられた下位の行政界の領域とに基づき、前記上位の行政界の領域内に存在し、かつ、行政名が対応付けられていない下位の行政界の領域を検索する検索部と、
前記行政名が対応付けられていない下位の行政界の領域に対して、行政名がないことを表す架空行政名を対応付けて前記地図データに記録する記録部と、
を備える地図データ作成支援装置。
【請求項２】
請求項１に記載の地図データ作成支援装置であって、
更に、前記行政名が対応付けられていない下位の行政界の領域に相当するポリゴンデータを生成するポリゴンデータ生成部を備え、
前記記録部は、前記作成したポリゴンデータに対して前記架空行政名を対応付ける地図データ作成支援装置。
【請求項３】
請求項１に記載の地図データ作成支援装置であって、
前記記録部は、前記行政名が対応付けられていない下位の行政界の領域に対して、前記架空行政名とともに前記上位の行政界に対応付けられた行政名も併せて対応付ける地図データ作成支援装置。
【請求項４】
請求項１に記載の地図データ作成支援装置であって、
前記記録部は、前記行政名が対応付けられていない下位の行政界の領域が複数ある場合に、各々異なる架空行政名を対応付ける地図データ作成支援装置。
【請求項５】
請求項１に記載の地図データ作成支援装置であって、
前記行政名は、行政名毎に区分けされたコードであり、
前記架空行政名は、行政名が不明であることを表すコードである地図データ作成支援装置。
【請求項６】
住所データのデータ構造であって、
行政名に応じて住所を記録する階層を予め定義づける定義部と、
前記定義に従って、各階層に住所を行政名毎に記録した住所記録部とを備え、前記住所記録部は、前記階層のいずれかに対応する行政名が存在しない住所に対しては、該階層に行政名が存在しないことを表す架空行政名が記録されているデータ構造。
【請求項７】
地図データのデータ構造であって、
所定領域内に存在する行政界の形状を定義した行政界ポリゴンを、前記行政界の階層に応じて記録したポリゴン記録部を備え、
前記ポリゴン記録部には、前記所定領域のうち、一つの階層に存在する行政界ポリゴンによって表される領域以外の全領域について、該領域の形状を１または２以上の架空行政界ポリゴンにより記録されているデータ構造。
【請求項８】
請求項７に記載のデータ構造であって、
前記行政界ポリゴンおよび架空行政界ポリゴンには、所定の属性データが対応付けられているデータ構造。
【請求項９】
行政界の領域と行政名とを対応付けて記録した地図データの作成をコンピュータにより支援する地図データ作成支援方法であって、
（ａ）　行政名が対応付けられた上位の行政界の領域と、前記上位の行政界の領域内に存在し、かつ、行政名が対応付けられた下位の行政界の領域とに基づき、前記上位の行政界の領域内に存在し、かつ、行政名が対応付けられていない下位の行政界の領域を検索する工程と、
（ｂ）　前記行政名が対応付けられていない下位の行政界の領域に対して、行政名がないことを表す架空行政名を対応付ける工程と、
を含む地図データ作成支援方法。
【請求項１０】
行政界の領域と行政名とを対応付けて記録した地図データの作成を支援するためのコンピュータプログラムであって、
行政名が対応付けられた上位の行政界の領域と、前記上位の行政界の領域内に存在し、かつ、行政名が対応付けられた下位の行政界の領域とに基づき、前記上位の行政界の領域内に存在し、かつ、行政名が対応付けられていない下位の行政界の領域を検索する機能と、
前記行政名が対応付けられていない下位の行政界の領域に対して、行政名がないことを表す架空行政名を対応付ける機能と、
をコンピュータに実現させるためのコンピュータプログラム。
【請求項１１】
請求項１０に記載のコンピュータプログラムを記録したコンピュータ読取可能な記録媒体。
【請求項１２】
請求項６〜８のいずれかに記載のデータ構造を有する住所データもしくは地図データを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、住所データや地図データの構造、およびこれらのデータを生成する技術に関する。
【０００２】
【従来の技術】
従来、地図は、熟練した職人が地図を構成する文字と地形を全て手書きで仕上げる筆耕版や、文字のみをコンピュータにより活字化した活字版が主流であった。しかし、近年では、文字や地形の入力を全てコンピュータで処理する電子地図版が主流となっている。
【０００３】
上述の活字版や電子地図版では、住所を、（１）市区町村、（２）大字、（３）字丁目、（４）街区、の４つに区分してコンピュータにより管理しており、オペレータがこの入力を１件１件行っている。
【０００４】
日本の住所は、歴史的な背景や地域的な特異性などがありその構成が一様でない。例えば、上記「字丁目」や「街区」に相当する区分のない住所が存在する。そのためオペレータは、このような場合には行政名の入力を行わなかった。
【０００５】
【発明が解決しようとする課題】
地図データの作成工程では、オペレータによる行政名入力後、すべての入力が完了しているかをチェックする工程がある。しかし、上述のように行政名の未入力区分があると、それがオペレータの入力ミスによって入力されていないものなのか、本当にその区分に相当する行政名がないのかを判別するのは困難であった。
【０００６】
本発明はこのような課題を考慮してなされたものであり、住所データや地図データの生成において行政名の入力漏れを抑制することを目的としている。
【０００７】
【課題を解決するための手段およびその作用・効果】
上記課題を解決するため、本発明を以下の構成とした。すなわち、
行政界の領域と行政名とを対応付けて記録した地図データの作成を支援する地図データ作成支援装置であって、
行政名が対応付けられた上位の行政界の領域と、前記上位の行政界の領域内に存在し、かつ、行政名が対応付けられた下位の行政界の領域とに基づき、前記上位の行政界の領域内に存在し、かつ、行政名が対応付けられていない下位の行政界の領域を検索する検索部と、
前記行政名が対応付けられていない下位の行政界の領域に対して、行政名がないことを表す架空行政名を対応付けて前記地図データに記録する記録部と、
を備えることを要旨とする。
【０００８】
行政名とは、例えば、日本国内においては都道府県名、市区町村名、大字名、字丁目名、街区名のことをいう。もちろん世界的に見れば、州名等も含まれる。「上位」「下位」とは、これらの行政名に対応する行政界の相対関係を表す。例えば、都道府県界は市区町村界よりも上位であり、市区町村界は都道府県界よりも下位である。本発明の地図データ作成支援装置によれば、もともと行政名の存在しない領域に対して架空行政名を対応付けることとなる。従って、すべての領域について行政名を対応付けることが可能なため、オペレータによる行政名の入力漏れを抑制することができる。
【０００９】
また、上記地図データ作成支援装置において、
更に、前記行政名が対応付けられていない下位の行政界の領域に相当するポリゴンデータを生成するポリゴンデータ生成部を備え、
前記記録部は、前記作成したポリゴンデータに対して前記架空行政名を対応付けることとしてもよい。
【００１０】
こうしてポリゴンデータを生成することにより、架空行政名が対応付けられている領域を明確化することができる。また、地図データのデータ構造によってはその領域を他の行政界領域と同様に扱うことが可能となり、例えば、その領域を表示させる際に拡大、縮小、回転などの図形操作を容易に行うことが可能となる。
【００１１】
また、上記地図データ作成支援装置において、
前記記録部は、前記行政名が対応付けられていない下位の行政界の領域に対して、前記架空行政名とともに前記上位の行政界に対応付けられた行政名も併せて対応付けることとしてもよい。
【００１２】
このような構成であれば、架空行政名を付与した領域が、どの行政界に属するものかを容易に判別することが可能となる。
【００１３】
また、上記地図データ作成支援装置において、
前記記録部は、前記行政名が対応付けられていない下位の行政界の領域が複数ある場合に、各々異なる架空行政名を対応付けるものとしてもよい。
【００１４】
このような構成であれば、架空行政名を付与すべき領域が複数ある場合に、個々の領域を独立して管理することが可能となる。
【００１５】
また、上記地図データ作成支援装置において、
前記行政名は、行政名毎に区分けされたコードであり、
前記架空行政名は、行政名が不明であることを表すコードとしてもよい。
【００１６】
こうすることにより、数値や記号などを用いたコードによって各領域を管理することが可能となる。この場合、そのコードに対応した行政名を表す文字列を併せて記録するものとしても差し支えない。
【００１７】
本発明は、以下のデータ構造としても構成することができる。すなわち、
住所データのデータ構造であって、
行政名に応じて住所を記録する階層を予め定義づける定義部と、
前記定義に従って、各階層に住所を行政名毎に記録した住所記録部とを備え、前記住所記録部は、前記階層のいずれかに対応する行政名が存在しない住所に対しては、該階層に行政名が存在しないことを表す架空行政名が記録されているデータ構造である。
【００１８】
かかるデータ構造の住所データをコンピュータに入力することにより、コンピュータは、架空行政名の記録された階層には行政名が存在しないことを判別することができる。また、このようなデータ構造を有する住所データであれば、コンピュータは、すべての住所を前記定義部で定義した階層構造により一元的に管理・利用することが可能となる。すなわち、例えば、大字名や字丁目名のない住所など、行政名の一部がもともと存在しない住所についても通常の住所と同じデータ構造により記録することができる。なお、架空住所名は、文字列によって記録してもよいし、コード等によって記録してもよい。
【００１９】
また、本発明は以下のデータ構造として構成してもよい。
地図データのデータ構造であって、
所定領域内に存在する行政界の形状を定義した行政界ポリゴンを、前記行政界の階層に応じて記録したポリゴン記録部を備え、
前記ポリゴン記録部には、前記所定領域のうち、一つの階層に存在する行政界ポリゴンによって表される領域以外の全領域について、該領域の形状を１または２以上の架空行政界ポリゴンにより記録されているデータ構造である。
【００２０】
このようなデータ構造を有する地図データをコンピュータに入力することにより、コンピュータは、すべての領域をポリゴンにより一元的に管理・利用することが可能となる。「行政界の階層に応じて記録」とは、行政界ポリゴンを「市」や「丁目」といった階層単位でまとめて記録することをいう。もちろん、「市」のみのように１つの階層だけを記録するものでもよい。上記架空行政界ポリゴンによって表されるポリゴンの形状は、例えば、前記所定領域を福岡県、ポリゴン記録部に記録する行政界を北九州市や福岡市などの「市」の階層とした場合において、「福岡県ｘｘ町」や「福岡県ｘｘ村」などのように「市」よりも下位の階層によって表される領域に相当する形状である。
【００２１】
上記行政界ポリゴンや架空行政界ポリゴンには所定の属性データを対応付けてもよい。属性データとは、例えば、そのポリゴンによって表される領域内に居住する居住者の数や、建物数、その領域内における売上記録などのデータである。このような属性データを対応付けることにより、コンピュータにおいて地図データの利用価値を向上することができる。例えば、ポリゴンによって表示した地図上にこれらの属性データを併せて表示したり、人口の統計の計算など、地図の表示以外の目的で地図データを利用することが可能となる。
【００２２】
本発明は、上述した地図データ作成支援装置やデータ構造としての態様の他、種々の態様で構成可能である。例えば、行政界の領域と行政名とを対応付けて記録した地図データの作成をコンピュータにより支援する地図データ作成支援方法や、行政界の領域と行政名とを対応付けて記録した地図データの作成を支援するためのコンピュータプログラム等である。また、このようなコンピュータプログラムや上述のデータ構造はコンピュータ読み取り可能の記録媒体に記録していてもよい。
【００２３】
記録媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、ＤＶＤ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置などコンピュータが読取り可能な種々の媒体を利用することができる。
【００２４】
【発明の実施の形態】
以下、本発明の実施の形態について実施例に基づき次の順序で説明する。
Ａ．地図データ作成支援装置の概略構成：
（Ａ１）各データベースの構造：
（Ａ２）各モジュールの機能：
Ｂ．各モジュールによる処理：
（Ｂ１）住所ポリゴン生成処理：
（Ｂ２）架空住所ポリゴン自動生成処理：
（Ｂ３）隣接行政名チェック処理：
（Ｂ４）住所コード修正処理：
（Ｂ５）仮行政名登録処理：
（Ｂ６）仮行政名更新処理：
Ｃ．効果：
Ｄ．変形例：
【００２５】
Ａ．地図データ作成支援装置の概略構成：
図１は、実施例としての地図データ作成支援装置１０の概略構成図である。地図データ作成支援装置１０は、図示する各機能モジュールを備える地図データ作成支援用のソフトウェアを汎用のコンピュータにインストールすることにより構成した。図示していないが、地図データ作成支援装置１０は、ＣＰＵやＲＡＭ、ＣＲＴ、ハードディスク、キーボード、マウス等を備えている。
【００２６】
地図データ作成支援装置１０のハードディスクには、行政界線分データベース１１と住所コードデータベース１２、および地図データベース１３が記録されている。これらのデータベースはＣＤ−ＲＯＭ、ＤＶＤ、磁気テープ等の各種記録媒体や、地図データ作成支援装置１０とネットワークを介して接続されたサーバに記録されているものとしてもよい。
【００２７】
（Ａ１）各データベースの構造：
図２は、行政界線分データベース１１のデータ構造を概念的に示す説明図である。行政界線分データベース１１には、オペレータがディジタイザ等で入力した行政界を表す線分データが記録されている。オペレータは、線種を使い分けることにより、市区町村界、大字界、字丁目界、街区界の入力を行う。線分データの入力は、地図データ作成支援装置１０を用いて直接入力してもよいし、線分データを入力する専用の端末を用いてもよい。
【００２８】
図２（ａ）には、行政界線分データベース１１に記録された線分データによって表される行政界の一例を示した。図中、太線が市区町村界を表す線分であり、細線が大字界を表す線分である。また、一点鎖線は字丁目界を表し、点線は街区界を表す。各行政界を表す線分データは、図２（ｂ）で示すように、行政界のレベルに対応したレイヤに記録される。本実施例では、図示するように、上位レイヤの行政界を構成する線分と下位レイヤの行政界を構成する線分とが重複する場合には、下位レイヤには重複する線分を記録しないものとした。データ容量の削減のためと、オペレータの作業軽減のためである。
【００２９】
行政界線分データベース１１には、全国の行政界が一つの管理単位としてまとめて記録されているわけではない。図３は、行政界線分データベース１１のブロック構造を示す説明図である。行政界線分データベース１１は、線分データの管理を容易にするため、各レイヤを所定の単位ブロックに分割して線分データを管理するものとした。後述する住所ポリゴン生成処理等は、このブロック単位でその処理を行う。
【００３０】
次に、住所コードデータベース１２について説明する。図４は、住所コードデータベース１２のデータ構造を示す説明図である。図には、福岡県の住所コードの一例を示している。住所コードデータベース１２には、（１）市区町村、（２）大字、（３）字丁目、の３つ区分ごとに住所コードが割り振られて定義されている。図によれば、例えば、「福岡県北九州市門司区風師３丁目」という住所は、「４０１０１−０１２−００３」という住所コードで表すことができる。
【００３１】
また、住所コードデータベース１２には、「架空住所コード」が定義されている。架空住所コードとは、行政名がもともと存在しない領域（以下、「架空領域」という。）に対して使用される住所コードである。図示するように、市区町村名がもともと存在しない領域（架空市）に対して使用する架空住所コードは「９９９９９」と、大字名および字丁目名がもともと存在しない領域（架空大字および架空字丁目）に対して使用する架空住所コードは「９９９」と定義されている。
【００３２】
図５は、上述した架空領域を概念的に示す説明図である。ここでは、「ＡＡ市ＢＢ町２街区」という住所を例に説明する。「ＡＡ市」は市区町村名、「ＢＢ町」は大字名、「２街区」は街区名を表している。ここで、例えば、図示するように「ＡＡ市」に属する「ＢＢ町」が、「１街区」、「２街区」、「３街区」の３つの街区のみにより構成されていれば、字丁名レイヤ上に「架空領域」と示した部分には対応する行政名が存在しないこととなる。つまり、レイヤ構成に空洞を生じさせる領域があることになる。架空住所コードは、このような領域に対して用いるためのコードである。
【００３３】
図６は、地図データベース１３に記録される住所ポリゴンのデータ構造を示す説明図である。住所ポリゴンは、後述する住所ポリゴン生成モジュール１４等により生成されるデータであり、行政界の形状を表す点列を記録したポリゴンデータと種々の属性データとを対応付けて記録したデータである。図示するように、属性データには、その住所ポリゴンを作成した作成日時、住所コード、行政名、行政名を表示するか否か、行政名を表示する際の傾き、住所ポリゴンの代表点の座標といったパラメータが含まれる。
【００３４】
図７は、架空住所コードが割り当てられた住所ポリゴンの一例を示す説明図である。以下の説明では、架空住所コードが割り当てられた住所ポリゴンを「架空住所ポリゴン」という。架空住所ポリゴンは、住所ポリゴンと同様に住所ポリゴン生成モジュール１４によって生成することもできるし、架空住所ポリゴン自動生成モジュール１５によって自動的に生成することもできる。図示するように、架空住所ポリゴンには行政名として「架空市」「架空大字」「架空字丁目」「架空街区」のうちいずれかが記録され、行政名が表示されないよう非表示属性が与えられる。
【００３５】
図６および図７で示した住所ポリゴンに記録される住所コードには、直属する上位の行政名の住所コードも記録される。例えば、「名古屋市中区錦２丁目」という住所の「２丁目」を表す住所ポリゴンの場合、その住所コードに加え、「錦」を表す住所コードも記録されることとなる。直属する上位の行政名の住所コードが架空住所コードである場合には、その架空住所コードに加え、さらに上位の行政名の住所コードも記録される。
【００３６】
地図データベース１３は、行政界１つ１つをこのような住所ポリゴンとして表すことにより地図を構成している。地図データベース１３も行政界線分データベース１１と同じようにレイヤ構造を採っており、各住所ポリゴンは該当する行政界レベルに対応したレイヤに記録される。
【００３７】
（Ａ２）各モジュールの機能：
次に、図１で示した各モジュールの機能について説明する。住所ポリゴン生成モジュール１４は、上述した住所ポリゴンを生成するモジュールである。架空住所ポリゴン自動生成モジュール１５は、架空住所ポリゴンを自動的に生成するモジュールである。架空住所ポリゴンは、住所ポリゴン生成モジュール１４によって生成することもできるが、架空住所ポリゴン自動生成モジュール１５を用いることにより自動的に生成することもできる。
【００３８】
仮行政名登録モジュール１８は、仮行政名データを地図データベース１３に記録するモジュールである。仮行政名とは、行政名は判明しているが住所コードデータベース１２に未登録の行政名のことをいう。行政界の統廃合などによって行政名が変更された場合には、即座にその変更が住所コードデータベース１２に反映されるとは限らない。そのため、該当する地域の住所ポリゴンの更新を迅速に行うことができない場合がある。そこで、このような地域については、判明している行政名とともにその表示を行わせる座標を記録した仮行政名データを地図データベース１３に登録するものとした。こうすることにより、地図データベース１３を利用して紙媒体の地図を生成する際等に、見かけ上、変更のあった行政名の反映された好適な地図を生成することができる。
【００３９】
住所コード更新処理モジュール１９は、住所コードデータベース１２の更新を行うモジュールである。上記のように行政界の統廃合などによって行政名や住所コードが変更された場合に利用するモジュールである。更新元となるデータは、例えば、財団法人国土地理協会が発行する「全国町・字ファイル」等を用いることができる。
【００４０】
隣接行政名チェックモジュール２０は、隣接するブロックにまたがる行政界に同一の住所コードが付与されているかどうかをチェックするモジュールである。図８は、隣接するブロックにまたがって記録された行政界の一例を示す説明図である。本モジュールによって、例えば、図中の領域Ｂを表す住所ポリゴンに領域Ａを表す住所ポリゴンと同一の住所コードが適切に記録されているかをチェックすることができる。
【００４１】
住所コード修正モジュール２１は、下位レイヤの住所ポリゴンに、上位レイヤの住所ポリゴンの住所コードが適切に付与されているかどうかのチェックを行う。誤ったコードが記録されている場合は修正を行う。
【００４２】
正規化処理モジュール２２は、行政界線分データベース１１に記録された線分データの正規化を行うモジュールである。図９は、正規化処理について示す説明図である。ここでは、四角形により表された２つの隣接する行政界を例に説明する。図９（ａ）で示すように、このような行政界の形状を入力する際に、オペレータはＬ１，Ｌ２，Ｌ３，Ｌ４，Ｌ５で示した５つの線分によって入力する場合がある。このような入力方法がオペレータにとって効率がよいからである。この場合、線分Ｌ２，Ｌ４上には、Ｌ５との接点があるが、線分Ｌ１，Ｌ２はそれぞれ１つの線分であるものとして入力されている。このため、後述する住所ポリゴン生成処理等において正常に線分追跡を行うことができない。そこで正規化処理では線分同士の交点や接点について線分を分割する処理を行う。図９（ａ）の場合には、Ｌ２およびＬ４をＬ５の接点について分割する。こうすることにより、Ｌ２はＬ２１とＬ２２、Ｌ４はＬ４１とＬ４２に分割されることとなる。
【００４３】
また、このような形状の行政界を入力する場合、図９（ｂ）で示すように、オペレータはいずれの線分にも接しないＬ１０のような線分を入力する場合がある。全ての線分を正確に入力するのは困難だからである。このような場合は、正規化処理によってＬ１０のような線分を伸張、短縮し、所定範囲内にある他の線分に両端を接合させる処理を行う。図９（ｂ）の場合には、Ｌ１０をＬ７およびＬ９に接合させる。こうして接合させた上で、Ｌ７，Ｌ９を上述した方法と同様の方法により、それぞれＬ７１とＬ７２，Ｌ９１とＬ９２に分割する。このような正規化処理を行うことにより、後述する住所ポリゴン生成処理等において正常に線分追跡を行うことができる。
【００４４】
なお、正規化処理は、レイヤの区別なく行政界線分データベース１１に記録されたすべての線分を対象に行う。上位レイヤと重複する線分は下位レイヤに記録されていないからである。
【００４５】
Ｂ．各モジュールによる処理：
以下、上記各モジュールによる種々の処理について説明する。
【００４６】
（Ｂ１）住所ポリゴン生成処理：
図１０は、住所ポリゴン生成モジュール１４による住所ポリゴン生成処理のフローチャートである。図１１は、住所ポリゴン生成処理における画面表示の一例を示す説明図である。以下、住所ポリゴン生成処理について図１１を交えて説明する。
【００４７】
まず、住所ポリゴン生成モジュール１４は、オペレータから指示されたブロックを行政界線分データベース１１から入力し画面上に表示する（ステップＳ１０）。次に、オペレータは、住所ポリゴンを生成する領域の住所コードを画面下の所定の入力欄Ａ（図１１（ａ）参照）に入力する（ステップＳ１１）。このとき、住所コードとして架空住所コードを入力すると、架空住所ポリゴンを生成することができる。住所コードが入力されると、住所ポリゴン生成モジュール１４は、対応する行政名を住所コードデータベース１２から取得する（ステップＳ１２）。そして、取得した行政名をカーソル右上に表示する（ステップＳ１３）。カーソル右上に表示された行政名はカーソルの操作に連動して移動する。このとき、キーボードの「＋」キーや「−」キーの操作等により行政名の表示角度が調整可能であれば好適である。オペレータは、このカーソルを操作することにより、行政名を表示させる表示基準点を指定する（ステップＳ１４）。この表示基準点が、以下で説明する線分追跡の基準点となり、本処理で生成される住所ポリゴンの代表点になる。
【００４８】
表示基準点が入力されると、住所ポリゴン生成モジュール１４は線分データから線分追跡を行うことによりポリゴンデータを抽出する（ステップＳ１５）。これは、指定された表示基準点から上方向に直線を延ばしていき、最初に交わる線分との交点を始点Ｐ０として、ここから時計回りに連続する線分を順次追跡することにより行う。追跡中に、例えば、図１１（ａ）のＰ２で示すように線分が複数に分岐することとなった場合には、分岐点を中心として矢印Ｂに示す円周方向に線分の有無を検索していき、最初に検出された線分を追跡する線分として選択する。こうして、例えば、図１１（ａ）の場合には、Ｐ０→Ｐ１→Ｐ２→Ｐ３→Ｐ４→Ｐ５→Ｐ６→Ｐ７→Ｐ８→Ｐ０の順に頂点が抽出され、ポリゴンデータの抽出が完了する。なお、大字レイヤや字丁目レイヤ、街区レイヤにおいて住所ポリゴン生成処理を行う場合には、上位レイヤの線分も含めて線分追跡を行う。上位レイヤと重複する線分は下位レイヤに記録されていないためである。
【００４９】
最後に、住所ポリゴン生成モジュール１４は、以上の処理により取得した各パラメータを基に住所ポリゴンを生成して地図データベース１３に記録する（ステップＳ１６）。その際、架空住所ポリゴンを生成した場合には行政名を表示させないよう非表示属性を与える。図１１（ｂ）には、生成した住所ポリゴンの表示例を示した。太線が抽出された行政界の形状を表しており、行政名（ＡＢＣ町）が設定した角度で表示基準点上に表示されている。
【００５０】
（Ｂ２）架空住所ポリゴン自動生成処理：
図１２は、架空住所ポリゴン自動生成モジュール１５による架空住所ポリゴン自動生成処理のフローチャートである。架空住所ポリゴンは、上記「（Ｂ１）住所ポリゴン生成処理」でも生成することができるが、本処理によって自動的に生成することもできる。なお、本処理を行う前提として、選択したブロック内の架空領域以外の領域についてはすべて住所ポリゴンが生成済みであるものとする。
【００５１】
まず、架空住所ポリゴン自動生成モジュール１５は、オペレータの指示により架空住所ポリゴンの生成を行うブロックを入力する（ステップＳ２０）。すると、架空住所ポリゴン自動生成モジュール１５は、上位レイヤの住所ポリゴンに属する下位の住所ポリゴンを検索する（ステップＳ２１）。これは、上位の住所ポリゴンの住所コードが記録された下位の住所ポリゴンを検索すればよい。そして、上位の住所ポリゴンの面積と、検索した下位の住所ポリゴンの総面積とを比較する（ステップＳ２２）。比較の結果、上位の住所ポリゴンの面積よりも下位の住所ポリゴンの総面積が狭い場合（ステップＳ２３：Ｙｅｓ）には、架空領域があるものとして判定する。それ以外の場合（ステップＳ２３：Ｎｏ）、すなわち、同面積の場合には、下位レイヤには全て住所ポリゴンが生成されているものとして処理を終了する。面積を比較する際には、その面積の算出誤差を考慮し、「上位の住所ポリゴンの面積−下位の住所ポリゴンの総面積」が所定値内に収まる場合に面積同一と判定するものとすれば好適である。
【００５２】
上記ステップＳ２３でＹｅｓと判定されると、架空住所ポリゴン自動生成モジュール１５は、架空領域からポリゴンを抽出する（ステップＳ２４）。本ステップの詳細については後述する。その後、架空住所ポリゴン自動生成モジュール１５は、架空住所コード付与モジュール１６を用いて住所コードデータベース１２を参照し、架空住所コードを決定する（ステップＳ２５）。
【００５３】
最後に、架空住所ポリゴン自動生成モジュール１５は、抽出したポリゴンデータと架空住所コードを基に非表示属性の住所ポリゴンを生成して地図データベース１３に記録する（ステップＳ２６）。以上の工程により架空住所ポリゴンが生成されることとなる。
【００５４】
以下、上記ステップＳ２４におけるポリゴンの抽出方法について説明する。本ステップにおけるポリゴンの抽出は、上述の住所ポリゴン生成処理において説明した線分追跡と同じ方法により抽出するが、線分追跡の基準点は、架空住所ポリゴン自動生成モジュール１５が自動的に設定する。住所ポリゴンでは、行政名の表示を見栄えよくするために、その表示基準点をオペレータが決定し、これを線分追跡の基準点としたが、架空住所ポリゴンの場合は、行政名の表示を行わないため、そのような見栄えを配慮する必要がなく、架空領域内の任意の点を指定できればよいからである。
【００５５】
図１３は、基準点の決定方法を示す説明図である。ここでは太線は上位レイヤの線分を表し、細線は下位レイヤの線分を表すものとした。図示するように、上位の住所ポリゴンＷはすべて太線により構成されており、下位の住所ポリゴンＸおよびＹは太線と細線の両方により構成されている。上述したように、下位の住所ポリゴンは、上位レイヤの線分も含めた線分追跡により生成されているためである。図中、住所ポリゴンＷ，Ｘ，Ｙの周囲に示した矢印は、そのポリゴンを構成する点列の格納順を示している。以下の説明では、この格納順に基づき各線分を有向線分として扱う。
【００５６】
まず、架空住所ポリゴン自動生成モジュール１５は、住所ポリゴンＷ，Ｘ，Ｙを構成する線分のうち、他の住所ポリゴンの線分と重複のない線分群を抽出する。こうすることにより、架空領域を構成する線分群Ｚを抽出することができる。架空住所ポリゴン自動生成モジュール１５は、この線分群からポリゴンを抽出するために、次の条件Ａに基づき線分追跡の基準点を決定する。
【００５７】
条件Ａ：架空領域を構成する線分群Ｚのうち、注目した任意の線分が、
（１）　上位の住所ポリゴンの構成要素である場合に、当該線分の右側にその２等分点から垂直に１ドット離れた点を基準点とする。
（２）　下位の住所ポリゴンの構成要素である場合に、当該線分の左側にその２等分点から垂直に１ドット離れた点を基準点とする。
【００５８】
例えば、図において、線分Ｅを注目したとすると、線分Ｅは太線で示しているため上位の住所ポリゴンの構成要素である。従って、その２等分点Ｐ１から右側に垂直に１ドット離れた点ＰＰ１が基準点となる。線分Ｆについて注目した場合には、線分Ｆは細線のため下位の住所ポリゴンの構成要素である。従って、その２等分点Ｐ２から左側に垂直に１ドット離れた点ＰＰ２が基準点となる。
【００５９】
このように決定した基準点は、常に、上位ポリゴンの内側、かつ、下位ポリゴンの外側に存在するため、上述した線分追跡により架空領域のポリゴンを抽出することが可能となる。
【００６０】
（Ｂ３）隣接行政名チェック処理：
次に、隣接行政名チェックモジュール２０による隣接行政名チェック処理について説明する。図１４は、本処理のフローチャートである。まず、隣接行政名チェックモジュール２０は、オペレータの指示により、チェックを行うブロックを入力する（ステップＳ３０）。そしてさらに、その隣接するブロックを入力する（ステップＳ３１）。
【００６１】
次に、隣接行政名チェックモジュール２０は、両ブロックの境界線と重なる線分を構成要素としてもつ住所ポリゴンを隣接ブロックから検索する（ステップＳ３２）。該当する住所ポリゴンが存在しない場合（ステップＳ３３：Ｎｏ）は両ブロックにまたがる行政界がないものとして処理を終了する。存在する場合（ステップＳ３３：Ｙｅｓ）は、その住所ポリゴンに隣接する住所ポリゴンをチェック対象ブロック内から検索する（ステップＳ３４）。該当する住所ポリゴンが存在する場合（ステップＳ３５：Ｙｅｓ）には、更に、両住所ポリゴン間で住所コードが同一であるかどうかを判定する（ステップＳ３６）。同一であれば処理を終了し、異なる場合にはオペレータに住所コードが不正である旨のエラーを提示して（ステップＳ３７）処理を終了する。
【００６２】
ステップＳ３５において該当する住所ポリゴンが存在しない場合（ステップＳ３３：Ｎｏ）には、チェック対象ブロック内にまだ住所ポリゴンが生成されていないこととなるため、以下の処理を行う。まず、隣接行政名チェックモジュール２０は上記境界線上に重なる線分の中点から所定ドット分チェック対象ブロックの内側に基準点をとり、線分追跡を行う（ステップＳ３８）。線分追跡を行った結果、その追跡した延べ距離が所定の距離（例えば、大字レイヤでは１０００ｍ、字丁目レイヤでは８００ｍ、街区レイヤでは３００ｍ）内であるかどうかを判定する（ステップＳ３９）。そして、所定の距離内であればステップＳ３２で検索した住所ポリゴンから住所コードを取得し、さらに、その住所コードから住所コードデータベース１２を参照して行政名を取得する（ステップＳ４０）。隣接行政名チェックモジュール２０は、上記線分追跡によって得られたポリゴンデータと、上記住所コードおよび行政名に基づき、行政名を表示させない非表示属性の住所ポリゴンを生成して地図データベース１３に記録する（ステップＳ４１）。非表示属性としたのは、ステップＳ３９で例示したような延べ距離（外周距離）では、行政名を表示させるために十分な面積とならないからである。
【００６３】
上記ステップＳ３９で所定の距離外と判定された場合、隣接行政名チェックモジュール２０はオペレータに対して住所ポリゴンが生成されていない旨のエラーを提示する（ステップＳ３７）。これは、チェック対象ブロック側に行政名を表示可能な面積が十分あるにもかかわらず住所ポリゴンを生成していないことを通知するためである。エラーを提示されたオペレータは、上述の「（Ｂ１）住所ポリゴン生成処理」により通常の住所ポリゴンを生成すればよい。
【００６４】
以上の処理により、ブロック間にまたがる行政界に同一の住所コードを付与することが可能となる。また、比較的面積の小さい領域については、自動的に住所ポリゴンを生成することもできる。
【００６５】
（Ｂ４）住所コード修正処理：
図１５は、住所コード修正モジュール２１による住所コード修正処理のフローチャートである。まず、住所コード修正モジュール２１は、チェックを行う任意の住所ポリゴンを入力する（ステップＳ５０）。そして、入力した住所ポリゴンの領域内に含まれる下位の住所ポリゴンを検索する（ステップＳ５１）。これは、ステップＳ５０で入力した住所ポリゴンの領域内に代表点の座標値が含まれる下位の住所ポリゴンを検索すればよい。次に、検索された下位の住所ポリゴンの住所コードに、適切に上位の住所ポリゴンの住所コードが付与されているかどうかをチェックする（ステップＳ５２）。付与されていない場合は、上位住所ポリゴンの住所コードによって下位住所ポリゴンの住所コードを修正する（ステップＳ５３）。以上の処理を行うことにより、下位の住所ポリゴンの住所コードを修正することが可能となる。
【００６６】
（Ｂ５）仮行政名登録処理：
図１６は、仮行政名登録モジュール１８による仮行政名登録処理のフローチャートである。本処理は、まだ住所コードデータベース１２に登録されていない行政名が存在する場合にオペレータの指示により行われる処理である。まず、仮行政名登録モジュール１８は、オペレータから、仮行政名を表示させる表示基準点と、その仮行政名を入力する（ステップＳ６０）。これらの入力は、図１１（ａ）を用いて説明した同様の方法で行うことができる。このとき、必要に応じて表示角度も設定可能であれば好適である。仮行政名登録モジュール１８は、入力したこれらのパラメータ含む仮行政名データを地図データベース１３に記録する（ステップＳ６１）。
【００６７】
（Ｂ６）仮行政名更新処理：
図１７は、仮行政名更新処理のフローチャートである。これは、住所コードデータベース１２が住所コード更新処理モジュール１９によって更新された際に、仮行政名登録モジュール１８が行う処理である。
【００６８】
仮行政名登録モジュール１８は、まず、地図データベース１３に記録された仮行政名データを入力する（ステップＳ７０）。そして、その仮行政名と、住所コードデータベース１２に記録された行政名とを比較して（ステップＳ７１）、同一の行政名が存在するかどうかを判定する（ステップＳ７２）。この時、文字のゆらぎを考慮した判定を行う。すなわち、仮行政名に含まれる文字列のうち、例えば、「の」「ノ」「乃」「之」といった文字や、片仮名と平仮名を同一視したり、文字列の中に「字」や「大字」が含まれる場合にこれを省いた文字列により比較を行う。このような比較により同一の行政名が両者のデータに存在するとみなされた場合に、住所コードデータベース１２の表記に従って行政名を決定し（ステップＳ７３）、該当する住所コードを住所コードデータベース１２から取得する（ステップＳ７４）。さらに、仮行政名登録モジュール１８は、仮行政名の表示基準点を線分追跡の基準点とし、周囲の領域からポリゴンを抽出する（ステップＳ７５）。最後に、抽出したポリゴンデータと、取得した住所コードに基づき住所ポリゴンを生成して地図データベース１３に記録する（ステップＳ７６）。
【００６９】
以上、上述した種々の処理により地図データ作成支援装置１０は地図データベース１３を生成することができる。
【００７０】
Ｃ．効果：
本実施例の地図データ作成支援装置１０によれば、もともと行政名の存在しない架空領域についても架空住所コードを用いて通常の住所ポリゴンと同様にポリゴンを生成する。そのため、地図を構成するすべての領域を同じデータ構造で一元的に管理することができる。また、すべての領域についてポリゴンを生成することとしたため、ポリゴンが生成されていない領域があればオペレータのミスにより生成されていないことがわかる。従って、住所ポリゴンの生成漏れ、ひいては行政名／住所コードの入力漏れを抑制することが可能となる。また、行政界の形状データをポリゴンによって表すこととしたため、表示色の変更や拡大縮小、所望の行政界のみの抽出表示など、表示の態様を容易に変更することができる。本実施例では、すべての領域についてポリゴンを生成するため、架空領域についても他の領域と同様に色分け表示を行ったり、架空領域のみを抽出して表示を行うこともできる。
【００７１】
また、図６や図７で示した住所ポリゴンのデータ構造を拡張すれば、様々な属性データを行政界に対応付けることができる。属性データとは、例えば、その地域の居住者数、建造物数、売上記録等のデータである。こうすることにより、地図上に容易に各行政界ごとの属性データを表示することができる。ここで、例えば、架空領域について居住者数を地図上に表示する場合には、その下位に属する行政界の居住者数の総計を算出して表示するものとしてもよい。また、架空領域については、予め下位に属する行政界の居住者数の総計を属性として与え、これを表示するものとしてもよい。このように、住所ポリゴンに対して様々な属性データを対応付け可能とすることにより、地図データベース１３の利用価値の向上を図ることができる。
【００７２】
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、実施例においてソフトウェアで実現した機能をハードウェア的に実現するものとしてもよい。そのほか、以下にその変形例についていくつか例示する。
【００７３】
Ｄ．変形例：
（１）　上記「（Ｂ２）架空住所ポリゴン自動生成処理」において説明した架空領域の線分追跡の基準点は、次のように決定するものとしてもよい。すなわち、上位の住所ポリゴンと、下位の住所ポリゴンとで重複しない線分群Ｚを構成する各座標において、その座標から８方向（上、下、左、右、右上、右下、左上、左下）に所定のドット数分（例えば５ドット）移動した点が、架空領域に含まれるかどうかを判定する。判定の結果、最初に架空領域内に含まれると判定された点を基準点とする。もし、判定不能の場合は、次の座標に移動して同様の判定を行う。
【００７４】
（２）　上記実施例では、架空領域から抽出したポリゴンデータに対して架空住所コードを対応付けて住所ポリゴンに記録するものとした。しかし、対応付ける対象はポリゴンデータに限られることはない。例えば、その領域を表す領域番号があればこれに対応付けてもよいし、領域がビットマップデータによって表されている場合にはこれに対応付けてもよい。対応付ける対象も架空住所コードに限定されず、架空住所名のみを対応付けるものとしてもよい。
【００７５】
（３）　架空住所コードは、「９９９」だけではなく、例えば「９００」から「９９９」までといったように、幅を持たせて定義してもよい。こうすることにより、同一ブロック内あるいは同一レイヤ内に存在する他の架空住所ポリゴンと重複のないように架空住所コードを割り当てることができる。また、例えば、市区町村名のない領域には９９１、大字名のない領域には９９２、字丁目名のない領域には９９３といったように、コードに対してそれぞれ異なる意味を与えることもできる。
【００７６】
（４）　上記のように架空住所コードを重複のない様に管理してもよいが、架空行政名を重複のないように管理してもよい。例えば、図７において、行政名として「架空字丁目」と記録したが、同一ブロック／同一レイヤ内に複数の架空領域がある場合には、これを、「架空字丁目１」「架空字丁目２」「架空字丁目３」…、のように記録してもよい。
【００７７】
（５）　上記「（Ｂ２）架空住所ポリゴン自動生成処理」で説明したアルゴリズムは、階層構造を持たない地図データに対して適用してもよい。このような場合でも、ポリゴン抜けの領域を発見して自動的にポリゴンを生成することができる。また、ポリゴン抜けを検出するだけではなく、上記処理を繰り返し行うことにより、まったくポリゴンのない線画のみのデータからポリゴン群を抽出することができる。
【００７８】
（６）　上記「（Ｂ３）隣接行政名チェック処理」で説明した図１４のステップＳ３６において、両住所ポリゴン間で住所コードが異なるものと判定された場合であっても、一方の住所ポリゴンが非表示属性であればステップＳ３７におけるエラー処理を省略してその住所コードおよび行政名をもう一方の住所コードおよび行政名で置き換えるものとしてもよい。このとき、置き換えた後の行政名も非表示属性と定義する。これは、非表示属性で存在している住所ポリゴンは、それが前回までの隣接行政名チェック処理で自動生成されたことを意味しており、オペレータに対してエラーを提示する必要がないためである。
【図面の簡単な説明】
【図１】地図データ作成支援装置１０の概略構成図である。
【図２】行政界線分データベース１１のデータ構造を概念的に示す説明図である。
【図３】行政界線分データベース１１のブロック構造を示す説明図である。
【図４】住所コードデータベース１２のデータ構造を示す説明図である。
【図５】架空領域を概念的に示す説明図である。
【図６】地図データベース１３に記録される住所ポリゴンのデータ構造を示す説明図である。
【図７】架空住所コードが割り当てられた住所ポリゴンの一例を示す説明図である。
【図８】隣接するブロックにまたがって記録された行政界の一例を示す説明図である。
【図９】正規化処理について示す説明図である。
【図１０】住所ポリゴン生成処理のフローチャートである。
【図１１】住所ポリゴン生成処理における画面表示例の一例を示す説明図である。
【図１２】架空住所ポリゴン自動生成処理のフローチャートである。
【図１３】基準点の決定方法を示す説明図である。
【図１４】隣接行政名チェック処理のフローチャートである。
【図１５】住所コード修正処理のフローチャートである。
【図１６】仮行政名登録処理のフローチャートである。
【図１７】仮行政名更新処理のフローチャートである。
【符号の説明】
１０…地図データ作成支援装置
１１…行政界線分データベース
１２…住所コードデータベース
１３…地図データベース
１４…住所ポリゴン生成モジュール
１５…架空住所ポリゴン自動生成モジュール
１６…架空住所コード付与モジュール
１７…架空住所コード管理部
１８…仮行政名登録モジュール
１９…住所コード更新処理モジュール
２０…隣接行政名チェックモジュール
２１…住所コード修正モジュール
２２…正規化処理モジュール
【図１】
2004037540.tif 000003
【図２】
2004037540.tif 000004
【図３】
2004037540.tif 000005
【図４】
2004037540.tif 000006
【図５】
2004037540.tif 000007
【図６】
2004037540.tif 000008
【図７】
2004037540.tif 000009
【図８】
2004037540.tif 000010
【図９】
2004037540.tif 000011
【図１０】
2004037540.tif 000012
【図１１】
2004037540.tif 000013
【図１２】
2004037540.tif 000014
【図１３】
2004037540.tif 000015
【図１４】
2004037540.tif 000016
【図１５】
2004037540.tif 000017
【図１６】
2004037540.tif 000018
【図１７】
2004037540.tif 000019