(57)【特許請求の範囲】
【請求項１】
複数のＧＰＳ衛星からの電波を受信して緯度経度高度を測定するＧＰＳ処理機能を有するＧＰＳ受信部と、道路を表す線片データ及び該線片データ上の点を表す点データとを含むベクタデータ形式の地図情報を格納する記憶部と、前記線片データ及び点列データに基づく地図情報を表示する表示部と、前記記憶部及び表示部を制御する制御部とを備え、前記ベクタデータ形式の地図情報の精度を任意に設定することができる地理情報ベクタ化支援システムであって、
前記記憶部が、一意に道路毎に付与された道路ＩＤ、該道路上に存在する点の順番を表す順序、該順番の点に一意に付与された点ＩＤの各項目情報を有する点列データと、道路ＩＤ、該道路上に存在する点の順序を表す順序、該順序の点ＩＤ、該点ＩＤに対して順序が一つ前の点ＩＤを示す直前点ＩＤ、該点ＩＤに対して順序が一つ後の点ＩＤを示す直後点ＩＤ、前記点ＩＤを始点として直後の点ＩＤとの間の線片のＩＤを示す線分ＩＤの各項目情報を有する線片データと、前記点ＩＤ毎の緯度経度を含む点データと、を格納し、
前記制御部が、
精度を設定する地図上の道路ＩＤが入力されることにより該入力した道路ＩＤに対応した点列データ及び線片データに基づく地図情報を前記記憶部から読み出して表示出力する第１工程と、
該第１工程により表示出力した線片データ上の複数の点ＩＤを指定した初期値を入力する第２工程と、
該第２工程により指定した複数の点ＩＤ間の点列データに追加する点位置情報及び分岐判断情報を入力する第３工程とを実行し、
該第３工程により入力された点位置情報及び分岐判断情報に基づいて記憶部に格納された線片データの詳細化を行う第４工程と、
該第３工程により入力された点位置情報及び分岐判断情報に基づいて記憶部に格納された線片データの集約化を行う第５工程と、
前記第４工程により詳細化を行った線片データ又は前記第５工程により集約化した線片データ上の点列データから始点と終点となる２点を結ぶ線片データ上のＮ点から折れ線を構成するｎ点を選択し、該Ｎ点すべてを経由する折れ線と、ｎ点を経由する折れ線とを比較して評価する最適化を行う第６工程と、
の何れかを実行し、
前記第４工程により詳細化を行った線片データ又は該第５工程により集約した線片データ又は前記第６工程により最適化した線片データ上の点列データから適切な点を抽出して連続する線片データを出力する第７工程と、
前記第７工程により出力された線片データ及び該線片データ上の点列データを含む地図情報を表示出力する第８工程と、
を実行する地理情報ベクタ化支援システム。
【請求項２】
前記評価を行う第６工程において、
前記制御部が、
前記Ｎ点すべてを経由する折れ線と、ｎ点を経由する折れ線で囲む図形の面積を算出し、該算出した面積が小さいＮ点すべてを経由する折れ線又はｎ点を経由する折れ線を選択する請求項１に記載の地理情報ベクタ化支援システム。
【請求項３】
前記制御部が、線片データの集約を行う第５工程において、
前記線片データ上の点列データから２点を選択する第９工程と、
該第９工程により選択した２点を端点として、前記線片データに含まれる前記２点間の点ＩＤを抽出する第１０工程と、
前記第９工程により選択した２点を端点として、前記点列データに含まれる前記２点間の点ＩＤを抽出する第１１工程と、
前記第９工程により選択した２点の端点の点ＩＤと前記第１０工程により抽出した点ＩＤを直線で結ぶ面積と、前記第９工程により選択した２点の端点の点ＩＤと前記第１１工程により抽出した点ＩＤを直線で結ぶ面積とを比較し、面積が小さい方の複数の点ＩＤを用いて線片データの集約を行う第１２工程を実行する請求項１又は２に記載の地理情報ベクタ化支援システム。
【請求項４】
前記制御部が、線片データの集約を行う第５工程において、
前記線片データ上の点列データから２点を選択する第１３工程と、
該第１３工程により選択した２点を端点として、該２点間の点列データを用いて順序が間の点ＩＤを抽出する第１４工程と、
該第１４工程により抽出した点の点ＩＤが線片データ上に含まれるとき、線片データにおいて、前記線片データ上に含まれる点ＩＤのレコードを削除し、該点ＩＤに対して直前の点に対して線分ＩＤを新規登録し、直後の点ＩＤを修正し、直後の点に対して、直前の点ＩＤを修正し、直後の点以降の順序を修正する第１５工程を実行する請求項１又は２に記載の地理情報ベクタ化支援システム。
【請求項５】
複数のＧＰＳ衛星からの電波を受信して緯度経度高度を測定するＧＰＳ処理機能を有するＧＰＳ受信部と、道路を表す線片データ及び該線片データ上の点を表す点データとを含むベクタデータ形式の地図情報を格納する記憶部と、前記線片データ及び点列データに基づく地図情報を表示する表示部と、前記記憶部及び表示部を制御する制御部とを備え、
前記記憶部が、一意に道路毎に付与された道路ＩＤ、該道路上に存在する点の順番を表す順序、該順番の点に一意に付与された点ＩＤの各項目情報を有する点列データと、道路ＩＤ、該道路上に存在する点の順序を表す順序、該順序の点ＩＤ、該点ＩＤに対して順序が一つ前の点ＩＤを示す直前点ＩＤ、該点ＩＤに対して順序が一つ後の点ＩＤを示す直後点ＩＤ、前記点ＩＤを始点として直後の点ＩＤとの間の線片のＩＤを示す線分ＩＤの各項目情報を有する線片データと、前記点ＩＤ毎の緯度経度を含む点データと、を格納し、
前記ベクタデータ形式の地図情報の精度を任意に設定することができるコンピュータシステムにおける地理情報ベクタ化支援方法であって、
前記制御部に、
精度を設定する地図上の道路ＩＤが入力されることにより該入力した道路ＩＤに対応した点列データ及び線片データに基づく地図情報を前記記憶部から読み出して表示出力する第１工程と、
該第１工程により表示出力した線片データ上の複数の点ＩＤを指定した初期値を入力する第２工程と、
該第２工程により指定した複数の点ＩＤ間の点列データに追加する点位置情報及び分岐判断情報を入力する第３工程とを実行させ、
該第３工程により入力された点位置情報及び分岐判断情報に基づいて記憶部に格納された線片データの詳細化を行う第４工程と、
該第３工程により入力された点位置情報及び分岐判断情報に基づいて記憶部に格納された線片データの集約化を行う第５工程と、
前記第４工程により詳細化を行った線片データ又は前記第５工程により集約化した線片データ上の点列データから始点と終点となる２点を結ぶ線片データ上のＮ点から折れ線を構成するｎ点を選択し、該Ｎ点すべてを経由する折れ線と、ｎ点を経由する折れ線とを比較して評価する最適化を行う第６工程と、
の何れかを実行させ、
前記第４工程により詳細化を行った線片データ又は該第５工程により集約した線片データ又は前記第６工程により最適化した線片データ上の点列データから適切な点を抽出して連続する線片データを出力する第７工程と、
前記第７工程により出力された線片データ及び該線片データ上の点列データを含む地図情報を表示出力する第８工程と、
を実行させる地理情報ベクタ化支援方法。
【請求項６】
前記評価を行う第６工程において、
前記制御部に、
前記Ｎ点すべてを経由する折れ線と、ｎ点を経由する折れ線で囲む図形の面積を算出し、該算出した面積が小さいＮ点すべてを経由する折れ線又はｎ点を経由する折れ線を選択する請求項５に記載の地理情報ベクタ化支援方法。
【請求項７】
前記制御部に、線片データの集約を行う第５工程において、
前記線片データ上の点列データから２点を選択する第９工程と、
該第９工程により選択した２点を端点として、前記線片データに含まれる前記２点間の点ＩＤを抽出する第１０工程と、
前記第９工程により選択した２点を端点として、前記点列データに含まれる前記２点間の点ＩＤを抽出する第１１工程と、
前記第９工程により選択した２点の端点の点ＩＤと前記第１０工程により抽出した点ＩＤを直線で結ぶ面積と、前記第９工程により選択した２点の端点の点ＩＤと前記第１１工程により抽出した点ＩＤを直線で結ぶ面積とを比較し、面積が小さい方の複数の点ＩＤを用いて線片データの集約を行う第１２工程を実行させる請求項５又は６に記載の地理情報ベクタ化支援方法。
【請求項８】
前記制御部に、線片データの集約を行う第５工程において、
前記線片データ上の点列データから２点を選択する第１３工程と、
該第１３工程により選択した２点を端点として、該２点間の点列データを用いて順序が間の点ＩＤを抽出する第１４工程と、
該第１４工程により抽出した点の点ＩＤが線片データ上に含まれるとき、線片データにおいて、前記線片データ上に含まれる点ＩＤのレコードを削除し、該点ＩＤに対して直前の点に対して線分ＩＤを新規登録し、直後の点ＩＤを修正し、直後の点に対して、直前の点ＩＤを修正し、直後の点以降の順序を修正する第１５工程を実行させる請求項５又は６に記載の地理情報ベクタ化支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ベクタ形式の地図情報の生成を支援することができる地理情報ベクタ化支援システム及び地理情報ベクタ化支援方法に関する。
【背景技術】
【０００２】
一般に、地図や空間情報を管理・表示するシステムとしてＧＩＳ（Ｇｅｏｇｒａｐｈｉｃ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｙｓｔｅｍｓ：地理情報システム）がある。このＧＩＳで管理する地図情報は、ラスタデータとベクタデータが有り、ラスタデータは、衛星写真・航空写真・スキャナで取り込んだ地図等の画素からなる画像情報のデータ形式であり、ベクタデータは、地点や道路や建物の輪郭等を表す点や線や多角形等からなる図形情報のデータ形式である。
【０００３】
例えば、道路の地図情報は、ラスタデータでは連結した画素の集合となるが、ベクタデータでは始点と終点を持つ曲線として管理される。ＧＩＳではラスタデータとベクタデータを緯度・経度が合致するように重畳して表示することができる。このＧＩＳに関する技術が記載された文献としては非特許文献１が挙げられ、この非特許文献１には「ＡｒｃＣａｔａｌｏｇはデータ・地理情報管理のためのツールです。ＡｒｃＧＩＳ  Ｈｅｌｐには整理および管理できる情報の種類は以下の項目が挙げられています。ジオデータベース、ラスタファイル、マップドキュメント、グローブドキュメント、３Ｄシーンドキュメント、レイヤファイル、ジオプロセシングツールボックス、モデル、Ｐｙｔｈｏｎスクリプト」との記載がある。
【０００４】
また、現実世界で自分のいる位置を地図上で把握したいというニーズに対して、ＧＰＳを用いて緯度・経度を計測し、緯度・経度の突き合せが可能な地図上で位置を重畳表示することが一般的に行われている。これにより、現実世界のある点をラスタデータ上に重畳表示ができる。
【０００５】
他方、道路や河川などの線形要素が図形としてベクタデータで表されているとき、現実世界のある点が、その図形内でどこに位置するのかを把握するニーズがあり、この場合には、図形をパラメトリック曲線（連続する値を持つパラメータ［変数］によって決まる曲線）に表現する方法が利用できる。この方法は、始点と終点を指定し、その間の図形の式を定義し、１個のパラメータでその図形に沿った位置を決定する方法である。
【０００６】
また、ベクタデータを表現する際の方法が記載された文献としては、下記の特許文献１が挙げられる。この特許文献１は「デジタル空間データの、図形要素（線又は面）の最大外接矩形の中心点又はその図形要素の重心点を算出して、その図形要素の代表となる唯一の点座標とする。この求めた最大外接矩形の中心点又は図形要素の重心点がその図形要素から外れている場合は、その中心点又は重心点からその図形要素までの最短距離を表わす直線を求め、その直線と図形要素との交差点から代表点が図形要素内に入るようにする。」との記載がある。
【０００７】
また、ベクタデータを生成する方法の一例が記載された文献としては、下記の非特許文献２及び特許文献２が挙げられる。
【０００８】
前記非特許文献２には「ラスタデータは画像のデータで、主にスキャンして様々なフォーマットに変換します。ベクタデータは、ラスタデータを背景にＣＡＤ上でトレースを行い、数値を持ったデータとして作成します。ラスタデータやベクタデータに座標値を持たせることでシームレスな図面データを作成することができます。」との記載がある。
【０００９】
前記特許文献２には、「図形をベクタデータで処理するシステムに手書き図面を利用する場合に、この手書き図面をベクタデータ化してシステムに取り込むのに好適な図形処理システム」との記載がある。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００２−１２３８３６号公報
【特許文献２】特開平５−３１４１９６号公報
【非特許文献】
【００１１】
【非特許文献１】ＡｒｃＧＩＳ  Ｔｉｐｓ社発行のＡｒｃＣａｔａｌｏｇの記事、＜ＵＲＬ：ｈｔｔｐ：／／ｇｉｓ．ｙｋｕｒｂａｎ．ｎｅｔ／ａｒｃｃａｔａｌｏｇ＞
【非特許文献２】株式会社アイテック社、データプロセッシングの記事、＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｔｅｃ−ｍａｐ．ｃｏ．ｊｐ／ｂｕｓｉｎｅｓｓ＿ｄｉｇｉｔａｌｄａｔａ．ｈｔｍｌ＞
【発明の概要】
【発明が解決しようとする課題】
【００１２】
前記非特許文献１に記載された技術は、図形を画像の上でトレースする際のベクタ化の精度が入力された始点及び終点の座標と選ばれた曲線の式で決まってしまうため、ラスタデータとベクタデータを緯度・経度が合致するように重畳して表示する効果に留まる。
【００１３】
前記特許文献１に記載された図形を代表点で代表させる技術は、図形をどのように分割するかということを外部から与えなければならず、更に、その代表のさせ方の精度（粗い・細かい）を知ることも制御することもできないため、直線と図形要素との交差点から代表点が図形要素内に入れる効果に留まる。
【００１４】
前記非特許文献２に記載の技術は、ラスタデータやベクタデータに座標値を持たせることでシームレスな図面データを作成することができる効果に留まる。
【００１５】
前記特許文献２に記載された技術は、光学的読み取り装置で読込んだ部分図形をラスタ／ベクタ変換手段で変換するときの粗さや細かさを制御することができず、手書き図面をベクタデータ化してシステムに取り込む効果に留まる。
【００１６】
そこで本発明は、地理情報をベクタデータ形式で入力・管理・出力する際に、そのベクタデータの精度を任意に設定することができる地理情報ベクタ化支援システム及び地理情報ベクタ化支援方法を提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明による地理情報ベクタ化支援システム及び方法は、
精度を設定する地図上の道路ＩＤが入力されることにより該入力した道路ＩＤに対応した点列データ及び線片データに基づく地図情報を前記記憶部から読み出して表示出力する第１工程と、
該第１工程により表示出力した線片データ上の複数の点ＩＤを指定した初期値を入力する第２工程と、
該第２工程により指定した複数の点ＩＤ間の点列データに追加する点位置情報及び分岐判断情報を入力する第３工程とを実行させ、
該第３工程により入力された点位置情報及び分岐判断情報に基づいて記憶部に格納された線片データの詳細化を行う第４工程と、
該第３工程により入力された点位置情報及び分岐判断情報に基づいて記憶部に格納された線片データの集約化を行う第５工程と、
前記第４工程により詳細化を行った線片データ又は前記第５工程により集約化した線片データ上の点列データから始点と終点となる２点を結ぶ線片データ上のＮ点から折れ線を構成するｎ点を選択し、該Ｎ点すべてを経由する折れ線と、ｎ点を経由する折れ線とを比較して評価する最適化を行う第６工程と、
の何れかを実行させ、
前記第４工程により詳細化を行った線片データ又は該第５工程により集約した線片データ又は前記第６工程により最適化した線片データ上の点列データから適切な点を抽出して連続する線片データを出力する第７工程と、
前記第７工程により出力された線片データ及び該線片データ上の点列データを含む地図情報を表示出力する第８工程と、
を実行することを主な特徴とする。
【発明の効果】
【００１８】
本発明による地理情報ベクタ化支援システム及び地理情報ベクタ化支援方法は、地理情報をベクタデータ形式で入力・管理・出力する際に、そのベクタデータの精度を任意に設定することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施例による地理情報ベクタ化支援システムを示す図である。
【図２】本実施例による線形要素を詳細化する処理を説明するフローチャートである。
【図３】本実施例による線形要素を詳細化する処理を説明する図である。
【図４】本実施例による出力部の画面例を示す図である。
【図５】本実施例による点列データの形式を示す図である。
【図６】本実施例による点の位置関係を表す図である。
【図７】本実施例による線片データの形式を示す図である。
【図８】本実施例による詳細化前後の点と線片を説明する図である。
【図９】本実施例による線形要素を集約する処理を説明するフローチャートである。
【図１０】本実施例による出力部での見え方を示す図である。
【図１１】本実施例による集約処理前後の線片データを示す図である。
【図１２】本実施例による詳細化処理の評価値を説明するための図である。
【図１３】本実施例による集約処理の評価値を説明するための図である。
【図１４】本実施例による折れ線間の面積を求める方法を説明する図である。
【図１５】本実施例による最適化処理を説明するフローチャートである。
【図１６】本実施例による点データの形式を示す図である。
【図１７】本実施例による地理情報のベクタ化を支援する処理の実施例の出力画面例を示す図である。
【図１８】本実施例による地理情報をベクタ化して出力する処理を説明するフローチャートである。
【発明を実施するための形態】
【００２０】
以下、本発明による地理情報ベクタ化支援システム及び地理情報ベクタ化支援方法の実施例を説明する。
【実施例１】
【００２１】
［全体構成］
本実施例による地理情報ベクタ化支援方法を実現する地理情報ベクタ化支援シテムは、図１に示す如く、ＧＰＳ受信部１０１と、詳細化部１０２と、初期値入力部１０３と、集約部１０４と、記憶部１０５と、入力部１０６と、出力部１０７と、最適化部１０８と図示しない制御部がバス１０９を介して相互接続されるように構成され、地理情報をベクタデータの形式で管理するときにベクタデータの精度を任意に設定することができる。例えば、ある曲がった道路をどこに何点の点を置いてそれらを結ぶ線分で表現するか、その詳細度を自由に設定できる。これにより、煩雑なデータ管理と正確性とのトレードオフを図ることができる。この地理情報ベクタ化支援シテムは、操作者が携帯可能な携帯型の端末装置として構成することや、操作者が操作するＧＰＳ受信部１０１を含む携帯端末と、該携帯端末とネットワークを介して他の部位と接続させ、協働して後述する動作をおこなうように構成しても良い。
【００２２】
前記ＧＰＳ受信部１０１は、複数のＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）衛星からの電波を受信して緯度経度高度を測定するＧＰＳ処理機能を有し、前記詳細化部１０２は、線形要素を詳細化する詳細化処理機能を有し、前記初期値入力部１０３は、地図上の線形要素を表す点列データの初期値を入力する初期値入力処理機能を有する。
【００２３】
前記集約部１０４は、地図上の線形要素を集約する集約処理を有し、前記入力部１０６は、地図上に追加する点位置情報の入力や分岐判断等の情報を入力する機能を有し、前記出力部１０７は、地図情報を表示出力する機能を有し、前記最適化部１０８は、点列データから適切な点を抽出して連続する線片データを出力する最適化処理機能を有し、これら各機能の詳細は後述する。
【００２４】
前記記憶部１０５は、点列データ（図５）及び線片データ（図７）からなるベクタ形式の地図情報及びラスタデータ形式と緯度・経度情報を持つ点データ（図１６）を含む地図データを格納する記憶機能を有する。
【００２５】
前記点列データは、図６に示した複数点の乗る線形要素（道路４０１）の番号（００１，４０３，４０４，４０５）を記載するものであって、図５に示す如く、一意に道路毎に付与された道路ＩＤ５０１、この道路上に存在する点の順番を表す順序５０２、この順番の点に一意に付与された点ＩＤ５０３の各項目情報を持つ。
【００２６】
前記線片データは、図７に示す如く、前記道路ＩＤ５０１、該道路上に存在する点の順序を表す順序５０２、該順序の点ＩＤ５０３、該点ＩＤに対して順序が一つ前の点ＩＤを示す直前の点ＩＤ７０４、該点ＩＤに対して順序が一つ後の点ＩＤを示す直後の点ＩＤ７０５、前記点ＩＤを始点として直後の点ＩＤとの間の線片（２点を結ぶ線分）のＩＤを示す線片ＩＤ７０６からなる。この線片データの行（レコード）は点列データの中で線形要素を表す際に用いる点のみが抽出される。なお、図７の線片データにおける始点での直前の点ＩＤはＮＵＬＬとなり、終点での直後の点ＩＤはＮＵＬＬとなり、終点での線片ＩＤはＮＵＬＬとなる。
【００２７】
図７に示した例では全部の点を使うと仮定したときのデータを示し、点列データの中で線片として使わない点がある場合にはその点を飛ばして格納される。従って、図５に示す点列データは、位置座標が分かっているすべての点のデータであるのに対し、図７に示す線片データは、線片を構成する点のみのデータとなる。
【００２８】
前記点データは、図１６に示す如く、前記点ＩＤ５０３に対応した位置情報を示す緯度１６０２及び経度１６０３を格納する。
【００２９】
［動作］
本実施例による地理情報ベクタ化支援シテムは、前記詳細化部１０２が地図上の道路等の線形要素を詳細化する詳細化処理機能を有する。
［線形要素詳細化処理］
まず、本実施例による線形要素を詳細化する処理概要を次に図３を参照して説明する。
図３（ａ）は、ある地点の地図を示す。この図３（ａ）の例では、左上に学校が有り、二本の道路が縦方向及び斜め横方向に横切っており、中央付近で交差している。このように地図上においては、道路や河川他を曲線や直線で表すことができ、この一次元のパラメトリック曲線上に位置を示すことができる要素を線形要素と呼ぶ。
【００３０】
このため、図３（ａ）に示す地図は、横方向の道路３０１のみをパラメトリック曲線として抽出すると、図３（ｂ）に示す如く該当道路の表現を点３０２と点３０３を結ぶ線分３０４として表現することができる。
【００３１】
この図３（ｂ）に示したパラメトリック曲線の道路３０１を、図３（ｃ）に示す如く、点３０２と点３０３に加えてその間に点３０５を配置（追加）したとき、点３０２から点３０５を経由して点３０３に至る折れ線として表現される。この図において点３０２と点３０５の間は線分３０６であり、点３０５と点３０３の間は線分３０７である。
【００３２】
このように本実施例で述べる線形要素を詳細化する処理とは、道路３０１を線分３０４として表現していたものを、詳細化した連続する線分３０６及び線分３０７で表現するように置き換えることを指す。
【００３３】
この詳細化処理を実行する詳細化部１０２の動作は図２に示す次に述べるステップにより実行される。
ｓ２０１：追加する点の位置情報を入力するステップ。
このステップは、ある道路上の点で位置情報を携帯端末によって取得するユースケースを想定したとき、ボタンの機能を有する入力部１０６への入力をトリガーとし、ＧＰＳ受信部１０１がその入力があったときのＧＰＳ受信装置の位置情報を取得することが考えられる。
【００３４】
ｓ２０２：出力部１０７にｓ２０１で取得された点の近傍の地図（地図データ）を表示出力するステップ。
この地図データは、記憶部１０５から読み出される線形要素上の点として既に入力された点を表す点列データ（図５）と、線形要素を複数の線分にて近似したときの線分である線片データ（図７）と、各点の緯度経度を含む点データ（図１６）とを含み、本ステップｓ２０２では、線片データを構成する点の中から２点が出力部１０７の地図に重畳表示される。その際に、ステップｓ２０１で入力された点の近傍且つ線形要素の各方向に近いものを一つずつ選ぶ。
【００３５】
この出力部１０７の画面例を図４（ａ）に示す。図４（ａ）は、道路４０１が画面上表示され、ステップｓ２０１で取得した点は点１０００として重畳表示される。この地図の表示範囲内には、点４０３、点４０４、点４０５が道路上の点として存在し、既に存在する点（点４０３、点４０４、点４０５）から、点１０００の近傍の点（点４０４、点４０５）が２点選ばれることにより、図４（ｂ）にあるように出力部１０７に点４０４と点４０５を結ぶ地図が表示される。
【００３６】
ｓ２０３：ステップｓ２０１で取得した点で詳細化を行うか否かを操作者の入力部１０６への入力により判定するステップ。
ｓ２０４：ステップｓ２０３において詳細化を行う旨が入力されたことを判定したとき、ステップｓ２０１で取得した点を用いて詳細化処理を実行するステップ。
【００３７】
このステップｓ２０４による詳細化処理は、前記ステップｓ２０１で取得した点の前後の点をステップｓ２０２で抽出し、この抽出した２点を結ぶ線分をステップｓ２０１で取得した点を端点に含む２本の線分に分割する処理であって、具体的には、この区間（ステップｓ２０２により抽出した２点を結ぶ線分）の線分表現をｓ２０１で取得した点を経由する折れ線にする処理である。
【００３８】
次に、図８（ａ）に示した詳細化前の点及び線分を、図８（ｂ）に示した詳細化後の点及び線分に詳細化する処理を説明する。本例は、図８（ａ）に示した点４０４と点４０５を結ぶＳｅｇ９を、図８（ｂ）に示す点４０４と点４０５との間に点１０００を挿入し、点４０４と点１０００を結ぶＳｅｇ１１と点１０００と点４０５を結ぶＳｅｇ１２に置き換える例である。
【００３９】
この詳細化処理は、前述の詳細化処理と同様に点列データ（図５）への行の挿入修正及び線片データ（図７）への行の挿入修正を行い、図８（ｃ）及び図８（ｄ）に示す点列データ及び線片データに修正することによって行われる。
【００４０】
図８（ｃ）の点列データの修正は、順序が４に相当する点１０００の１行（レコード）を挿入し、順序４以降については順序をすべて修正することによって行う。図８（ｄ）の線片データの修正は、順序が４に相当する１行（レコード）を挿入し、直前の行の直後の点ＩＤ及び線分ＩＤを修正し、直後の行の直前の点ＩＤを修正し、順序４以降については順序をすべて修正し、新しいＩＤは使っていない値を自動採番することによって行う。
【００４１】
ｓ２０５：ステップｓ２０３において詳細化を行う旨が入力されていないことを判定したとき、詳細化しない場合の処理を行うステップ。
このステップＳ２０５は、線片データの追加や修正を行わず、点列データのみ追加修正する。ここでは、道路ＩＤ、順序、点ＩＤを持つ行を適当な順序位置に挿入し、それ以降の順序の点の順序欄を修正する。
【００４２】
なお、前記例ではステップｓ２０３の詳細化を行うかどうかの判定を入力部１０６への入力に基づいて判定する例を説明したが、本実施例はこれに限られるものではなく、常に判断をＹＥＳとして処理してステップｓ２０４に遷移するように構成することや、評価値を計算してその結果を元にステップｓ２０４に遷移するか否かを判定するように構成しても良い。前記常に判断をＹＥＳとして処理してステップｓ２０４に遷移する構成は、ステップｓ２０１により入力した点を自動的に線片データとして採用してｓ２０４の詳細化処理につなげることができ、ステップｓ２０１の位置情報入力に処理のフローを制御させられることができ、詳細化処理を呼び出す上位手続きを考えた場合に入力操作の煩雑さを軽減することができる。
【００４３】
［詳細化処理の評価値計算方法］
前述したステップＳ２０３の判定を行うための評価値の計算方法を図１２を参照して次に説明する。
図１２に示す地図は、二重丸で示す点１２０２及び点１２０３がステップｓ２０２により抽出された点であり、線片中の星印で示す点１２０１がステップｓ２０１により入力された点の位置を表し、これら点は線形要素を近似する点に含まれ、各点及び線分は次の通りである。
【００４４】
・黒丸で示す点１２０４及び１２０５は、点列データにおいて、点１２０２と１２０３の間にある点であって線片データに含まれていない点を表す。
・折れ線１２０６は、点１２０２と点１２０３の間を点列データ及びステップｓ２０１により入力された点１２０１の全てを通る折れ線（連続する線分）である。
・線分１２０７は、点１２０２と点１２０３を結ぶ線分である。
・線分１２０８は、点１２０２から点１２０３へ向かって点１２０１のみを経由する折れ線（二つの連続する線分）である。
【００４５】
ここで、本実施例で述べる評価値とは、折れ線１２０６を近似するために、端点を結んだ線分１２０７よりも線分１２０８がどの程度適切かという指標である。
本実施例による評価は、折れ線１２０６と線分１２０８の間に挟まれる多角形面積が折れ線１２０６と線分１２０７の間に挟まれる多角形面積より小さくなっているか否かを判定することによって行う。
【００４６】
このように、前記直線と直線との間に挟まれる面積は、定積分の計算により容易に算出できるため、全ての座標が確定している折れ曲がった点で積分区間を分割することによって、解析的に計算することができる。
【００４７】
これを具体的に説明すると、図１４に示すような、ｆ１（ｘ）とｆ２（ｘ）の二つの曲線で挟まれる面積は、数１で示すように、それぞれの曲線を示す関数の差の絶対値を積分することで表される。
【数１】
0006494230.tif 000002
面積は回転に対して不変量なため、ｘ軸やｙ軸がこれらの曲線に対してどちらを向いているかには無関係であり、軸が直交していればよい。すなわち、緯度、経度で十分である。曲線は、この場合、折れ線なので、折れる点ごとに区間を分割すれば区間ごとに二つの一次直線の差の定積分の計算となる。計算した結果、図１２に示す折れ線１２０６と線分１２０７で囲む場合よりも、折れ線１２０６と線分１２０８で囲む面積が小さくなる場合には、ステップｓ２０４に移り詳細化を行い、そうでない場合にはステップｓ２０５に移る。
【００４８】
また、前述の評価値の計算は、区分ごとの直線間で囲む面積のみで計算したが、これに加えて、区分の数を評価に含むように修正して実施することもできる。区分の数が多いほど、誤差であるところの面積が小さくなるのは一般的にあり得る傾向であるが、その分、データ数が多くなり煩雑となる。近似の折れ線の頂点が少ないほど単純で良いという評価を実現するために、例えば、面積と区分の数の積を評価値とすることが可能である。これにより、より少ない点数での近似が選好される評価が可能となる。
【００４９】
［点列データ初期値入力処理］
次に、初期値入力部１０３が行う線形要素を表す点列データの初期値入力処理について説明する。
前述した詳細化処理では、少なくとも線形要素に対して近傍の２点が予め存在する必要があった。したがって、これらの初期値を入力する処理が予め必要となる。そのためには、入力部１０６への入力をトリガーとしてＧＰＳ受信部１０１が、操作者がＧＰＳ受信装置の位置情報を取得する工程を同じ線形要素（道路や河川）で２回繰り返すことで実現できる。
【００５０】
その結果の点列データは、図５に示した形式で２行が作成され、図７に示した線片データが２行作成される。したがって、最初の２点はデフォルトで線形要素を近似する点として登録される。また、緯度、経度の情報は、点ＩＤとともに図１６に示した形式の点データとして作成される。これらの点列データ、線片データ、点データは、いずれも記憶部１０５に記憶される。
【００５１】
［線形要素集約処理］
次に、集約部１０４が行う線形要素を集約する処理を図９に示すフローを参照して説明する。この線形要素集約処理動作は、次に述べるステップにより実行される。
【００５２】
ｓ９０１：線片データから二点を選択するステップ。
このステップは、例えば、図１０に示した出力部１０７により表示される地図に点列データ及び線片データが重畳表示され、線片データで示す道路１００１と二重丸で示す点４０３・４０４・１０００・４０５と、黒丸で示す点列データの点の中で線片データに入らなかった点００１が表示され、この線片データの道路１００１上の二重丸で示す点４０４及び４０５の２点を選択する工程である。
【００５３】
ｓ９０２：ステップｓ９０１により選択した点４０４及び点４０５を端点として、その間の点列データを用いて順序が間の点１０００を抽出するステップ。
ｓ９０３：操作者からの入力部１０６からの入力により点４０４及び点４０５の間を集約するか否かの判定を行い、集約しないと判定したときに処理を終了するステップ。
ｓ９０４：点４０４及び点４０５の間を集約を実行して処理を終了するステップ。
【００５４】
この集約処理は、選択された端点の２点の間に点（黒丸点）があった場合、その点を線片データから削除すると共に、直前の点に対して、線分ＩＤを新規登録し、直後の点ＩＤを修正し、直後の点に対して、直前の点ＩＤを修正する。また、直後の点以降の順序を修正するものであり、点列データの修正を次に説明する。
【００５５】
この点列データの修正は、図１１（ａ）に示す集約処理前の線片データの点列として、００１・４０３・４０４・１０００・４０５がこの順序で並んでいるところを、点４０４と点４０５で集約処理をした場合、図１１（ｂ）に示す集約処理後の線片データに示す如く、次のように修正を行う。
・点１０００に相当する行（レコード）を削除すること。
・直前の点４０４に対する線分ＩＤに新しいＩＤであるＳｅｇ１３が付与され、直後の点ＩＤを４０５に修正すること。
・直後の点４０５に対する直前の点ＩＤが４０４に修正すること。
・点４０５以降の順序の全てを修正すること。
【００５６】
なお、本実施例においては、前記ステップｓ９０３による集約するか否かの判定を入力部１０６への入力によって行う例を記載したが、本実施例はこれに限られるものではなく、例えば、常に判断をＹＥＳとして処理することや、評価値を計算してその結果に基づいて判定するように構成することもできる。
【００５７】
前記常に判断をＹＥＳとする処理は、ステップｓ９０１による入力が自動的にステップｓ９０４の集約処理につながり、集約処理を呼び出す上位手続きを考えた場合に入力操作の煩雑さが軽減することができる。
【００５８】
［集約処理の評価値計算方法］
ここで、前記評価値を計算してその結果に基づいて判定する処理における評価値の計算の方法を図１３を用いて説明する。
図１３における二重丸で示す点１３０１及び１３０２は、ステップｓ９０１で選択された線片データの２点を表し、黒丸で示す符号１３０３・１３０４・１３０５は、ステップｓ９０２で抽出された点のうち線片データに含まれない点であり、二重丸で示す点１３０６は、ステップｓ９０２で抽出された点のうち線片データに含まれる点である。また、折れ線１３０７は、点１３０１及び１３０２を端点とし、その間の点１３０３・１３０６・１３０４・１３０５を順序にしたがって結んだ折れ線であり、線分１３０８は、線片データのみを結んだ折れ線であり、線分１３０９は、端点を結んだ線分である。
【００５９】
ここで評価値とは、折れ線１３０７を近似するために、線分１３０８よりも端点を結んだ線分１３０９の方がどの程度適切かという指標である。本実施例による評価値の算出は、折れ線１３０７との間に挟まれる面積を計算して、それが小さくなっているかどうかにより判定する。
【００６０】
すなわち、直線と直線との間に挟まれる面積は、単純な定積分の計算で算出ができ、折れ曲がった点で積分区間を分割することにより、解析的に計算することができる。本実施例による評価は、折れ曲がった点はすべて座標が確定しているため、計算の結果、線分１３０８と折れ線１３０７で囲む場合に比べて、線分１３０９と折れ線１３０７で囲む方が面積が小さくなる場合、ステップｓ９０４に移り集約を行い、線分１３０９と折れ線１３０７で囲む方が面積が小さくならない場合には終了する。
【００６１】
また、前述の評価値の計算は、区分ごとの直線間で囲む面積のみで計算したが、これに加えて、区分の数を評価に含むように修正して実施することもできる。区分の数が多いほど、誤差であるところの面積が小さくなるのは一般的にあり得る傾向ではあるが、その分、データ数が多くなり煩雑となる。近似の折れ線の頂点が少ないほど単純で良いという評価を実現するために、例えば、面積と区分の数の積を評価値とする実施例が可能である。これにより、より少ない点数での近似が選好される評価が可能となる。
【００６２】
また、線分１３０８と折れ線１３０７で囲む場合よりも、線分１３０９と折れ線１３０７で囲む方が面積が小さくなる場合に、ステップｓ９０４に移り集約を行うとした上述の実施例を変更し、線分１３０９と折れ線１３０７で囲む面積が、決められた値より小さい場合にはステップｓ９０４に移り集約を行っても良い。これにより、許容される誤差の条件を満たしつつ、少ない数の点で線形要素を近似することができる。
【００６３】
［最適化処理］
次に、本実施例による最適化部１０８が行う、点列データから適切な点を抽出して連続する線片データを出力する処理（最適化処理）について、図１５のフローチャートを用いて説明する。
ｓ１５０１：点列データから始点と終点となる２点を入力するステップ。
このステップは、入力部１０６から入力したＮ点すべてを経由する折れ線と、両端の２点を結ぶ線分で囲む図形の面積を計算し、最小値Ｓにその面積の値を代入し、点の集合を保持する変数Ｃ０に両端の２点をセットする処理で有り、この点の集合を保持する変数Ｃ０は、点ＩＤのリストとして表される。
【００６４】
ｓ１５０２：点列データから、この２点を結ぶ折れ線の候補を構成する点を選択するステップ。
このステップは、ステップｓ１５０１で選ばれた２点の間に、これらの２点も含んで点列データにＮ点存在するとし、これらの２点も含め、ここからｎ点を抽出して折れ線を構成する点を選択する処理である。
【００６５】
この点を選ぶ組合せの総数は、（Ｎ−２）Ｃ（ｎ―２）個と書ける。ここで、ａＣｂとはａ個からｂ個を取る組合せの総数を表す（ｎは２以上でＮ以下の整数）。このステップｓ１５０２では、２以上Ｎ以下のすべてのｎについて、すべての（Ｎ−２）Ｃ（ｎ―２）個の組合せの中から、まだ選ばれていないｎ点の組合せを一つ選ぶ。
【００６６】
ｓ１５０３：Ｎ点すべてを経由する折れ線と、ｎ点を経由する折れ線で囲む図形の面積を計算するステップ。
ｓ１５０４：ステップｓ１５０３で計算された面積が最小値Ｓより小さいか否かを判定し、小さくないと判定したときに前記ステップｓ１５０２に戻り、小さいと判定したときに最小値Ｓを更新すると共に点の集合を保持する変数Ｃ０をそのときのｎ点の点に更新するステップ。
【００６７】
ｓ１５０５：ステップ１５０４により算出した面積が最小値Ｓより小さいと判定したとき、結果を出力部１０７から変数Ｃ０を出力するステップ。
この変数Ｃ０は、Ｎ点を近似する最も良いｎ点の組合せである。Ｓはそのときの評価値に相当する。
【００６８】
前記実施例では、ステップｓ１５０３による計算処理として、Ｎ点すべてを経由する折れ線と、ｎ点を経由する折れ線で囲む図形の面積とする例を説明したが、本発明はこれに限られるものではなく、面積と区分の数の積を評価値としても良い。これにより、より少ない点数での近似が選好される評価が可能となる。
【００６９】
さらに、上記実施例では、Ｎ−２個からｎ−２個の組合せを全探索したが、ｎを固定して、その中でのみ探索するように変更しても良い。この場合、ステップｓ１５０１では、ｎを別途入力し、ステップｓ１５０２では、そのｎに対してのみ（Ｎ−２）Ｃ（ｎ―２）個の組合せから、まだ選ばれていないｎ点の組合せを一つ選べばよい。この変更例では、全探索をしないことで実行時間を短縮でき、ある道路の区間をいくつの点で結びたいかという意図を外部入力することができる。
【００７０】
［出力画面例］
以上説明した、詳細化処理・初期値入力処理・集約処理・最適化処理を用いて地理情報のベクタ化を支援する際に出力部１０７に表示する出力画面の一例を図１７を参照して説明する。
【００７１】
この出力画面は、ＧＰＳ受信部１０１が存在する場所の地図１７０１と、道路ＩＤの入力用のテキストボックス１７０２と、処理対象の地図情報（点列データ及び線片データ）を指定するための少なくとも２点の点ＩＤによる初期値を入力するための初期入力ボタン１７０３と、詳細化を行うための詳細化ボタン１７０４と、集約を行うための集約ボタン１７０５と、最適化を行うための最適化ボタン１７０６と、処理終了を行うための終了ボタン１７０７が表示される。
【００７２】
この出力画面において、操作者が、テキストボックス１７０２へ道路ＩＤ４０１を入力することにより、道路ＩＤ４０１に対応した地図１７０１が表示され、該道路ＩＤ４０１に対する初期値入力・詳細化処理・初期値入力処理・集約処理・最適化処理が可能となる。
【００７３】
この状態において、初期入力ボタン１７０３を押すことにより、初期値入力部１０３による線形要素を表す点列データの初期値を入力する処理が呼び出され、詳細化ボタン１７０４を押した場合には詳細化部１０２による線形要素を集約する処理が呼び出され、集約ボタン１７０５を押した場合には、集約部１０４による集約処理が呼び出され、最適化ボタン１７０６を押した場合には最適化部１０８による最適化処理が呼び出され、終了ボタン１７０７を押した場合には終了する。呼び出された処理は、前記記載した処理がなされて、必要な出力を出力部１０７に出力される。
【００７４】
このように本実施例による地理情報ベクタ化支援シテムは、地理情報をベクタデータの形式で管理する際に、そのベクタデータの精度を、必要なだけ細かく或いは必要なだけ粗く設定することができる。例えば、ある曲がった道路をどこに何点の点を置いてそれらを結ぶ線分で表現するか、その詳細度を自由に設定できる。これにより、煩雑なデータ管理と正確性とのトレードオフを図ることができる。
【実施例２】
【００７５】
前述の実施例１においては、実際の道路をどのように幾何学的に表現するかのデータ管理に関わる処理であったが、これを、出力部に地図上に道路等を重畳表示する際の表示装置の処理として用いることもできる。
【００７６】
本実施例においては、複数種類の縮尺の地図がある場合、その縮尺の種類の数だけ表記の種類があれば良いため、対応するデータの持ち方をすべて先の実施例で持っておいてもよい。その他に、予め想定されていない任意の縮尺の地図や衛星画像が提示された場合、その縮尺に相応しい道路の表現の詳細度があるはずである。ここでは、任意の縮尺に対して、適切な道路表現を求めて出力部に道路を重畳表示する表示装置について図１８に示したフローチャートを用いて地理情報をベクタ化して出力する処理を説明する。
【００７７】
この衛星画像や航空写真や地図に対して地理情報をベクタ化して出力する処理は、次のステップによって実行される。
ｓ１８０１：衛星画像や航空写真や地図などを入力部１０６を用いて入力するステップ。
ｓ１８０２：入力した地図における道路の始点と終点である２点を入力部１０６から入力するステップ。
このステップは、画像を出力部１０７に地図を表示出力し、マウスカーソルを合わせるなどして入力できるようにするのが好ましい。
【００７８】
ｓ１８０３：上記２点間を何点で近似するかを入力部１０６から入力するステップ。
ｓ１８０４：前述の最適化処理を用い、ｎを固定し、その中でのみ探索するように変更して実施する最適化処理を行うステップ。
ｓ１８０５：ステップｓ８０４により生成された近似の折れ線を出力するステップ。
【００７９】
なお、前記実施例においては、ステップｓ１８０３において、２点間を何点で近似するかは入力部１０６から入力するとしたが、２点間のピクセル換算の距離に比例する値としてこの点数を与えておき、比例計算の定数を予め決めておけば良い。ピクセル換算の距離にこの比例計算の定数を掛けることで、点数を計算できる。これにより、入力装置の煩雑な入力の必要性を抑制するだけでなく、ピクセル換算でほぼ同等の詳細度を持つ近似表現を自動生成することができる。
【００８０】
また、前述の実施例は、バス１０９を用いて各部位を接続する例を説明したが、本発明はこれに限られるものではなく、ネットワーク接続するように構成しても良い。すなわち、ＧＰＳ受信部１０１〜最適化部１０８が空間的に離れたところにあってネットワーク通信にて連携する様に構成しても良く、これによって位置を測るＧＰＳ受信部１０１を含む端末装置を携帯用に最小限に小さくし、必要なだけ大きな計算リソースを遠隔で持つことができる。
【００８１】
また、前述の実施例は、点と点との間を線分で結ぶことにしていたが、線分の代わりに、ベジェ曲線やスプライン曲線などの、制御点を用いた幾何曲線を用いても良い。これらは、高次の整関数を表現でき、直線ではなくなめらかな表現が可能となる。点と点との間の最小の区間の表現を必要に応じてなめらかにすることで、より実態にあった地理情報の表現が可能となる。また、整関数なので、定積分を使って面積を求める処理は直線と同様に容易に実現できる。
【００８２】
上記の実施例で示した方法を実行可能な形式にしたプログラム、当該プログラムそれを格納した記憶媒体、当該プログラムを実行可能にしたコンピュータサービス等により実施することもできる。
【００８３】
以上述べた実施例による地理情報ベクタ化支援システム及び地理情報ベクタ化支援方法は、橋梁、道路、設備等の公物の維持管理等や、補修工事、作業、保全、点検などの分野の業務に適用でき、さらに、地理情報システムにおけるベクタデータの表示機能として適用することもできる。
【符号の説明】
【００８４】
１０１  ＧＰＳ受信部、１０２  詳細化部、１０３  初期値入力部、
１０４  集約部、１０５  記憶部、１０６  入力部、１０７  出力部、
１０８  最適化部、１０９  バス
【図１】
0006494230.tif 000003
【図２】
0006494230.tif 000004
【図３】
0006494230.tif 000005
【図４】
0006494230.tif 000006
【図５】
0006494230.tif 000007
【図６】
0006494230.tif 000008
【図７】
0006494230.tif 000009
【図８】
0006494230.tif 000010
【図９】
0006494230.tif 000011
【図１０】
0006494230.tif 000012
【図１１】
0006494230.tif 000013
【図１２】
0006494230.tif 000014
【図１３】
0006494230.tif 000015
【図１４】
0006494230.tif 000016
【図１５】
0006494230.tif 000017
【図１６】
0006494230.tif 000018
【図１７】
0006494230.tif 000019
【図１８】
0006494230.tif 000020