以下、本発明による地図マッチング装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。
(実施の形態1)
本発明の実施の形態1による地図マッチング装置について、図面を参照しながら説明する。本実施の形態による地図マッチング装置は、2個の地図をマッチングさせるものである。
図1は、本実施の形態による地図マッチング装置1の構成を示すブロック図である。本実施の形態による地図マッチング装置1は、第1の地図情報記憶部11と、第1の方位情報検出部12と、第1の方位特定部13と、第1の縮尺情報受付部14と、第2の地図情報記憶部15と、第2の方位情報検出部16と、第2の方位特定部17と、第2の縮尺情報取得部18と、第2の縮尺情報受付部19と、地図マッチング部20と、結果情報出力部21とを備える。
第1の地図情報記憶部11では、第1の地図を示す情報である第1の地図情報が記憶される。第1の地図は、例えば、境界図形を含む地図であってもよく、道路や地形等の図形を含む地図であってもよく、あるいは、その他の図形を含む地図であってもよい。なお、「境界」は、所有権界(所有権境)であってもよく、筆界であってもよく、その他の土地に関する何らかの区切りであってもよい。すなわち、「境界」は「筆界」を含む概念である。境界図形は、境界を示すものであれば、どのようなものであってもよい。境界図形は、例えば、1以上の点を含むものであってもよく、1以上の線(例えば、直線でもよく、曲線でもよい)を含むものであってもよい。境界図形が、例えば、境界標の位置を示すものである場合には、点となりうる。また、境界図形が、例えば、土地の境界を示す場合には、線となりうる。このように、境界図形は、例えば、境界を示す線(境界線)であってもよく、あるいは、境界を示す点(境界点)であってもよい。境界図形は、色や濃淡の差によって示されるものであってもよい。例えば、ある区域と別の区域とがそれぞれ異なる色や明度によって塗りつぶされている場合に、それらの区域の境界には、線状の色の差や濃淡の差が存在することになる。その線状の色の差や濃淡の差が境界図形であってもよい。
第1の地図情報は、例えば、ラスタデータであってもよく、ベクタデータであってもよく、そのデータ形式は問わない。第1の地図情報は、例えば、公図やその他の信頼性の高い地図を光学的機器により読み取ったデータであってもよい。光学的機器とは、例えば、デジタルスチルカメラや、スキャナ等である。なお、第1の地図情報を、公図等を光学的機器により読み取ることにより作成した場合に、第1の地図情報を公図等と正確に一致させるために、画像補正を行ってもよい。したがって、この第1の地図情報は、例えば、上記特許文献1の技術を用いて作成されたデータであってもよい。この第1の地図情報は、例えば、航空写真のように、写真によって境界等を示すものであってもよい。
なお、第1の地図情報記憶部11に第1の地図情報が記憶される過程は問わない。例えば、記録媒体を介して第1の地図情報が第1の地図情報記憶部11で記憶されるようになってもよく、通信回線等を介して送信された第1の地図情報が第1の地図情報記憶部11で記憶されるようになってもよく、あるいは、光学的機器等を介して入力された第1の地図情報が第1の地図情報記憶部11で記憶されるようになってもよい。第1の地図情報記憶部11での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。第1の地図情報記憶部11は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
第1の方位情報検出部12は、第1の地図情報の示す第1の地図に含まれる第1の方位情報を検出する。第1の方位情報は、方位を示す情報であり、例えば、第1の地図情報の示す第1の地図に記載された方位記号であってもよく、その第1の地図に記載された文字であってもよく、その第1の地図に記載されたその他の方位を示す図形等であってもよい。方位記号は、一般に北の向きを示す図形であるが、その他の向き、例えば、南の向きや東の向き、西の向きを示す図形であってもよい。また、第1の方位情報が文字である場合には、例えば、その前提として、「その文字の上方向が北となる」と決められているものとする。すなわち、第1の地図に記載された文字を適切に読むことができる方向に第1の地図を回転させた際に、その上方向(その文字の上部の方向)が北となる、という前提があるものとする。なお、文字の上方向が北以外の方位となるように設定されていてもよいことは言うまでもない。なお、その文字は、図形としての文字であってもよく、テキスト情報としての文字であってもよい。
第1の方位情報が方位記号である場合には、第1の方位情報検出部12は、例えば、あらかじめ保持している1以上の方位記号のパターンと一致する図形を検出することによって、第1の方位情報の検出を行ってもよい。なお、その一致の判断は、例えば、完全一致の判断であってもよく、あるいは、類似度がしきい値より大きいかどうかの判断、すなわち、類似度がしきい値より大きければ一致であるとする判断であってもよい。
また、第1の方位情報が文字である場合には、第1の方位情報検出部12は、例えば、図形としての文字の領域を検出することによって、第1の方位情報の検出を行ってもよく、テキスト情報の領域を検出することによって、テキスト情報としての文字である第1の方位情報の検出を行ってもよい。図形としての文字の領域を検出する方法や、テキスト情報としての文字を検出する方法は、すでに公知であり、その詳細な説明を省略する。
第1の方位情報検出部12は、例えば、検出した第1の方位情報を図示しない記録媒体に蓄積してもよく、あるいは、検出した第1の方位情報の位置を示す情報を図示しない記録媒体に蓄積してもよい。検出した第1の方位情報の位置を示す情報は、例えば、検出した第1の方位情報の領域を示す画素の位置の情報や、座標の情報であってもよい。
第1の方位特定部13は、第1の方位情報検出部12が検出した第1の方位情報を用いて、第1の地図情報の示す第1の地図の方位を特定する。地図の方位を特定するとは、例えば、その地図の北の向きがどちらであるのかを特定することであってもよく、結果として、その地図の北や南、東、西等の方位がどちらであるのかを特定することができるのであれば、その特定する方位を問わない。方位を特定するとは、例えば、第1の地図の上の向きから、北の向きまでの時計回りでの角度を図示しない記録媒体に蓄積することであってもよく、その他の方位に関する情報を蓄積する処理等であってもよい。
第1の方位情報が方位記号である場合には、第1の方位特定部13は、例えば、その方位記号の北の向きがどちらであるのかを特定してもよい。第1の方位特定部13は、例えば、「北」や「N」の図形をパターンマッチング等の処理によって特定し、方位記号の中心から「北」や「N」の図形への向きを北の向きとして特定してもよい。また、あらかじめ方位記号のパターンに北の向きが設定されており、その方位記号のパターンを、第1の方位情報の図形にマッチングさせた際のパターンの示す北の向きを特定することによって、第1の地図の方位を特定してもよい。
第1の方位情報が文字である場合には、第1の方位特定部13は、例えば、その文字の上方向がどちらであるのかを特定してもよい。そして、その文字の上方向が北となるように方位を特定してもよい。第1の方位特定部13は、例えば、複数の方向について文字認識を行い、正確に文字を認識できる向きを文字の向きとして検出し、その向きの検出された文字の上方向を北の方位に特定してもよい。なお、文字の向きを検出する方法は、OCR等の技術としてすでに公知であり、その詳細な説明を省略する。
なお、第1の方位特定部13がこれら以外の方法によって第1の地図の方位を特定してもよいことは言うまでもない。
第1の縮尺情報受付部14は、第1の縮尺情報を受け付ける。第1の縮尺情報は、第1の地図情報の示す第1の地図の縮尺を示す情報である。第1の地図が1/500の地図である場合に、第1の縮尺情報は、例えば、「1:500」であってもよく、「1/500」であってもよく、単に「500」であってもよい。第1の縮尺情報受付部14によって受け付けられた第1の縮尺情報は、第1の縮尺情報受付部14やその他の構成要素が有する図示しない記録媒体において一時的に記憶されてもよい。
第1の縮尺情報受付部14は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力された第1の縮尺情報を受け付けてもよく、有線もしくは無線の通信回線を介して送信された第1の縮尺情報を受信してもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出された第1の縮尺情報を受け付けてもよい。なお、第1の縮尺情報受付部14は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、第1の縮尺情報受付部14は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
第2の地図情報記憶部15では、第2の地図を示す情報である第2の地図情報が記憶される。第2の地図、第2の地図情報、及び第2の地図情報記憶部15は、それぞれ第1の地図、第1の地図情報、及び第1の地図情報記憶部11と同様のものであり、その説明を省略する。
なお、第1の地図と、第2の地図とは、異なる種類の地図であることが好適である。例えば、第1の地図が公図であり、第2の地図が測量図であってもよい。また、第1の地図が航空写真の地図であり、第2の地図が測量図であってもよい。また、第1及び第2の地図情報は、両方がラスタデータであってもよく、両方がベクタデータであってもよく、あるいは、一方がラスタデータであり、他方がベクタデータであってもよい。
第2の方位情報検出部16は、第2の地図情報の示す第2の地図に含まれる方位を示す情報である第2の方位情報を検出する。なお、第2の方位情報は、第2の地図に含まれる以外は、第1の方位情報と同様のものであり、その説明を省略する。また、第2の方位情報検出部16も、第1の地図に代えて第2の地図から方位情報を検出し、第1の方位情報に代えて第2の方位情報を検出する以外は、第1の方位情報検出部12と同様のものであり、その説明を省略する。
第2の方位特定部17は、第2の方位情報検出部16が検出した第2の方位情報を用いて、第2の地図情報の示す第2の地図の方位を特定する。なお、第2の方位特定部17は、第1の方位情報に代えて第2の方位情報を用いて方位を特定し、第1の地図の方位に代えて第2の地図の方位を特定する以外は、第1の方位特定部13と同様のものであり、その説明を省略する。
第2の縮尺情報取得部18は、第2の地図情報から、第2の縮尺情報を取得する。第2の縮尺情報は、第1の地図に代えて第2の地図の縮尺を示す情報である以外、第1の縮尺情報と同様のものであり、その説明を省略する。第2の縮尺情報取得部18は、例えば、第2の地図情報の示す第2の地図に記載されている縮尺情報、例えば、「1:500」や「1/500」等をOCR等の技術を用いて認識することによって、その第2の縮尺情報を取得してもよい。具体的には、第2の縮尺情報取得部18は、第2の地図に記載されている全ての文字について文字認識を行い、その認識結果において、「1:*」や、「1/*」(ここで、*は、任意の1以上の数字であるとする)などの形式の文字列を検索し、その検索でヒットした文字列を第2の縮尺情報として取得してもよい。また、第2の地図にテキスト情報として「1:500」等が含まれている場合には、第2の縮尺情報取得部18は、「1:*」や、「1/*」などの形式の文字列を検索し、その検索でヒットした文字列を第2の縮尺情報として取得してもよい。
また、第2の縮尺情報取得部18は、例えば、第2の地図に記載されている縮尺記号を用いて、第2の縮尺情報を取得してもよい。縮尺記号とは、例えば、図10で示される図形であり、地図上での長さと、実空間での距離とを対応付ける図形である。第2の縮尺情報取得部18は、例えば、第2の地図に記載されている縮尺記号を検出し、その検出した縮尺記号の第2の地図での長さと、その縮尺記号の実空間での距離とを用いて、第2の縮尺情報を算出してもよい。具体的には、第2の縮尺情報取得部18は、例えば、あらかじめ保持している1以上の縮尺記号のパターンと一致する図形を検出することによって、縮尺記号の検出を行ってもよい。なお、その一致の判断は、例えば、完全一致の判断であってもよく、あるいは、類似度がしきい値より大きいかどうかの判断、すなわち、類似度がしきい値より大きければ一致であるとする判断であってもよい。その後、第2の縮尺情報取得部18は、検出した縮尺記号の近傍に記載されている文字の認識を行い、その縮尺記号の実空間での距離を検出する。より具体的には、第2の縮尺情報取得部18は、縮尺記号の近傍の全ての文字(数字)の認識を行い、それらの数字のうちの最も大きい値を縮尺記号の距離としてもよい。その距離の単位も、縮尺記号の近傍から文字認識によって取得してもよい。また、第2の縮尺情報取得部18は、縮尺記号の地図上での長さを検出する。なお、画像上での長さを求める公知の方法を用いて、第2の縮尺情報取得部18は、第2の地図上での縮尺記号の長さを求めることができる。そして、縮尺記号の実空間での距離と、縮尺記号の地図上での長さとの比を算出することによって、第2の縮尺情報を取得してもよい。なお、第2の縮尺情報取得部18によって取得された第2の縮尺情報は、図示しない記録媒体において一時的に記憶されてもよい。
第2の縮尺情報受付部19は、第2の地図情報の示す第2の地図の縮尺を示す情報である第2の縮尺情報を受け付ける。第2の縮尺情報受付部19は、その第2の縮尺情報を第2の縮尺情報取得部18から受け付ける。なお、第2の縮尺情報受付部19によって受け付けられた第2の縮尺情報は、第2の縮尺情報受付部19やその他の構成要素が有する図示しない記録媒体において一時的に記憶されてもよい。
地図マッチング部20は、第1の方位特定部13が特定した方位と、第2の方位特定部17が特定した方位と、第1の縮尺情報受付部14が受け付けた第1の縮尺情報と、第2の縮尺情報受付部19が受け付けた第2の縮尺情報とを用いて、第1の地図情報の示す第1の地図と、第2の地図情報の示す第2の地図とのマッチングを行う。このマッチングの処理は、第1の地図と、第2の地図との方位及び縮尺を合わせた上で、両地図に含まれる同じ図形の位置が一致するように両地図をマッチングさせる処理である。すなわち、このマッチングの処理は、両地図の相対的な角度を一致させ(両地図の方位を一致させ)、両地図の相対的な縮尺を1とし(両地図の縮尺を一致させ)、両地図の位置関係を一致させることができるようにする処理である。この処理の結果、両地図に含まれる同じ図形の位置が一致することになる。
地図マッチング部20は、第1の方位特定部13が特定した方位と、第2の方位特定部17が特定した方位とを用いて、第1及び第2の地図の方向を一致させることができる。例えば、第1の方位特定部13が第1の地図の北の方向を特定し、第2の方位特定部17が第2の地図の北の方向を特定した場合には、地図マッチング部20は、両地図を北が上となるように回転させることによって、両地図の方向を一致させることができる。
また、地図マッチング部20は、第1の縮尺情報受付部14が受け付けた第1の縮尺情報と、第2の縮尺情報受付部19が受け付けた第2の縮尺情報とを用いて、第1及び第2の地図の縮尺を一致させることができる。地図マッチング部20は、例えば、第1の地図の縮尺が第2の地図の縮尺と同じになるように第1の地図を拡大・縮小してもよく、第2の地図の縮尺が第1の地図の縮尺と同じになるように第2の地図を拡大・縮小してもよく、両地図の縮尺が所定の縮尺となるように両地図を拡大・縮小してもよい。
また、地図マッチング部20は、第1及び第2の地図の方位及び縮尺を合わせた上で、両地図に含まれる同じ図形の位置が一致するように両地図を移動させることができる。例えば、地図マッチング部20は、第1及び第2の地図の方位及び縮尺を合わせた上で、両地図の相対的な位置関係を少しずつずらしながら、両地図が一致するかどうかを判断してもよい。この一致の判断は、例えば、完全一致の判断であってもよく、あるいは、類似度がしきい値より大きいかどうかの判断、すなわち、類似度がしきい値より大きければ一致であるとする判断であってもよい。この判断において、例えば、特徴点抽出の手法を用いてもよく、エッジ抽出(輪郭抽出)の手法を用いてもよく、画像のノイズを除去する手法を用いてもよく、正規化相関の手法を用いてもよく、その他の既知の手法を用いてもよい。また、一方の地図に含まれる1または2以上の図形を選択し、その図形と一致する図形を他方の地図で探索することによって、両地図の位置関係を一致させてもよい。また、マッチングの際に、ラスタデータをベクタデータに変換してからマッチングの処理を行ってもよい。これらの方法は、すでに公知であり、その詳細な説明を省略する。
この地図マッチング部20によるマッチングの処理の結果として、例えば、両地図の方位と縮尺と位置関係が一致させられた状態、すなわち、第1の地図と第2の地図とをマッチングさせた状態で、両地図を合成した画像が生成されてもよい。例えば、第1及び第2の地図情報の示す一方の画像の透過度を0よりも大きくして(例えば、50%等にしてもよい)、その画像を他方の画像の前面側とすることによって両地図を合成してもよい。なお、2個の画像を合成する方法としては、種々の方法が公知であり、それらの方法を用いて合成を行ってもよいことは言うまでもない。
また、このマッチング処理の結果として、例えば、両地図を、方位と縮尺と位置関係が一致させられた状態にするための情報、例えば、両地図の方位、縮尺、位置関係を示す情報が生成されてもよい。両地図の方位は、例えば、一方の地図に対する他方の地図の相対的な角度であってもよく、第1の方位特定部13が特定した方位と、第2の方位特定部17が特定した方位とであってもよく、あるいは、その他の情報であってもよい。また、両地図の縮尺は、一方の地図に対する他方の地図の縮尺であってもよく、第1の縮尺情報受付部14が受け付けた第1の縮尺情報と、第2の縮尺情報受付部19が受け付けた第2の縮尺情報とであってもよく、あるいは、その他の情報であってもよい。両地図の位置関係を示す情報は、例えば、一方の地図に対する他方の地図の相対的な位置関係を示す情報(例えば、第1の地図の左上の頂点が、第2の地図のどの位置に相当するのかを示す情報など)であってもよく、あらかじめ決められた基準点に対する第1の地図の位置と第2の地図の位置とを示す情報(例えば、ある基準点の第1の地図上の位置と、その基準点の第2の地図上の位置とを示す情報など)であってもよく、その他の情報であってもよい。
結果情報出力部21は、地図マッチング部20によるマッチングの結果に関する情報である結果情報を出力する。この結果情報は、例えば、地図マッチング部20によって、地図を合成する処理が行われた場合には、それらの地図を合成した画像であってもよい。また、この結果情報は、例えば、地図マッチング部20によって、第1の地図と第2の地図とに含まれる同じ図形を一致させるための両地図の方位、縮尺、位置関係を示す情報が生成された場合には、その両地図の方位、縮尺、位置関係を示す情報であってもよい。また、結果情報は、第1及び第2の地図の同じ領域を、同方位、同縮尺で左右に並べて表示する画像であってもよい。また、その他のマッチングの処理が行われた場合には、結果情報は、そのマッチングの処理に応じた情報であってもよい。
ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、所定の機器への通信回線を介した送信でもよく、プリンタによる印刷でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。なお、結果情報出力部21は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、結果情報出力部21は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
なお、第1の地図情報記憶部11と、第2の地図情報記憶部15と、情報が一時的に記憶されうるその他の記録媒体との任意の2以上の記憶部や記録媒体は、同一の記録媒体によって実現されてもよく、あるいは、別々の記録媒体によって実現されてもよい。前者の場合には、例えば、第1の地図情報を記憶している領域が第1の地図情報記憶部11となり、第2の地図情報を記憶している領域が第2の地図情報記憶部15となる。
次に、本実施の形態による地図マッチング装置1の動作について、図2のフローチャートを用いて説明する。
(ステップS101)地図マッチング部20は、地図のマッチング処理を行うかどうか判断する。そして、行う場合には、ステップS102に進み、そうでない場合には、行うと判断するまで、ステップS101の処理を繰り返す。地図マッチング部20は、例えば、地図のマッチング処理を行う旨の指示を受け付けた場合に、地図のマッチング処理を行うと判断してもよく、第1の地図情報記憶部11に第1の地図情報が記憶されており、第2の地図情報記憶部15に第2の地図情報が記憶されている場合に、地図のマッチング処理を行うと判断してもよい。
(ステップS102)第1の方位情報検出部12は、第1の地図に含まれる第1の方位情報を検出する。本実施の形態では、この第1の方位情報が文字である場合について説明する。
(ステップS103)第1の方位特定部13は、第1の方位情報検出部12が検出した第1の方位情報を用いて、第1の地図の方位を特定する。なお、本実施の形態では、第1の地図に含まれる文字である第1の方位情報を用いて第1の地図の方位(この方位を「第1の方位」とする)を特定する場合について説明する。本実施の形態では、第1の方位を特定することが、第1の地図の北の向きを特定することである場合について説明する。この処理の詳細については、図3のフローチャートを用いて後述する。
(ステップS104)第1の縮尺情報受付部14は、第1の縮尺情報を受け付けたかどうか判断する。そして、受け付けた場合には、ステップS105に進み、そうでない場合には、受け付けるまでステップS104の処理を繰り返す。なお、第1の縮尺情報受付部14は、一定の時間以上、第1の縮尺情報を受け付けない場合には、タイムアウトであるとしてステップS101に戻ってもよい。
(ステップS105)第2の方位情報検出部16は、第2の地図に含まれる第2の方位情報を検出する。なお、本実施の形態では、方位記号である第2の方位情報を検出する場合について説明する。この処理の詳細については、図4のフローチャートを用いて後述する。
(ステップS106)第2の方位特定部17は、第2の方位情報検出部16が検出した第2の方位情報を用いて、第2の地図の方位を特定する。なお、本実施の形態では、方位記号である第2の方位情報を用いて第2の地図の方位(この方位を「第2の方位」とする)を特定する場合について説明する。本実施の形態では、第2の方位を特定することが、第2の地図の北の向きを特定することである場合について説明する。
(ステップS107)第2の縮尺情報取得部18は、第2の地図情報から第2の縮尺情報を取得する。なお、本実施の形態では、第2の地図に記載されている縮尺記号を用いて、第2の縮尺情報を取得する場合について説明する。この処理の詳細については、図5のフローチャートを用いて後述する。
(ステップS108)第2の縮尺情報受付部19は、第2の縮尺情報取得部18が取得した第2の縮尺情報を受け付ける。
(ステップS109)地図マッチング部20は、第1及び第2の方位と、第1及び第2の縮尺情報とを用いて、第1及び第2の地図の方位及び縮尺を合わせた上で、第1及び第2の地図をマッチングさせる処理を行う。本実施の形態では、両地図を合成する場合について説明する。この処理の詳細については、図6のフローチャートを用いて後述する。
(ステップS110)結果情報出力部21は、結果情報を出力する。本実施の形態では、この結果情報は合成された地図の画像である。そして、ステップS101に戻る。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、図2のフローチャートにおいて、第1の縮尺情報を受け付けるタイミングは問わない。例えば、ステップS102,S103の処理よりも前に、第1の縮尺情報を受け付けてもよい。また、第1の縮尺情報を受け付けたことを契機として、マッチングの処理を開始してもよい。
また、図2のフローチャートにおいて、第2の方位情報を検出して第2の方位を特定する処理(ステップS105,S106)と、第2の縮尺情報を取得して受け付ける処理(ステップS107,S108)との順序は問わない。このように、図2のフローチャートの各処理については、ある程度の任意性が存在する。
図3は、図2のフローチャートにおける第1の方位の特定の処理(ステップS103)の詳細を示すフローチャートである。
(ステップS201)第1の方位特定部13は、第1の方位情報検出部12が検出した、文字である第1の方位情報の並びの方向を検出する。例えば、2行以上あるいは2列以上の文字が検出された場合には、第1の方位特定部13は、一般に文字間の方が行間や列間よりもつまっているという性質を用いて、ヒストグラム等を求めることにより、文字の並びの方向を検出してもよい。また、例えば、文字が1行あるいは1列だけしか存在しない場合には、検出された文字の領域の長さ方向を、文字の並びの方向として検出してもよい。なお、文字の並びの方向を検出する方法は、OCR等の技術としてすでに公知であり、その詳細な説明を省略する。
(ステップS202)第1の方位特定部13は、検出した文字の並びの方向を用いて、文字の向きを検出する。例えば、第1の方位特定部13は、文字のベースラインがステップS201で検出された方向となる2つの向きについて文字認識処理を行い、正確に文字を認識できる向きを文字の向きとしてもよい。なお、文字のベースラインとは、文字の下端が沿う仮想的な直線のことである。また、「正確に文字を認識できる」とは、例えば、文字認識で用いる文字の画像パターンとの一致率が高いことであってもよく、その認識の処理時の確信度が高いことであってもよく、認識結果の文字列が有意な文字列となっていることであってもよい。また、地図において縦書きの文字も許されている場合には、第1の方位特定部13は、文字のベースラインがステップS201で検出された方向となる2つの向きに加えて、文字のベースラインがその検出された方向に直交する2つの向きについても文字認識処理を行って、文字の向きを検出してもよい。なお、この文字の向きを検出する処理も、OCR等の技術としてすでに公知であり、その詳細な説明を省略する。なお、文字の向きを検出するとは、文字の角度を図示しない記録媒体に蓄積することであってもよい。文字の角度は、文字のベースラインの角度であってもよく、文字の上下方向の角度であってもよい。
(ステップS203)第1の方位特定部13は、検出した文字の向きを用いて、第1の方位、すなわち、第1の地図の北の向きを特定する。本実施の形態では、第1の方位特定部13は、検出した文字の向きの上方向を、第1の地図の北の向きとして特定する。そして、図2のフローチャートに戻る。
なお、図3のフローチャートにおいて、第1の方位を特定する処理の一例について説明したが、これ以外の方法によって第1の方位を特定してもよいことは言うまでもない。文字の向きを認識する手法としては、各種の方法が開発されており、それらの方法を用いて第1の方位を特定してもよい。
図4は、図2のフローチャートにおける第2の方位情報の検出の処理(ステップS105)の詳細を示すフローチャートである。図4のフローチャートにおいて、第2の方位情報検出部16は、図示しない記録媒体であらかじめ記憶されている1以上の方位記号のパターンを用いて、第2の方位情報を検出する場合について説明する。
(ステップS301)第2の方位情報検出部16は、カウンタiを1に設定する。
(ステップS302)第2の方位情報検出部16は、第2の地図情報を参照して、図示しない記録媒体で記憶されているi番目の方位記号のパターンと一致する図形が、第2の地図に記載されているかどうか判断する。そして、記載されている場合には、ステップS305に進み、そうでない場合には、ステップS303に進む。ここで、i番目の方位記号のパターンと一致する図形とは、i番目の方位記号のパターンと完全一致する図形であってもよく、そのパターンとの類似度がしきい値よりも大きい図形であってもよい。
(ステップS303)第2の方位情報検出部16は、カウンタiを1だけインクリメントする。
(ステップS304)第2の方位情報検出部16は、図示しない記録媒体において、i番目の方位記号のパターンが記憶されているかどうか判断する。そして、記憶されている場合には、ステップS302に戻り、そうでない場合には、方位記号を検出することができなかったためエラーとなり、図2のフローチャートのステップS101に戻る。
(ステップS305)第2の方位情報検出部16は、i番目の方位記号のパターンと一致する図形を第2の方位情報として検出する。そして、図2のフローチャートに戻る。
図5は、図2のフローチャートにおける第2の縮尺情報の取得の処理(ステップS107)の詳細を示すフローチャートである。図5のフローチャートにおいて、第2の縮尺情報取得部18は、図示しない記録媒体であらかじめ記憶されている1以上の縮尺記号のパターンを用いて、第2の縮尺情報を検出する場合について説明する。
(ステップS401)第2の縮尺情報取得部18は、カウンタiを1に設定する。
(ステップS402)第2の縮尺情報取得部18は、第2の地図情報を参照して、図示しない記録媒体で記憶されているi番目の縮尺記号のパターンと一致する図形が、第2の地図に記載されているかどうか判断する。そして、記載されている場合には、ステップS405に進み、そうでない場合には、ステップS403に進む。ここで、i番目の縮尺記号のパターンと一致する図形とは、i番目の縮尺記号のパターンと完全一致する図形であってもよく、そのパターンとの類似度がしきい値よりも大きい図形であってもよい。
(ステップS403)第2の縮尺情報取得部18は、カウンタiを1だけインクリメントする。
(ステップS404)第2の縮尺情報取得部18は、図示しない記録媒体において、i番目の縮尺記号のパターンが記憶されているかどうか判断する。そして、記憶されている場合には、ステップS402に戻り、そうでない場合には、縮尺記号を検出することができなかったためエラーとなり、図2のフローチャートのステップS101に戻る。
(ステップS405)第2の縮尺情報取得部18は、i番目の縮尺記号のパターンと一致する図形の近傍に記載されている文字(数字)の認識を行い、その認識された数字のうちの最も大きい値と、長さの単位とを取得して、それらを用いて縮尺記号に対応する実空間での距離を示す距離情報を検出する。この検出された距離情報は、図示しない記録媒体において一時的に記憶されてもよい。
(ステップS406)第2の縮尺情報取得部18は、i番目の縮尺記号のパターンと一致する図形の地図上での長さを示す長さ情報を測定する。例えば、第2の地図情報がラスタデータである場合には、そのパターンと一致する図形の長さ方向の画素数と、第2の地図の解像度とを用いて、その長さ情報を得ることができる。また、第2の地図情報がベクタデータである場合には、そのパターンと一致する図形の長さ方向の両端の座標値を用いて、その長さ情報を得ることができる。この測定された長さ情報は、図示しない記録媒体において一時的に記憶されてもよい。
(ステップS407)第2の縮尺情報取得部18は、ステップS405で検出した距離情報と、ステップS406で測定された長さ情報とを用いて、第2の縮尺情報を算出する。そして、図2のフローチャートに戻る。例えば、第2の縮尺情報が「1/500」のように示される場合には、第2の縮尺情報取得部18は、長さ情報の示す値を、距離情報の示す値で除算して、「1/*」という形式に変換することによって、第2の縮尺情報を算出してもよい。「*」は、任意の1以上の数字である。また、長さ情報の示す値を、距離情報の示す値で除算する際には、両情報の長さの単位が一致するように変換を行ってもよい。
図6は、図2のフローチャートにおける地図のマッチングの処理(ステップS109)の詳細の一例を示すフローチャートである。
(ステップS501)地図マッチング部20は、特定された第1及び第2の方位を用いて、第1及び第2の地図の相対角度を算出する。
(ステップS502)地図マッチング部20は、ステップS501で算出した相対角度を用いて、第1及び第2の地図の角度を合わせる。第1及び第2の地図の角度を合わせるとは、例えば、両地図の角度の合った第1及び第2の地図の画像を生成することであってもよい。
(ステップS503)地図マッチング部20は、受け付けられた第1及び第2の縮尺情報を用いて、第1及び第2の地図の相対的な縮尺を算出する。
(ステップS504)地図マッチング部20は、ステップS503で算出した相対的な縮尺を用いて、第1及び第2の地図の縮尺を合わせる。第1及び第2の地図の縮尺を合わせるとは、例えば、両地図の縮尺の一致した第1及び第2の地図の画像を生成することであってもよい。
(ステップS505)地図マッチング部20は、角度及び縮尺の一致した第1及び第2の地図について、両地図が一致する位置関係を探索する。
(ステップS506)地図マッチング部20は、両地図が一致する位置関係が見つかったかどうか判断する。そして、見つかった場合には、ステップS507に進み、そうでない場合には、ステップS508に進む。
(ステップS507)地図マッチング部20は、角度及び縮尺の一致した両地図が一致する位置関係で、両地図を合成した画像である結果情報を構成する。そして、図2のフローチャートに戻る。
(ステップS508)地図マッチング部20は、両地図がマッチングしなかった旨の結果情報を構成する。そして、図2のフローチャートに戻る。
なお、地図のマッチングの処理を図6のフローチャートで示す以外の方法で行ってもよいことは言うまでもない。
次に、本実施の形態による地図マッチング装置1の動作について、具体例を用いて説明する。この具体例において、地図マッチング装置1は、PC(Personal Computer)であるとする。
また、この具体例において、第1の地図は図7で示されるものであり、公図であるとする。したがって、第1の地図情報記憶部11で記憶されている第1の地図情報は、公図が光学的機器によってデジタル化されたラスタデータであるとする。
また、この具体例において、第2の地図は図8で示されるものであり、測量図であるとする。また、第2の地図情報記憶部15で記憶されている第2の地図情報は、測量図のベクタデータであるとする。
また、この具体例では、第1の方位情報は文字であり、第2の方位情報は方位記号であるとする。第2の方位情報検出部16は、図9で示される方位情報の画像パターンを図示しない記録媒体において保持しており、そのパターンを用いて第2の方位情報を検出するものとする。なお、図9において、各方位記号は、紙面の上方向が北となるように設定されているものとする。また、図9において、説明の便宜上、方位情報の画像パターンを図形として示しているが、実際にはこれらは画像データであるとする。
また、この具体例では、第2の縮尺情報取得部18は、図10で示される縮尺情報の画像パターンを図示しない記録媒体において保持しており、そのパターンを用いて縮尺記号を検出することによって、第2の縮尺情報を取得するものとする。なお、図10において、説明の便宜上、縮尺情報の画像パターンを図形として示しているが、実際にはこれらは画像データであるとする。
まず、地図マッチング装置1のユーザが、マウスやキーボード等を操作することによって、地図マッチングの処理を開始する旨の指示を入力したとする。すると、その入力が地図マッチング装置1で受け付けられ、地図マッチング部20は、地図マッチングの処理を開始すると判断する(ステップS101)。そして、地図マッチング部20は、図示しない経路を介して第1の方位情報検出部12に、第1の方位情報の検出を行う旨の指示を渡す。
すると、第1の方位情報検出部12は、図7で示される第1の地図において、文字領域を検出する処理を行い、その結果として、複数の文字領域を示す第1の方位情報を検出する(ステップS102)。そして、その検出された複数の文字領域の画素の位置を示す情報が図示しない記録媒体で一時的に記憶される。
第1の方位特定部13は、それらのうちの1個の文字領域を用いて、第1の方位の特定を行うものとする(ステップS103)。この具体例では、第1の方位特定部13は、「あひる池」の矩形の文字領域を用いて第1の方位を特定するものとする。具体的には、第1の方位特定部13は、特定された「あひる池」の矩形領域において、長さ方向と、長さ方向に直交する方向(この方向を「短方向」とする)の画素のヒストグラムを求める。ヒストグラムの求め方については、例えば、特開平9−83691号公報等を参照されたい。求めたそのヒストグラムは、例えば図11で示されるようになる。そして、第1の方位特定部13は、求めた長さ方向ヒストグラムと短方向ヒストグラムから、ヒストグラムの谷間と谷間の幅のうち、最も短いものを文字の幅として特定する。なお、ここでは、文字の幅と高さがほぼ等しいとしている。この場合には、図11で示される短方向ヒストグラムの幅が、特定された文字の幅とほぼ等しいため、第1の方位特定部13は、「あひる池」が長さ方向に一行の文字列であり、その長さ方向が文字の並びの方向であると検出する(ステップS201)。なお、図11のヒストグラムは、概要を示すためのものであって、厳密なヒストグラムではない。
また、第1の方位特定部13は、文字のベースラインが検出した文字の並びの方向となる2つの向きのそれぞれについて、文字認識を行う。その結果、一方の向きの場合には、「あひる池」と認識できるが、逆向きの場合には文字のパターンとの類似度が非常に低くなるため、第1の方位特定部13は、「あひる池」と認識できる文字の向きを図示しない記録媒体で一時的に記憶する(ステップS202)。
その後、第1の方位特定部13は、その向きを特定した文字の上方向が北であるとして、北の方位を特定する(ステップS203)。具体的には、図12で示されるように、第1の方位特定部13は、第1の地図の上方向から、文字の上方向までの時計回りの角度「θ1」を特定する。この場合は「45°」となる。したがって、第1の方位特定部13は、「θ1=45°」を地図マッチング部20に渡す。地図マッチング部20は、その情報を図示しない記録媒体で一時的に記憶する。
次に、地図マッチング部20は、地図マッチング装置1の図示しない表示部に、図13で示す縮尺情報の入力を要求する画面を表示する。その画面において、ユーザが図13で示すように「600」を入力し、「OK」ボタンをクリックしたとする。すると、第1の縮尺情報受付部14は、縮尺情報「1:600」を受け付け、その受け付けた第1の縮尺情報を地図マッチング部20に渡す(ステップS104)。地図マッチング部20は、その第1の縮尺情報を図示しない記録媒体で一時的に記憶する。
その後、地図マッチング部20は、図示しない経路を介して、第2の方位情報検出部16に第2の方位情報の検出を行う旨の指示を渡す。すると、第2の方位情報検出部16は、第2の方位情報を検出する処理を行う(ステップS105)。具体的には、第2の方位情報検出部16は、図9で示される1番目のパターンを読み出し、そのパターンが図8で示される第2の地図に含まれるかどうか判断する(ステップS301,S302)。この場合には、そのパターンが第2の地図に含まれないため、第2の方位情報検出部16は、図9で示される2番目のパターンを読み出して、そのパターンが第2の地図に含まれるかどうか判断する(ステップS303,S304,S302)。この場合には、そのパターンが第2の地図に含まれるため、第2の方位情報検出部16は、そのパターンと一致する図形を第2の方位情報として検出し、その第2の方位情報の記載されている第2の地図の位置を示す情報と、その第2の方位情報に対応する方位記号が2番目のパターンである旨とを第2の方位特定部17に渡す(ステップS305)。
すると、第2の方位特定部17は、第2の方位情報の位置と、その第2の方位情報に対応する方位記号が2番目のパターンである旨とを受け取ると、第2の地図に記載された方位記号は、図9の2番目のパターンを、第2の地図の上方向から時計回りにどれだけ回転させたものであるのかを求める。この場合には、第2の方位特定部17は、その角度θ2として、「θ2=315°」を特定する(ステップS106)。そして、第2の方位特定部17は、「θ2=315°」を地図マッチング部20に渡す。地図マッチング部20は、その情報を図示しない記録媒体で一時的に記憶する。
次に、地図マッチング部20は、図示しない経路を介して、第2の縮尺情報取得部18に第2の縮尺情報の取得を行う旨の指示を渡す。すると、第2の縮尺情報取得部18は、第2の縮尺情報を取得する処理を行う(ステップS107)。具体的には、第2の縮尺情報取得部18は、図10で示される1番目のパターンを読み出し、そのパターンが図8で示される第2の地図に含まれるかどうか判断する(ステップS401,S402)。この場合には、そのパターンが第2の地図に含まれないため、第2の縮尺情報取得部18は、図10で示される2番目のパターンを読み出して、そのパターンが第2の地図に含まれるかどうか判断する(ステップS403,S404,S402)。この場合には、そのパターンが第2の地図に含まれるため、第2の縮尺情報取得部18は、そのパターンと一致する図形を縮尺記号として検出する。
また、第2の縮尺情報取得部18は、その検出した縮尺記号の近傍に記載されている文字認識を行う。その結果、「0」「10」「20m」が認識されたとする。すると、第2の縮尺情報取得部18は、その認識された文字から数値「0」「10」「20」のみを抽出し、その数値の最大値「20」を取得する。また、第2の縮尺情報取得部18は、認識された文字から長さの単位「m」を取得し、縮尺記号に対応する実空間の距離を示す距離情報「20m」を図示しない記録媒体で一時的に記憶する(ステップS405)。なお、第2の縮尺情報取得部18は、図示しない記録媒体において長さの単位「m」「km」「メートル」「キロメートル」等を保持しており、その保持している長さの単位を検索キーとして、認識した文字の検索を行うことによって、認識した文字に含まれている長さの単位を検出してもよい。
その後、第2の縮尺情報取得部18は、その検出した縮尺記号の地図上での長さを測定する(ステップS406)。この測定は、例えば、その縮尺記号の両端の地図上での座標値を取得し、その座標値を用いて、その縮尺記号の長さを計算することによってなされてもよい。ここで、縮尺記号の地図上での長さを示す長さ情報は「4.71cm」であったとする。
すると、第2の縮尺情報取得部18は、長さ情報「4.71cm」と、距離情報「20m」との単位を合わせることによって、長さ情報「4.71cm」、距離情報「2000cm」とする。そして、長さ情報を距離情報で割ることによって、第2の縮尺情報「4.71/2000」≒「1/425」を算出する(ステップS407)。そのようにして算出された第2の縮尺情報は、第2の縮尺情報受付部19に渡されて、第2の縮尺情報受付部19から地図マッチング部20に渡される(ステップS108)。地図マッチング部20は、その第2の縮尺情報を図示しない記録媒体で一時的に記憶する。
次に、地図マッチング部20は、第1の地図と第2の地図とをマッチングする処理を行う(ステップS109)。具体的には、地図マッチング部20は、一時的に記憶しているθ1,θ2を読み出し、(θ1−θ2)を算出することによって、第1及び第2の地図の相対角度を算出する(ステップS501)。なお、この角度は、適宜、360°を加減することによって、0°〜360°の範囲となるようにするものとする。θ1−θ2=45°−315°=−270°=90°となる。この相対角度は、第2の地図を時計回りにどれだけ回転させれば第1の地図と同じ角度になるのかを示す値である。したがって、地図マッチング部20は、第2の地図情報記憶部15から第2の地図情報を読み出し、その第2の地図情報の示す第2の地図を時計回りに90°回転させた第2の地図を生成して、その回転後の第2の地図を示す第2の地図情報を図示しない記録媒体で一時的に記憶する(ステップS502)。
また、地図マッチング部20は、一時的に記憶している第1の縮尺情報及び第2の縮尺情報を読み出し、第1の縮尺情報を「1/600」として、その第1の縮尺情報を第2の縮尺情報「1/425」で除算することによって、相対縮尺「0.71」を算出する(ステップS503)。なお、この相対縮尺は、第2の地図を何倍すれば第1の地図と同じ縮尺になるのかを示す値である。したがって、地図マッチング部20は、回転後の第2の地図を0.71倍して、その縮小後の第2の地図を示す第2の地図情報を図示しない記録媒体で一時的に記憶する(ステップS504)。
その後、地図マッチング部20は、第1の地図情報記憶部11から第1の地図情報を読み出し、また、一時的に記憶している回転と縮小後の第2の地図情報を読み出し、両地図情報の示すそれぞれの地図が一致する位置関係を探索する(ステップS505)。この具体例では、両地図の一致する位置関係が見つかったとする。すると、地図マッチング部20は、その両地図の一致する位置関係において、両地図を合成した画像である結果情報を構成する(ステップS506,S507)。その結果情報は、図14で示されるものである。図14において、第1の地図と、回転及び縮小された第2の地図とが重ねられている。
地図マッチング部20が合成した画像である結果情報を結果情報出力部21に渡すと、結果情報出力部21は、その結果情報を図示しない表示部に表示する(ステップS110)。その結果、地図マッチング装置1のユーザは、表示部に表示された、第1及び第2の地図が合成された図14で示される画像を見ることができる。
なお、この具体例では、結果情報として第1及び第2の地図を合成した画像が出力される場合について説明したが、前述のように、結果情報は、第1及び第2の地図の方位・縮尺・位置関係が一致した状態にするための情報、すなわち、両地図の方位、縮尺、位置関係を示す情報であってもよい。その場合には、例えば、地図マッチング部20は、図15で示される結果情報を生成してもよい。図15において、マッチング属性と、属性値とが対応付けられている。例えば、1番目のレコードによって、第1の地図と第2の地図との相対的な角度が90°であることが示されている。さらに詳細には、この角度は、例えば、第2の地図を時計回りにどれだけ回転させれば第1の地図と同じ角度になるのかを示す値である。また、第2のレコードによって、第1の地図と第2の地図との相対的な縮尺が0.71であることが示されている。さらに詳細には、この値は、例えば、第2の地図を何倍すれば第1の地図と同じ縮尺になるのかを示す値である。また、第3のレコードによって、第1の地図と第2の地図との相対的な位置関係が示されている。さらに詳細には、この座標値は、例えば、第2の地図の左上の頂点を、第1の地図のどこに移動させれば、第1の地図と第2の地図とがちょうど一致するのかを示す値である。
以上のように、本実施の形態による地図マッチング装置1によれば、2個の地図を、角度と縮尺とを一致させた上で位置関係をマッチングさせるため、高い精度でマッチングさせることができうる。例えば、地図では、たとえ同じ場所でなかったとしても、似通った図形が出てくる可能性がある。特に、住宅地の地図などの場合には、土地の形状はだいたい矩形に決まっているため、特にその傾向が強くなる。そのような場合に、単に形状等の図的な情報のみを用いて2個の地図のマッチングを行うと、縮尺や方位が異なっているにもかかわらず、間違ったマッチングのなされることがありうると考えられる。具体的には、ある土地の形状と、その土地よりも広いが、形状はその土地と相似である土地の形状とがマッチングすると判断される可能性がある。それに対して、本実施の形態のように、まず方位と縮尺とを合わせた上で位置関係のマッチングを行うことによって、縮尺や方位が異なっている状態でマッチングさせる事態を回避することができ、より精度の高いマッチングを実現させることができうる。また、人手によってマッチングの処理を行わなくてもよいため、そのマッチングの処理を行っていた人は、過大な労力から開放されることになる。
なお、本実施の形態による地図マッチング装置1は、図16で示されるように、第1の地図情報から第1の縮尺情報を取得する第1の縮尺情報取得部31をさらに備え、第1の縮尺情報受付部14が、その第1の縮尺情報取得部31が取得した第1の縮尺情報を受け付けるようにしてもよい。なお、第1の縮尺情報取得部31は、第2の地図に代えて第1の地図から縮尺情報を取得し、第2の縮尺情報に代えて第1の縮尺情報を取得する以外は、第2の縮尺情報取得部18と同様のものであり、その説明を省略する。例えば、第1の縮尺情報取得部31は、第1の地図に記載されている縮尺情報を用いて、第1の縮尺情報を取得するものであってもよい。
また、本実施の形態では、第2の縮尺情報受付部19が、第2の縮尺情報取得部18が取得した第2の縮尺情報を受け付ける場合について説明したが、そうでなくてもよい。第2の縮尺情報受付部19は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力された第2の縮尺情報を受け付けてもよく、有線もしくは無線の通信回線を介して送信された第2の縮尺情報を受信してもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出された第2の縮尺情報を受け付けてもよい。そのような場合に、第2の縮尺情報受付部19は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、第2の縮尺情報受付部19は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。このように、第2の縮尺情報受付部19が第2の縮尺情報取得部18が取得した第2の縮尺情報を受け付けない場合には、地図マッチング装置1は、第2の縮尺情報取得部18を備えていなくてもよい。
また、本実施の形態では、第1の地図情報記憶部11に一の第1の地図情報が記憶されており、第2の地図情報記憶部15に一の第2の地図情報が記憶されている場合について説明したが、第1の地図情報記憶部11等に2以上の地図情報が記憶されていてもよい。例えば、第1の地図情報記憶部11でN個の第1の地図情報が記憶されており、第2の地図情報記憶部15でM個の第2の地図情報が記憶されている場合に、地図マッチング部20は、適切なマッチングがなされるまで第1の地図情報と第2の地図情報との組合せを替えながら、マッチングの処理(ステップS109)を行ってもよい。この場合には、最大でN×M回のマッチングの処理が行われることになる。
また、上記実施の形態では、地図マッチング装置1がスタンドアロンである場合について説明したが、地図マッチング装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、情報を出力したりすることになる。
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いるしきい値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していない場合であっても、ユーザが適宜、それらの情報を変更できるようにしてもよく、あるいは、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
また、上記実施の形態において、地図マッチング装置1に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、あるいは、別々のデバイスを有してもよい。
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、上記実施の形態における地図マッチング装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、第1の地図を示す情報である第1の地図情報が記憶される第1の地図情報記憶部で記憶されている第1の地図情報の示す地図に含まれる方位を示す情報である第1の方位情報を検出する第1の方位情報検出部と、前記第1の方位情報検出部が検出した第1の方位情報を用いて、前記第1の地図情報の示す地図の方位を特定する第1の方位特定部と、前記第1の地図情報の示す地図の縮尺を示す情報である第1の縮尺情報を受け付ける第1の縮尺情報受付部と、第2の地図を示す情報である第2の地図情報が記憶される第2の地図情報記憶部で記憶されている第2の地図情報の示す地図に含まれる方位を示す情報である第2の方位情報を検出する第2の方位情報検出部と、前記第2の方位情報検出部が検出した第2の方位情報を用いて、前記第2の地図情報の示す地図の方位を特定する第2の方位特定部と、前記第2の地図情報の示す地図の縮尺を示す情報である第2の縮尺情報を受け付ける第2の縮尺情報受付部と、前記第1の方位特定部が特定した方位と、前記第2の方位特定部が特定した方位と、前記第1の縮尺情報受付部が受け付けた第1の縮尺情報と、前記第2の縮尺情報受付部が受け付けた第2の縮尺情報とを用いて、前記第1の地図情報の示す地図と、前記第2の地図情報の示す地図との方位及び縮尺を合わせた上で、両地図に含まれる同じ図形の位置が一致するように両地図をマッチングさせる地図マッチング部と、前記地図マッチング部によるマッチングの結果に関する情報である結果情報を出力する結果情報出力部として機能させるためのものである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を受け付ける受付部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には少なくとも含まれない。
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図17は、上記プログラムを実行して、上記実施の形態による地図マッチング装置1を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図17において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図18は、コンピュータシステム900の内部構成を示す図である。図18において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態による地図マッチング装置1の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態による地図マッチング装置1の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。