説明

地図印刷/読取装置

【構成】 地図印刷/読取装置10はコンピュータ12を含み、コンピュータ12は、地図データベース20から地図画像データを読み出して、モニタ16の地図操作GUI(32)の地図表示領域(36)に地図画像を表示する。コンピュータ12は印刷枠(52)をその地図画像上に表示し、さらには、地図データベース20から読み出した基準点の経緯度に基づいて、その印刷枠の対角の経緯度を計算する。プリンタ22によって印刷するとき、地図画像と、対角の経緯度を符号化した符号画像とが1枚の用紙に印刷される。そして、スキャナ24で地図(用紙)を読み取るとき、地図画像中に付与されたマークの位置を、符号画像を解読した対角の経緯度に基づいて計算する。
【効果】 地図すなわち用紙の読取りに際して、コンピュータにGISデータベースなどの地図データがなくても、マーク付与位置の経緯度への変換が可能である。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は地図印刷/読取装置に関し、たとえば地震などのように比較的広範囲の地域において被災する災害救助のために使用できる、地図印刷装置およびそれによって印刷した地図を利用する位置読取装置に関する。
【背景技術】
【0002】
背景技術として、特許文献1に示す地図情報出力システムが提案されている。この特許文献1の地図情報出力システムでは、地図情報と地図に含まれる住所やランドマークを示す位置座標のような特定情報を地図情報格納部に格納しておき、ユーザが目的地の住所をキーボードから入力すると、その目的地を示す位置座標を取得して、目的地周辺の地図を表示する。そして、ユーザが印刷実行ボタンを押すと、その表示した地図に含まれるランドマークを目的地から近い順に検索し、目的地住所とそれに対応する位置座標と、ランドマーク情報とを2次元バーコード変換部へ送り、そこでこれらの情報を2次元バーコードに変換し、表示中の地図に、その地図内に存在するランドマークを該当の位置に追記し、2次元バーコードと合成して印刷する。
【0003】
ユーザが携帯端末でその印刷地図の2次元バーコードを読み込むと、2次元バーコードに含まれている目的地やランドマークの座標位置を特定し、他方で携帯端末の現在位置の位置座標を取得し、現在位置から目的地やランドマークまでの方角や距離を計算してユーザに提示する。
【0004】
また、特許文献2では、地図上の道路や線路等の他観光施設などを表示するシンボルを地図とともに印刷し、さらに、道路や線路、施設の位置に対応したXY座標を意味するドットパターンを、その地図と重畳印刷する。
【0005】
ユーザは、撮影手段によってそのドットパターンを読み取ってこれらの道路や線路、施設の位置データを取得する。
【特許文献1】特開2008‐249898号公報[G09B 29/00, G09B 29/10, G01C 21/00, G08G 1/005]
【特許文献2】特開2008‐52377号公報[G06F 3/042, G09B 29/00, G06F 3/048]
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1の背景技術も特許文献2の背景技術も、ともに、地図上の特定の住所や場所、施設(道路や線路、ランドマーク)を示す2次元バーコードあるいは特殊なドットパターンを地図とともに印刷しておくものである。
【0007】
この発明の地図印刷/読取装置によって印刷する地図は、災害時の被災調査や救助活動のために用いる地図を想定している。地震や風水害のような災害によって被災する場所を正確に予想または予測するのは殆ど不可能であり、特定の場所を指示しない限り2次元バーコードやドットパターンを印刷できない背景技術は、そのような用途の地図としては利用できない。
【0008】
それゆえに、この発明の主たる目的は、新規な、地図印刷/読取装置を提供することである。
【0009】
この発明の他の目的は、事前に特定の場所を指定しておかなくても印刷地図を読み取ったときに対象場所を特定できる、地図印刷/読取装置を提供することである。
【課題を解決するための手段】
【0010】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、この発明を何ら限定するものではない。
【0011】
第1の発明は、地図を示す地図画像およびその地図の経緯度データを含む地図データを保有する地図データベース、地図データベースから地図画像データを読み出して地図画像をモニタに表示する表示手段、モニタ上において、地図画像を印刷する領域を示す印刷枠を設定する印刷枠設定手段、印刷枠に関連した特定の位置の経緯度を符号化して符号画像を形成する符号画像形成手段、および印刷枠で示される領域の地図画像と符号画像とを1枚の用紙に印刷する印刷手段を備える、地図印刷装置である。
【0012】
第1の発明では、地図印刷装置(10:実施例において対応する部分を例示する参照符号。以下、同じ。)は、地図データベース(20)を含み、この地図データベースには、地図画像およびその地図上の経緯度データを含む地図データが格納されている。たとえば、道路、鉄道、建物、建物の戸別名称、行政界などの項目が、レイヤ毎にベクトル形式で、たとえば日本測地系での経緯度データ、基本属性情報とともに、データ化されている。表示手段(12,S1)は、そのような地図データベースから地図画像データを読み出して地図画像をモニタ(16)に表示する。このとき、地図画像上の基準点(たとえば表示されている地図画像の左上角や、住所ポリゴンの各頂点)の経緯度データも併せて地図データベース(20)から読み出され、メモリ内に格納される。印刷枠設定手段(12,S17,S83‐S95,S171‐S193)は、ユーザの操作装置(14)の操作に応答して、モニタ上において、地図画像を印刷する領域を示す印刷枠(52,100)を設定する。
【0013】
印刷枠は、実施例では、矩形であり、印刷すべき地図画像の範囲ないし領域を指定する。印刷枠設定手段で印刷枠を設定したとき、その印刷枠に関連する特定の位置の経緯度を上記基準点の経緯度データに基づいて求める。符号画像形成手段(S121,S125)は、印刷枠に関連したその特定の位置の経緯度を符号化して符号画像(78)を形成する。ただし、印刷枠は必ずしも矩形で或る必要はなく、円形やその他の多角形を印刷枠として指定するようにしてもよい。そして、符号画像ではそれらの印刷枠の特定の位置、たとえば多角形の各頂角における経緯度や、円の場合の中心における経緯度と半径などの情報を符号画像に埋め込むようにすればよい。そして、印刷手段(22,S133)は、印刷枠で示される領域の地図画像(76)と符号画像(78)とを用紙(74)に印刷する。
【0014】
ただし、符号画像は実施例ではQRコード(商品名)のような2次元バーコードを採用した。しかしながら、任意の符号化手法が利用可能である。
【0015】
第1の発明によれば、地図画像と共に符号画像が用紙上に印刷されるので、読取るときにその符号画像を解読して特定の位置の経緯度を取得し、それを地図上の位置の特定のために利用できるので、事前に特定の場所を指定しておかなくても印刷地図を読み取ったときに対象場所の経緯度を容易に特定できる。
【0016】
第2の発明は、第1の発明に従属し、印刷枠設定手段は矩形の印刷枠を設定し、印刷枠の対角の位置の経緯度を算出する経緯度算出手段をさらに備え、符号画像形成手段は、印刷枠の対角の位置の経緯度を符号化する、地図印刷装置である。
【0017】
第2の発明では、印刷枠として矩形の印刷枠を設定する。そして、経緯度算出手段(12,S85,S89‐S91)は、特定の位置として矩形の印刷枠の少なくとも対角を設定して、前述の基準点の経緯度データに基づいて、その矩形の印刷枠の少なくとも対角を示す経緯度を求め、符号画像では、その対角の経緯度を符号化する。第2の発明によれば、印刷枠を矩形にしたので、複雑な演算などを必要とせず、印刷枠の設定処理や読取る際の座標変換処理が簡単に行える。
【0018】
第3の発明は、第2の発明に従属し、経緯度算出手段は、1つの印刷枠に入る地図上での実際の距離を計算する第1距離計算手段、および実際の距離から地図画像の内部座標を変換して内部座標上の距離を計算する第2距離計算手段を含み、基準点の経緯度および内部座標情の距離に基づいて対角の位置の経緯度を算出する、地図印刷装置である。
【0019】
第3の発明では、経緯度算出手段(12,S85,S89‐S91)は、1つの印刷枠(52,100)に入る地図画像の、地図上での実際の距離を計算する。実施例では、横の距離を(PX−US)×SSとして、縦の距離を(PY−LS)×SSとして計算する。ただし、PXは用紙サイズの横の長さ(mm)、PYは用紙サイズの縦の長さ(mm)であり、用紙上下の余白合計をUSmm、左右余白合計をLSmmとし、縮尺をSSとする。
【0020】
第2距離計算手段(S89,S91)では、地図データベースから読み出した基準点の経緯度および内部座標情の距離に基づいて対角の位置の経緯度を算出する。基準点の位置を(NX,NY)として、1つの印刷枠を設定する場合、印刷枠(52)の左座標、右座標、上座標および下座標を、それぞれ、「NX」、「NX+AX」、「NY」および「NY+AY」として計算する。ただし、AXは内部座標上の横方向距離であり、AYは内部座標上の縦方向距離である。複数の印刷枠を設定する場合も同様に、基準点の経緯度と内部座標上の横方向距離AXおよび内部座標上の縦方向距離AYに基づいて計算する。
【0021】
第3の発明によれば、用紙上に印刷できる地図画像における実際の距離と、内部座標(経緯度)上の距離とに基づいて対角の経緯度が計算できるので、対角の経緯度を簡単に計算することができる。
【0022】
第4の発明は、第3の発明に従属し、第1距離計算手段は、用紙のサイズと印刷余白と地図画像の縮尺とに基づいて実際の距離を計算する、地図印刷装置である。
【0023】
第4の発明では、第1距離計算手段(S85)は、用紙のサイズと印刷余白と地図画像の縮尺とに基づいて実際の距離を計算するので、用紙サイズや縮尺度を任意に変更しても、対角の経緯度を正確に計算することができる。
【0024】
第5の発明は、第3または第4の発明に従属し、経緯度算出手段は、基準位置の経緯度に内部座標上の距離を加算することによって、対角の経緯度を算出する、地図印刷装置である。
【0025】
第6の発明は、第2ないし第5の発明のいずれかに従属し、印刷枠設定手段は、複数の印刷枠を設定する複数印刷枠設定手段を含み、複数印刷枠設定手段によって設定された複数の印刷枠毎に、印刷枚数を設定する。
【0026】
第6の発明では、複数印刷枠設定手段(12,S91)は、たとえば4個の印刷枠を設定する。そして、印刷枠毎に印刷される枚数が設定される。第6の発明によれば、印刷される枚数が個別に指定できるため、ユーザの利便性が向上する。
【0027】
第7の発明は、第1ないし第5の発明のいずれかに従属し、住所を検索することによって地図データベースから住所ポリゴンを読み出す住所検索手段をさらに備え、表示手段は住所ポリゴンを表示し、印刷枠設定手段は、住所ポリゴンが余すところなく含まれる大きさの印刷枠を設定する、地図印刷装置である。
【0028】
第7の発明では、住所検索手段(12,86,S141‐S163)を利用することによって、ユーザは住所を検索することによって地図データベースから住所ポリゴンを読み出すことができる。したがって、表示手段がその住所ポリゴン(96)を表示し、印刷枠設定手段(12,S17,S171‐S193)は、たとえば住所ポリゴンの外接図形のような、住所ポリゴンが余すところなく含まれる大きさの印刷枠(100)を設定する。
【0029】
第7の発明によれば、住所によって地図検索しても適切に印刷枠を指定することができる。
【0030】
第8の発明は、第7の発明に従属し、印刷枠設定手段は、住所ポリゴンの外接矩形である基図を設定する基図設定手段、および基図に基づいて必要枠数を計算する枠数計算手段を含む、住所印刷装置である。
【0031】
第8の発明では、基図設定手段(S175)によって住所ポリゴンの外接矩形である基図(98)を設定するとともに、枠数計算手段(S177‐S187)が基図に基づいて必要枠数を計算する。
【0032】
実施例では、基図(98)は地図ポリゴン(96)の外接の四角形であり、その四角形(98)の左座標は地図ポリゴン(96)のX軸の最小値(LX)となり、右座標はX軸最大値(RX)となり、上座標はY軸最小値(LY)で与えられ、下座標はY軸最大値(RY)となる。そして、基図ないし四角形(98)の内部座標における縦の距離AYおよび横の距離AXを用紙サイズと縮尺に基づいて計算する。さらに、印刷枠の基図としての四角形(98)のX軸の距離をWとし、Y軸の距離をHとしてそれぞれ計算し、四角形(基図)(98)の横方向距離Wを横方向距離AXで割り、余りW mod AXなければその整数演算の商をそのまま横方向必要枠数(NeedX)とし、余りがある場合、必要枠数を(NeedX+1)として登録する。
【0033】
縦方向についても同様である。つまり、基図(98)の縦方向距離Hを縦方向距離AYで割り、余りH mod AYがあるかどうか判断し、縦方向必要枠数(NeedY)または(NeedY+1)を登録する。
【0034】
第8の発明によれば、住所検索によっても、必要な印刷枠数が適切に設定できる。
【0035】
第9の発明は、第1ないし第8の発明のいずれかに従属し、地図画像に重畳されるメッシュを形成するメッシュ画像形成手段をさらに備え、印刷手段は、地図画像上に重ねてメッシュ画像を印刷する、地図印刷装置である。
【0036】
第9の発明では、印刷手段(22,S133)によって、メッシュ画像形成手段(S129,S131)が形成したメッシュ画像を地図画像上に重ねて印刷するので、地図上にマークする場合に正確に1つのメッシュ内の位置を指定でき、読取りの際の正確性が担保できる。
【0037】
第10の発明は、第1ないし第9の発明に従属し、符号画像は、QRコードを含む。
【0038】
第11の発明は、第10の発明に従属し、QRコードは、第1QRコードおよび第2QRコードを含み、印刷手段は、地図画像の1つの頂点と第1QRコードの角とが一致し、1つの頂点における対角の頂点と第2QRコードの角とが一致するように、地図画像と第1QRコードと第2QRコードとを用紙に印刷する。
【0039】
第11の発明では、地図画像とともに、第1QRコード(78a)および第2QRコード(78b)が用紙に印刷される。そして、第1QRコードの角と一致と地図画像の1つの頂点とが一致し、第2QRコードの角と1つの頂点における対角の頂点とが一致する。
【0040】
第11の発明によれば、2つのQRコードを印刷することで、そのQRコードを復号する処理の信頼性を向上させることができる。
【0041】
第12の発明は、印刷枠で示される領域の地図画像と地図画像の特定の位置の経緯度を符号化した符号画像とを用紙に印刷した地図を読み取る、読取装置であって、地図画像中に記入されたマークを認識してそのマークの地図画像上の位置を特定するマーク認識手段、符号画像を認識して地図画像の特定の位置の経緯度を求める符号画像認識手段、およびマーク認識手段によって特定されたマークの位置と符号画像認識手段によって求めた特定の位置の経緯度とに基づいて、マークの経緯度を計算する計算手段を備える、地図読取装置である。
【0042】
第12の発明では、地図は用紙(74)上に印刷されるが、印刷枠(52,100)で示される領域の地図画像(76)と地図画像の特定の位置の経緯度を符号化した符号画像(78)とを含む。読取装置(10)は、マーク認識手段(12,S209,S221‐S225)を備え、そのマーク認識手段によって、地図画像中に記入されたマーク(102)を認識してそのマークの地図画像上の位置を特定する。そして、符号画像認識手段(12,S211,S231‐S235)が符号画像を認識して地図画像の特定の位置の経緯度を求める。計算手段(12,S215,S241‐S251)が、マークの位置と特定の位置の経緯度とに基づいて、マークの経緯度を計算する。
【0043】
そして、符号画像認識手段によって、印刷枠に関連する特定の位置、たとえば対角の左上座標(Ax,Ay)と右下座標(Bx,By)を取得するとともに、マーク位置(Rx,Ry)を取得
する。たとえば実施例のように、地図上にメッシュが想定される場合、地図画像(76)上に印刷されたメッシュの縦横の数(Wz,Wy)を取得して、右下のX座標(Bx)から左上のX座標(Ax)を引くことによって、地図画像全体のX方向長さが計算できる。X方向長さをX方向のメッシュ数(Wx)で割る{(Bx-Ax)÷(Wx)}ことによって、1つのメッシュのX方向長さが計算でき、それにマーク位置(Rx)を掛けると、そのマーク位置の測地系の経度が求まる。その経度を左上の座標(Ax)に加えることによって、マークを付したメッシュの経度となる。同様に、マークを付したメッシュの緯度を[Ay+{(By-Ay)÷(Wy)}×(Wy-Ry)]を計算することによって求めることができる。
【0044】
第12の発明によれば、地図の任意の位置に記入したマークの経緯度を正確に読取ることができる。
【0045】
第13の発明は、第12の発明に従属し、印刷枠は矩形であり、特定の位置は印刷枠の対角である、地図読取装置である。
【0046】
第14の発明は、第12または第13の発明に従属し、地図画像上に重畳されるメッシュを含み、計算手段は、マークが記入されたメッシュの位置を取得するメッシュ位置取得手段、メッシュの最大個数とメッシュ位置とに基づいてメッシュの座標を計算する座標計算手段を含む、地図読取装置である。
【0047】
第15の発明は、第12または第13の発明に従属し、符号画像は、第1QRコードおよび第2QRコードを含み、地図画像の1つの頂点と第1QRコードの角とが一致し、1つの頂点における対角の頂点と第2QRコードの角とが一致するように印刷された用紙のイメージを読み取る読取手段、読取手段によって読み取られたイメージにおいて、第1QRコードの角の第1ピクセル値を取得する第1取得手段、読取手段によって読み取られたイメージにおいて、第2QRコードの第2ピクセル値を取得する第2取得手段、および地図画像における最大ピクセル数を第1ピクセル数および第2ピクセル数に基づいて算出するピクセル数算出手段をさらに備え、マーク認識手段は、読取手段によって読み取られたイメージにおいて、マークのピクセル値を取得するピクセル値取得手段を含み、ピクセル数算出手段によって算出された最大ピクセル数と符号画像認識手段によって求めた特定の位置の経緯度とに基づいて、マークのピクセル値を経緯度に変換する変換手段をさらに備える。
【0048】
第15の発明では、符号画像として、第1QRコード(78a)および第2QRコード(78b)が用紙に印刷される。読取手段(12,S305)は、第1QRコードの角と一致と地図画像の1つの頂点とが一致し、第2QRコードの角と1つの頂点における対角の頂点とが一致するように印刷された用紙のイメージを読み取る。第1取得手段(12,S337)は、読み取られたイメージにおいて、第1QRコードの角の第1ピクセル値(px1,py1)を取得する。また、第2取得手段(12,S339)は、第2QRコードの角の第2ピクセル値(px2,py2)を取得する。ピクセル数算出手段は、地図画像の最大ピクセル数、取得された第1ピクセル数および第2ピクセル数に基づいて算出((px2-px1),(py2-py1))する。ピクセル値取得手段(12,S325)は、地図画像に付与されたマーク(102a)のピクセル値(px3,py3)を取得する。変換手段(12,S361,S363)は、算出された最大ピクセル数と、特定の位置の経緯度((Lx1,Ly1),(Lx2,Ly2))とに基づいて、マークのピクセル値を経緯度に変換(X=Lx1+[{(Lx2-Lx1)÷(px2-px1)}×(px3-px1)], Y=Ly1+[{(Ly2-Ly1)÷(py2-py1)}×(py3-py1)])する。
【0049】
第15の発明によれば、マークの経緯度を、高精度に求めることができる。
【0050】
第16の発明は、印刷枠で示される領域の地図画像と地図画像の特定の位置の経緯度を符号化した符号画像とを用紙に印刷した地図を読み取る、読取装置であって、地図画像中に記入されたポリゴンを認識してそのポリゴンの外郭のメッシュの位置を特定する外郭座標計算手段、符号画像を認識して地図画像の特定の位置の経緯度を求める符号画像認識手段、および外郭座標計算手段によって計算された外郭のメッシュの位置と符号画像認識手段によって求めた特定の位置の経緯度とに基づいて、ポリゴンを示すポリゴンデータを生成するポリゴンデータ生成手段を備える、地図読取装置である。
【0051】
第16の発明では、読取装置(10)は、印刷枠(52,100)で示される領域の地図画像(76)と地図画像の特定の位置の経緯度を符号化した符号画像(78)とを1枚の用紙(74)に印刷した地図を読み取る。外郭座標計算手段(12,S269,S281‐S289)は、地図画像中に記入されたポリゴン(102a)を認識してそのポリゴンの外郭のメッシュの位置を特定する。
【0052】
たとえば、全てのメッシュの座標においてX方向の最小値から最大値に対するY方向の最大値と最小値、つまり、各X位置に対するY位置の最小値および最大値を求める。同様に、全てのメッシュの座標においてY方向の最小値から最大値に対するX方向の最大値と最小値、つまり、各Y位置に対するX位置の最小値および最大値を求める。そして、たとえば取得した全ての座標から重複している座標を排除することによって、外郭の座標を抽出する。
【0053】
符号画像認識手段(12,S211,S231‐S235)がすでに説明したと同様にして、符号画像を認識して地図画像の特定の位置の経緯度を求める、ポリゴンデータ生成
手段(12,S271,S291‐S297)は、外郭座標計算手段によって計算された外郭のメッシュの位置と符号画像認識手段によって求めた特定の位置の経緯度とに基づいて、ポリゴンを示すポリゴンデータを生成する。
【0054】
実施例では、取得した外郭座標の中で、(X,Y)が最小値である座標を探し、その最小座
標を開始点として、それより右方向に順次外郭座標を探し、元の開始点となるまでの一連の外郭座標を検索し、検索した外郭座標で囲まれたポリゴンのポリゴンデータを生成する。つまり、符号画像認識手段で求めた印刷枠の特定の位置の経緯度に基づいてこの一連の外郭座標を経緯度データに変換することによって、ポリゴンデータが生成できる。
【0055】
第16の発明によれば、地図上で一定の面積を有する領域をポリゴンとして指定することができ、たとえば、地図データベースに含まれる地図データの1つである人口レイヤや家屋レイヤと照合することによって、その地域における被災の程度(人的または家屋など)を把握することができる。
【0056】
第17の発明は、1枚の用紙によって形成される調査票であって、用紙の一部に形成されるテキスト印刷部、および用紙の他の一部に形成される地図印刷部を備え、地図印刷部は、印刷枠で示される領域の地図画像と、地図画像に重畳されるメッシュと、印刷枠に関連した特定の位置の経緯度を符号化した符号画像を含む、調査票である。
【0057】
第17の発明では、調査票(118)は1枚の用紙(74)によって形成され、その用紙の一部(たとえば左半分)にテキスト印刷部(120)を、他の一部(たとえば右半分)地図印刷部(122)をそれぞれ形成する。地図印刷部は、印刷枠で示される領域の地図画像(76)と、地図画像に重畳されるメッシュ(80)と、印刷枠に関連した特定の位置の経緯度を符号化した符号画像(78)を含む。
【0058】
第17の発明の調査票は被災調査などに好適し、被災箇所や被災場所を正確に特定できるという利点がある。
【発明の効果】
【0059】
この発明によれば、地図画像に関連した特定の位置の経緯度を符号画像として地図画像と一緒に印刷しておき、読取るときにその符号画像を解読してその特定の位置の経緯度を取得し、それを地図上の位置の経緯度の特定のために利用するようにしているので、事前に特定の場所を指定しておかなくても印刷地図を読み取ったときに対象場所の経緯度を容易に特定できる。したがって、発生場所の予測が殆どできない災害調査などにも迅速に対応することができる。
【0060】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0061】
【図1】図1はこの発明の地図印刷/読取装置の一実施例を示すブロック図である。
【図2】図2は図1実施例の内部メモリのメモリマップの一例を示す図解図である。
【図3】図3は図1実施例における印刷処理動作(メインフロー)を示すフロー図である。
【図4】図4は図1実施例においてモニタに表示される地図操作GUIを示す図解図である。
【図5】図5は図3実施例における拡大/縮小処理を詳細に示すフロー図である。
【図6】図6は図3実施例におけるドラッグ移動処理を詳細に示すフロー図である。
【図7】図7は図4の地図操作GUIに重畳表示されるプリンタ設定GUIを示す図解図である。
【図8】図8は図3実施例におけるプリンタ設定処理を詳細に示すフロー図である。
【図9】図9は図4の地図表示領域に表示される印刷枠の一例を示す図解図である。
【図10】図10は図4の地図表示領域に表示される印刷枠の他の例を示す図解図である。
【図11】図11は図3実施例における印刷枠指定処理を詳細に示すフロー図である。
【図12】図12は図4の地図操作GUIに重畳表示されるQRコード設定GUIを示す図解図である。
【図13】図13は図3実施例におけるQRコード設定処理を詳細に示すフロー図である。
【図14】図14は図3実施例における印刷処理を詳細に示すフロー図である。
【図15】図15は図14に従って印刷された地図の一例を示す図解図である。
【図16】図16は図3実施例の変形例としての住所検索での印刷枠指定のための住所検索GUIの一例を示す図解図である。
【図17】図17はこの実施例における住所検索処理を示すフロー図である。
【図18】図18は図16の住所検索GUIの地図表示領域に表示される住所ポリゴンの一例を示す図解図である。
【図19】図19はこの実施例における大字印刷枠処理を示すフロー図である。
【図20】図20はこの実施例における図19に後続する住所検索処理を示すフロー図である。
【図21】図21はこの実施例における住所ポリゴンの座標を示す図解図である。
【図22】図22はこの実施例における住所ポリゴンを包含する四角形の座標を示す図解図である。
【図23】図23はこの実施例において余白を調整する前の印刷枠と、住所ポリゴンおよび四角形との関係を示す図解図である。
【図24】図24はこの実施例における余白調整を示す図解図である。
【図25】図25はこの実施例において余白を調整した後の印刷枠と、住所ポリゴンおよび四角形との関係を示す図解図である。
【図26】図26は図1実施例における読取処理動作(メインフロー)を示すフロー図である。
【図27】図27はマークを記入した地図用紙の一例を示す図解図である。
【図28】図28は図26実施例においてモニタに表示される読取GUIを示す図解図である。
【図29】図29は図26実施例におけるマーク位置認識処理を詳細に示すフロー図である。
【図30】図30はマーク位置を示す図解図である。
【図31】図31は図26実施例におけるQRコード認識処理を詳細に示すフロー図である。
【図32】図32は図26実施例における座標変換処理を詳細に示すフロー図である。
【図33】図33はポリゴンを記入した地図用紙の一例を示す図解図である。
【図34】図34は図33のポリゴンを取り出して示す図解図である。
【図35】図35は読取処理動作(メインフロー)の他の実施例を示すフロー図である。
【図36】図36は図35実施例における外郭計算処理を詳細に示すフロー図である。
【図37】図37は図35実施例におけるポリゴン計算処理を詳細に示すフロー図である。
【図38】図38は実施例の読取装置に用いる調査票の一例を示す図解である。
【図39】図39は調査票の他の例を示す図解である。
【図40】図40は地図表示領域に表示される印刷枠のその他の例を示す図解図である。
【図41】図41は図40の地図操作GUIに重畳表示される印刷枚数設定GUIを示す図解図である。
【図42】図42は図14に従って印刷された地図の他の一例を示す図解図である。
【図43】図43は図42に示す2つのQRコードの拡大図である。
【図44】図44は他の実施例における読取処理動作(メインフロー)を示すフロー図である。
【図45】図45は図44実施例においてモニタに表示される読取GUIを示す図解図である。
【図46】図46はマークを記入した地図用紙の他の一例を示す図解図である。
【図47】図47は図44実施例におけるマーク位置認識処理を詳細に示すフロー図である。
【図48】図48は他の実施例におけるマーク位置を示す図解図である。
【図49】図49は図44実施例におけるQRコード認識処理を詳細に示すフロー図である。
【図50】図50は図44実施例における座標変換処理を詳細に示すフロー図である。
【発明を実施するための形態】
【0062】
図1に示すこの発明の一実施例の地図印刷/読取装置10は、コンピュータ12を含み、このコンピュータ12は、デスクトップ型、ノート型などのパソコンやワークステーションなど任意のコンピュータであってよく、マウスやキーボード(ともに図示せず)を含む操作装置14および画像表示のためのモニタ16を付属的に備える。コンピュータ12はさらに、ROMやRAMを含む内部メモリ18を有する。この内部メモリ18には、地図データベース20に格納されているディジタル地図データを処理するためのGIS(Geographic Information System)アプリケーションプログラムや具体的なアプリケーションプログラム、実施例では地図印刷プログラムや地図読取プログラムが設定されている。
【0063】
この実施例では、地図データベース20としては、一例として、株式会社ゼンリンの「Zmap(TOWN II)」および「Zmap(AREA II)」(ともに商品名)という商用データベースを用いる。この実施例の地図データベース20では、道路、鉄道、建物、建物の戸別名称、行政界などの項目を含み、これらの情報は階層(レイヤ)毎にベクトル形式で、たとえば日本測地系での経緯度データ、基本属性情報(戸別建物名称に付加した個別キー情報や住所情報)とともに、データ化されている。そのため必要なレイヤを選択することにより、用途に応じた地図表現が可能である。この地図データベース20をコンピュータ12によって処理または操作するために、この実施例では、「Zmap OA II Professional」(商品名)という、そのデータベースに特化したGISアプリケーションソフトを利用する。このアプリケーションソフトの各コンポーネントが、地図操作プログラムとして、上記内部メモリ18に設定されている。
【0064】
また、地図データベース20の位置座標は、座標系の原点が19箇所で定義される、「19座標系」で定義されている。たとえば、第6系には、京都府、大阪府、福井県、滋賀県、三重県、奈良県および和歌山県が含まれ、第6系の原点は「東経136度0分0秒00」、「北緯36度0分0秒00」である。そして、第6系の地域を表す地図データにおいて、任意の位置座標は、原点から任意の位置までの方向ベクトルに基づいて求められる。具体的には、方向ベクトルの長さと方向とから、横方向の移動距離および縦方向の移動距離を算出することで、任意の位置における位置座標(緯度経度データ)を求めることができる。
【0065】
地図印刷/読取装置10にはさらに、プリンタ22およびOCR(Optical Character Reader)カラースキャナ(以下、単に「スキャナ」という。)24を備える。
【0066】
実施例の地図印刷/読取装置10で印刷した地図は、たとえば地震発生後の建物被害調査のような調査内容と地図上での位置とを紐付けして管理する必要がある場合において、その建物被害調査票とともにセット(1枚)にする、地図票として利用される。
【0067】
たとえば、横Y個、縦X個(YおよびXはそれぞれ任意数でよいが、実施例では、Y=38、X=53とした。)の正方形(メッシュ)を、地図画像に重畳的に描いた地図をプリンタ22によって印刷する。同時に、プリンタ22では、地図画像の少なくとも対角、たとえば左上角と右下角(または、右上角と左下角)の世界測地系または日本測地系の経緯度を表す数値を、2次元バーコード(実施例では、QRコード:商品名)のような機械読み取り可能な符号画像として、地図画像と共にその近傍に印刷しておく。
【0068】
調査票を用いて調査するユーザは、調査票上において建物被害の内容や状態を記入するとともに、地図票のX×Y(実施例では、38×53=2014)個のメッシュの中の任意の1つに、建物被害発生場所を示すたとえば赤色のマークをたとえば手書きで記入する。
【0069】
その後、上記のマーキングを行った地図票と記入済み調査票とをスキャナ24によって一括して読み取る。QRコードのような符号画像を読取ることによって、その符号画像で表される地図画像の対角の座標(経緯度)を認識する。同時に、カラーピクセル認識技術を利用して、上述の赤色マークが2014個のどのメッシュ内に有るかを判断し、所定の計算式によってマーク場所の経緯度を求める。
【0070】
このようにして、調査票で調査した被災場所を地図上で正しく確認することができる。
【0071】
図2を参照して、図1に示す内部メモリ18には、プログラム領域26、データ記憶領域28およびフラグ領域30の各領域が設定されている。プログラム領域26には、たとえばWindows(商品名)のようなOSプログラム260の他、上述の地図操作プログラム261、印刷プログラム262および読取プログラム263が設定されている。ただし、これらの印刷プログラム262および読取プログラム263では必要な場面で地図操作プログラム261のコンポーネントをそのまま利用することがある。データ記憶領域28には、上記各プログラム260‐263の実行の過程まで必要なデータを記憶する。フラグ領域30は、同様に各プログラムの実行の過程で必要に応じてフラグを記憶する。
【0072】
印刷プログラム262は、図3に示すフロー図に従って、地図データベース20に格納されている地図データを読み出し、その地図データを地図画像としてモニタ16上に表示し、その表示した地図画像を処理または操作し、その結果をプリンタ22で印刷するためのプログラムである。地図画像の操作または処理としては、たとえば、拡大/縮小操作、ドラッグ移動操作、プリンタ設定操作、印刷枠設定操作、およびQRコード指定操作などである。
【0073】
読取プログラム263は、後述のようにマークを記入した地図を読み取って、そのマーク位置を測地系データとして特定するためのアプリケーションである。
【0074】
印刷プログラム262が実行されるとき、図3の最初のステップS1において、図4に示すような地図操作GUI32がモニタ16上に表示される。地図操作GUI32は、操作設定領域34と、地図表示領域36とを含む。地図表示領域36は、コンピュータ12が、地図データベース20から読み出した地図画像データに従って地図画像を表示するための領域である。操作設定領域34は、ユーザが、その地図画像を見ながら地図データやプリンタを操作したり、プリンタ設定や印刷枠設定などを行なったりするための操作ボタンなどを表示する領域である。
【0075】
なお、地図印刷操作の終了時にはそのときの地図画像を示す地図データベース20のデータ、たとえば使用レイヤ番号(名称)、表示場所などを示すデータが既定値として図2に示すデータ記憶領域28内に保存される。ステップS1ではその保存データに基づいて地図データベース20から読み出すので、ステップS1では、前回の印刷の終了時の地図画像がそのときの表示位置で表示される。したがって、たとえば一旦中断した同じ地図印刷の作業を簡単に再開できる。
【0076】
このステップS1で地図画像を表示するとき、この地図画像上の特定の位置、たとえば左上角を基準点として、その基準点の経緯度データが同時に地図データベース20から読み出され、メモリ18のデータ記憶領域28に格納される。この基準点の経緯度データは後述の印刷枠指定の際に、印刷枠のたとえば対角の経緯度を特定するために利用される。
【0077】
ただし、このステップS1で地図操作GUI32の地図表示領域36に表示する地図画像は、たとえば後述する住所検索などの方法で、任意の地図画像に変更できることは勿論である。
【0078】
また、この地図操作GUI32の操作設定領域34に含まれる縮尺設定部38をマウス(図示せず)でクリックすると、そのとき使用する地図画像データの縮尺(度)を設定できる。たとえば、縮尺設定部38をクリックした後、キーボード(図示せず)を用いて適宜の数値を入力することによって、任意の縮尺(度)を設定できる。実施例では、設定できる縮尺として、1/425から1/10648までの縮尺を自由に設定できる。
【0079】
操作設定領域34に含まれるスライダ40は、地図表示領域36に表示されている地図画像の縮尺度を変更または設定するために利用され、ユーザは地図画像の縮尺度を変更するとき、操作装置14(図1)のマウス(図示せず)でこのスライダ40を左または右に変位させる。
【0080】
スライダ40が操作されると、図4のステップS3で“YES”が判断され、続くステップS5で表示範囲を拡大または縮小するための処理を実行する。この拡大/縮小処理は、地図表示領域36に表示される地図画像の表示範囲を拡大したり縮小したりするもので、縮尺設定部38で状態のようにして設定した地図の縮尺そのものを変更する所定ではない。
【0081】
具体的には、図5に示す最初のステップS31で、コンピュータ12は、操作装置14に含まれるマウス(図示せず)からの入力を検出することによって、スライダ40が右移動されたかどうか判断する。“YES”が判断されると、コンピュータ12は、続いて、ステップS33において、スライダ40の右移動量に応じて大きくなる表示地図画像の縮尺を再計算する。“NO”が判断されると、コンピュータ12は、ステップS35において、スライダ40の左移動量に応じて小さくなる表示地図画像の縮尺を再計算する。つまり、スライダ40が右へ動かされると地図表示領域36に表示される地図画像の範囲が狭くなり(縮小)、このことは、表示地図画像の縮尺が大きくなることを意味する。左へ移動されたときには、地図表示領域36に表示される地図画像の範囲は広くなり(拡大)、したがって、表示地図画像の縮尺は小さくなる。
【0082】
表示地図画像の縮尺の再計算が終了すると、続くステップS37において、地図表示領域36の中心点を基準点として上下左右に等分に地図画像を拡大または縮小して、地図画像を再表示する。
【0083】
ただし、縮尺設定部38で地図の縮尺そのものを変更すると、地図表示領域36に表示されている地図画像の範囲もそれに応じてリアルタイムに拡大または縮小される。
【0084】
図3のステップS3で“NO”を判断した場合、コンピュータ12は次のステップS7で、ユーザの操作はドラッグ移動かどうか判断する。操作設定領域34に表示されている手アイコン42は、地図表示領域36に表示されている地図画像をドラッグしてスクロール表示するための操作手段であり、表示されている地図画像の任意の場所をドラックできる。ステップS7ではこの手アイコン42が操作されたかどうか判断する。
【0085】
ドラッグ操作では、地図表示領域36全体を上下左右にスクロールするとき、表示されている地図画像の任意のポイントにマウスを当て、マウスを移動すると、地図表示領域36に表示される地図画像もマウスの移動方向へスクロールされる。そして、ユーザは、スクロールの結果表示範囲が刻々と変わる地図表示領域36の地図画像を確認して、所望の移動場所に到達すると左クリックを押した状態を解除(ドロップ)することによって、スクロールを停止する。
【0086】
なお、ドラックおよびドロップによる地図画像のスクロールは、斜め方向スクロールや逆方向へスクロール方向を変える場合に簡単に行なえるので便利であるが、結果的に同じことができるという意味において、ドラッグ移動は、縦横スクロールと同じであり、したがって、ドラッグ移動に代えて縦横スクロールを採用してもよい。
【0087】
ドラッグ移動処理は、ステップS9、具体的には図6に従って実行される。図6の最初のステップS41では、コンピュータ12は、地図表示領域36のスクロール開始点がマウスによって指定されたかどうか判断する。つまり、操作装置14からの入力に従って地図表示領域36中の任意の点においてユーザによってマウスの左クリックがなされたどうか判断する。“NO”の場合には開始点が指定されるのを待つ。“YES”と判断した場合、コンピュータ12は続くステップS43において、操作装置14からの入力に基づいて、ドラッグ操作つまりマウスによる移動操作が行われたかどうか判断する。ステップS43で“NO”が判断されたとき、ドラッグ操作すなわちマウス移動を待つ。ステップS43で “YES”の場合、コンピュータ12は、ステップS45において、マウスの移動方向および移動量に応じて、地図画像をスクロールさせる。
【0088】
次のステップS47でドラック操作が停止されたかどうか判断し、“NO”の場合、ステップS49において、コンピュータ12はさらに、ドラッグ移動によって地図表示領域36の上下左右のいずれかの端に達したかどうか判断する。コンピュータ12は、この判断を、マウスの刻々の移動による座標と地図表示領域36の上下左右端の座標とを比較することによって行なう。ステップS49で“YES”を判断した場合、コンピュータ12は次のステップS51で、地図画像を離して(ドロップして)スクロールを停止させる。つまり、ドラッグが地図表示領域36を越えるときは強制的にドラッグを停止(ドロップ)して、ステップS43に戻る。
【0089】
ユーザは、スクロールの結果、地図画像の表示が希望する移動場所に到達すると、左クリックを押した状態を解除してドラッグ操作を停止する。ステップS47でこのようなドラッグ操作の停止を判断して“YES”を判断すると、コンピュータ12は、続くステップS53で、ステップS51と同様に、地図画像をドロップしてスクロールを停止する。このスクロール操作において地図画像が刻々変化し、基準点(左上角)の経緯度も刻々変化するが、最終的にドロップした地図画像の基準点の経緯度データがデータ記憶領域28に格納されることになる。
【0090】
図3のステップS7での判断が“NO”の場合、次のステップS11でユーザの操作はプリンタ設定の操作かどうか判断する。つまり、操作設定領域34に設定されるプリンタ設定ボタン44が操作されたかどうか判断する。プリンタ設定ボタン44が操作されると、図7に示すプリンタ設定GUI46が地図表示領域36上に重畳表示される。このようなプリンタ設定GUI46はOS260としてインストールされているたとえばWindows(登録商標)で既によく知られたところであり、使用するプリンタの機種、用紙サイズ、印刷方向(縦または横)などを設定する。
【0091】
このプリンタ設定操作はステップS13すなわち図8のフロー図に従って実行されるが、既によく知られたところであり、ここでは簡単に説明する。
【0092】
図8のステップS61で、コンピュータ12は、そのときのプリンタ名、用紙サイズ、印刷方向、給紙方法などの既定値を読み込む。次のステップS63で、コンピュータ12は、操作装置14からの入力に基づいて、それらの規定値に変更が指示されたかどうか判断する。ステップS63での“YES”の判断の後、プリンタの変更指示がステップS65で確認されたら、次のステップS67でその変更後のプリンタ名を登録する。プリンタ変更指示ではなく、ステップS65で“NO”が判断された場合、用紙サイズの変更が指示されたかどうか判断する。“YES”なら、続くステップS71で、コンピュータ12は、変更後の用紙サイズを登録する。ステップS69で“NO”なら、次にステップS73で、印刷方向の変更が指示されたかどうか判断する。“NO”なら、ステップS63で“NO”を判断したときと同じく、そのままリターンする。“YES”なら、ステップS75において、変更後の印刷方向、縦または横を登録する。
【0093】
このようにして、印刷を行うプリンタを選択して登録すると同時に、指定された用紙サイズ(実施例ではA4サイズ(210mm×297mm))および印刷方向(縦または横によって地図印刷時の縮尺の基になる値が変化する。)が登録される。これらのデータもまた、データ記憶領域28(図2)に登録され得る。特に、用紙サイズの縦と横の長さと、印刷するときの縮尺(図3の縮尺設定部38に表示されている)とは、用紙内に印刷できる(入る)実際の距離を計算する上で重要な設定値となる。以下の「印刷枠指定」で詳細を説明する。
【0094】
図3のステップS11で“NO”が判断されたときには、続いてステップS15において、コンピュータ12は、そのときのユーザの操作が「印刷枠指定」かどうか判断する。操作設定領域34に設定される印刷枠指定ボタン48を操作することによって、地図表示領域36に表示されている地図画像上の印刷すべき領域を示す印刷枠を設定することができる。したがって、ステップS15では印刷枠指定ボタン48が操作されたかどうかよって、ユーザの操作が印刷枠指定操作かどうか判断する。なお、印刷枠とは、プリンタ設定操作(図8)で指定された用紙サイズと印刷方向および縮尺設定部38(図4)で設定された縮尺度に基づいて、地図画像上の印刷対象とする領域を枠を用いて表示する、そのような「枠」を意味する。また、後述の印刷操作においては、この枠単位での印刷およびプレビューが行われる。
【0095】
図9または図10に示すように、印刷枠52は、プリンタ設定操作で設定された用紙サイズの1枚の用紙に対する印刷領域を示す枠であり、地図表示領域36の左上角の基準点54を基準として、地図画像上に重畳表示される。図9では1つの印刷枠だけを示すが、印刷枠設定操作においては、印刷すべき地図画像上の領域を何枚の用紙に印刷するかを数値(縦枚数および横枚数)として設定できる。このような枚数設定は、枚数設定窓50において上向き矢印または下向き矢印を操作して増減できる。複数枚印刷が設定されたときには、図10に示すように、複数の(実施例では縦2×横3計6つの)印刷枠52が表示される。そして、以下に詳細に説明する印刷枠指定で登録された各データもまた、メモリ18のデータ記憶領域28(図2)に保存される。
【0096】
図11の最初のステップS81で、コンピュータ12は内部メモリ18のデータ記憶領域28を参照して、印刷枠に関するデータが既に登録されているかどうか判断する。“YES”の場合には後に説明するが、“NO”の場合、次のステップS83で、コンピュータ12は、地図表示領域36の左上角の基準点54の位置データすなわち経緯度(NX,NY)を取得する。この実施例の場合、位置データ(NX,NY)は、前述のステップS1において地図操作プログラム261によって地図データベース20から地図データを読み出すとき、そのプログラム261の1つのコンポーネント(機能)を利用することによって、地図データベース20から取得され、データ記憶領域28に既に格納されている。つまり、地図データベース20では地図画像データのレイヤだけでなくその地図画像の各位置の経緯度のデータを保持する経緯度レイヤを有し、先に説明したように、ステップS1で地図画像データを読み出す際、その地図画像の基準点(実施例では左上角)の経緯度データも併せて読み出すのである。
【0097】
続くステップS85において、コンピュータ12は、次式(1)に従って、1つの印刷枠52に入る地図上の実際の距離を計算する。したがって、このステップS85が実際距離計算手段、つまり、第1距離計算手段を構成する。
[数1]
横の距離=(PX−US)×SS
縦の距離=(PY−LS)×SS
ただし、用紙サイズを(横:PXmm 縦:PYmm)とし、用紙上下の余白合計をUSmm、左右余白合計をLSmmとし、縮尺をSSとする。
【0098】
たとえば、用紙サイズが、横:210mm、縦:297mm(A4)の場合で、用紙上下の
余白合計USを30mm、左右余白合計LSが20mmとし、縮尺を1,000(1/1,000)としたとき、横の距離は、(0.21−0.02)×1000=190メートルとなり、縦の距離は、(0.297−0.03)×1000=267メートルとなる。
【0099】
その後、ステップS87において、コンピュータ12は、印刷枚数が1枚かどうか判断する。図4に示す枚数設定部50の「縦1」が設定されかつ「横1」が設定されているとき、このステップS87で“YES”を判断する。枚数設定部50の「縦」および「横」の少なくとも一方に2以上の数値が設定されているとき、ステップS87で“NO”となる。
【0100】
ステップS87で“YES”を判断したとき、続くステップS89において、コンピュータ12は、1枚印刷のための内部座標上の四角形の印刷枠を決定し、その印刷枠52とページ番号とをユーザレイヤに描画する。ただし、この印刷枠およびページ番号は、地図操作プログラム261のコンポーネントの機能を利用することによって、実行される。
【0101】
詳しくいうと、上述のようにしてステップS85で計算した、1枚の用紙に印刷される地図画像の縦および横の実際の距離から、地図画像の内部座標(経緯度)を変換することによって、1つの印刷枠52の、内部座標上の距離、横AXおよび縦AYが計算できる。したがって、図9のように1つの印刷枠52だけが設定されている場合、ステップS89で、基準点54の位置(NX,NY)を用いて、図9の印刷枠52の左座標、右座標、上座標および下座標を、それぞれ、「NX」、「NX+AX」、「NY」および「NY+AY」として計算し、それに従って印刷枠52を描画する。したがって、1つの印刷枠を設定する場合、ステップS89が、対角の経緯度算出手段として機能するとともに、さらにはその前提となる内部座標距離計算手段、つまり、第2距離計算手段を構成する。
【0102】
図10では、縦2枚、横3枚、計6枚の用紙を用いて印刷する場合を例示しているが、このように複数の印刷枠52を設定する場合、コンピュータ12は、ステップS91において、上述の左座標「NX」および上座標「NY」と、1枚分の内部座標距離「AX」,「AY」に基づいて、各四角形の測地系での上下左右座標を求める。たとえば、図10でページ番号「1」で示す四角形の測地系位置データは、左座標は「NX」、上座標は「NY」、右座標は「NX+AX」、下座標は「NY+AY」で与えられる。
【0103】
同様に、ページ番号「2」で示す四角形の測地系位置データでは、左座標は「NX+AX」、上座標は「NY」、右座標は「NX+2×AX」、下座標は「NY+AY」で与えられる。
【0104】
ページ番号「3」で示す四角形の測地系位置データでは、左座標は「NX+2×AX」、上座標は「NY」、右座標は「NX+3×AX」、下座標は「NY+AY」となる。
【0105】
ページ番号「4」で示す四角形の測地系位置データでは、左座標は「NX」、上座標は「NY+AY」、右座標は「NX+AX」、下座標は「NY+2×AY」となる。
【0106】
ページ番号「5」で示す四角形の測地系位置データでは、左座標は「NX+AX」、上座標は「NY+AY」、右座標は「NX+2×AX」、下座標は「NY+2×AY」となる。
【0107】
ページ番号「6」で示す四角形の測地系位置データでは、左座標は「NX+2×AX」、上座標は「NY+AY」、右座標は「NX+3×AX」、下座標は「NY+2×AY」となる。
【0108】
このようにして、複数枚の用紙に印刷する場合、ステップS91において、左座標「NX」、上座標「NY」、1枚分の内部座標距離「AX」、「AY」に基づいて、各四角形の上下左右座標の測地系位置データを決定し、それに従って各印刷枠およびページ番号をユーザレイヤに描画する。したがって、複数の印刷枠を指定する場合、ステップS91が、各印刷枠の対角の経緯度算出手段として機能し、さらにはその前提となる内部座標距離計算手段、つまり、第2距離計算手段として機能する。
【0109】
上述のように、印刷枠の対角の位置の経緯度を算出する算出手段では、基準点または基準位置が1つの印刷枠の対角の一方に相当するので、基準位置の経緯度に内部座標上の距離を加算することによって、対角の他方の経緯度を算出することができる。ただし、印刷枠が複数の場合、すでに説明したように、1つ目の印刷枠以外の各印刷枠の対角の一方についても、基準位置の経緯度と内部座標上の距離の加算によって算出する必要がある。
【0110】
そして、コンピュータ12は、ユーザが登録指示したとき、たとえば、図4に示す印刷設定保存ボタン58をクリックしたとき、ステップS93で“YES”を判断し、続くステップS95で、たとえば、印刷枠はユーザレイヤにおける図形データとして、ページ番号はユーザレイヤにおけるテキストデータとして、各座標データ(位置データ)とともにデータ記憶領域28に登録する。
【0111】
なお、ステップS81で登録済みのデータを使用する場合は、ステップS97で、その登録済みデータに従って印刷枠およびページ番号を図9または図10のように描画する。このように、登録済みデータを利用できるようにしているため、一旦中断した印刷作業を再開するときなど、同じ地図画像を同じ条件で印刷した地図を容易に取得できる。
【0112】
なお、印刷枠指定処理においては、印刷枠が1つの場合も複数の場合も、移動ボタン53(図9、図10)を操作することによって、印刷枠を移動させることができる。この印刷枠移動処理は、地図操作プログラム261の機能の1つを利用するもので、ユーザがこの印刷枠移動ボタン53をクリックすると、図形移動モードが設定され、図示しないが十字カーソルが画面上に出現し、それを使ってユーザが移動先を確定してクリックすると、その位置に印刷枠が移動する。この場合、移動後の印刷枠の左上角を基準点(NX,NY)として図11の印刷枠指定処理を実行することになる。このとき、印刷枠の左上角が地図画像上の基準点(左上角)とずれることになるが、そのときの印刷枠の左上角の経緯度と地図画像の基準点(左上角)の経緯度とのずれ距離および方向を計算し、基準点からそのずれ方向にずれた点を印刷枠の左上角の経緯度として計算する必要がある。つまり、印刷枠を基準点からずらせる操作をした場合には、そのずれに応じて印刷枠の左上角(実施例では)の経緯度を再計算する必要がある。
【0113】
図3のステップS15で“NO”を判断したとき、ステップS19でコンピュータ12は、ユーザの操作がQRコードの設定操作かどうか判断する。“YES”なら、続いて、ステップS21のQRコード指定処理に進む。この実施例の1つの特徴は、上述のようにして取得した測地系の座標データをQRコードによって地図画像と同時に印刷し、それを地図上の位置を特定するために利用することである。
【0114】
図4のQRコード設定ボタン60をユーザがクリックすると、コンピュータ12はそれに応じて、図12に示すQRコード設定GUI62を、たとえば図4の地図操作GUI32の上に一時的に重畳表示する。
【0115】
QRコード設定GUI62は、QRコードの色を設定する色指定部64、測地系を設定する測地系指定部66および数値形式を設定する数値形式指定部68を含む。色指定部64では、青、赤、緑、黒の4色のうち1色を指定できる。測地系指定部66では、日本測地系か世界測地系のどちらかを指定できる。結果を表示するGISアプリケーションプログラムによって扱える座標系が違うことがあるので、どちらでも指定できるようにしている。数値形式指定部68では、度分秒形式かまたは度形式のどちらかを指定できる。一例として、度分秒形式では「135403964」(東経135度40分39秒64)と表現される測地系座標データは、度形式では「135804824」(東経135.804
824度)と表現される。
【0116】
図13に詳細に示すQRコード設定処理では、まずステップS101およびS103で、コンピュータ12は、ユーザの操作に従って、地図と同時に印刷するQRコードの色を登録し、ステップS105およびS107で、測地系として世界測地系か日本測地系を登録し、ステップS109およびS111で、度分秒形式かまたは度形式のどちらかの数値形式を登録する。このQRコード設定処理のデータもまた、データ記憶領域28に登録され得る。
【0117】
なお、図4に示すプレビューボタン70は印刷プレビューを実行するための操作ボタンであり、このプレビューボタン70をユーザが操作したとき、印刷プレビューが実行される。ただし、この印刷プレビューでは、ステップS17すなわち図11の動作フローに従って設定された印刷枠単位で行われる。
【0118】
図4で操作設定領域34に設定される印刷ボタン72を操作することによって、図3のステップS23において、プリンタ設定操作や印刷枠設定操作で設定された条件に従って、印刷枠毎に地図表示領域36に表示されている地図画像が用紙74(図15)上に印刷される。この印刷処理は具体的には、図14に詳細に示すフロー図に従って実行される。ただし、図14のフロー図の各ステップにおいて言及している具体的数値は、単なる例示であり、これらの数値に拘束されるものではないことを予め指摘しておく。
【0119】
最初のステップS121において、コンピュータ12は、データ記憶領域28(図2)からデータを読み出し、印刷設定操作で登録した左余白、上余白および用紙サイズのそれぞれのデータに基づいて、地図画像の縦横の印刷の長さを決定する。
【0120】
続いて、ステップS123において、コンピュータ12は、先に説明した印刷枠指定操作で計算した各印刷枠52の左上経度、左上緯度、右下経度、右下緯度を、QRコード設定操作で設定した測地系および度分秒形式または度形式に従って、数値データに変換する。ただし、先にも説明したが、印刷枠52の少なくとも対角(左上角と右下角)の経緯度データがあればよいのであり、逆に、印刷枠52の左下経度、左下緯度、右上経度、右上緯度の数値データを用いてもよい。そして、この数値データは、データ記憶領域28に一時保存される。
【0121】
次のステップS125において、コンピュータ12は、図15に示す用紙74の左から10mm、上から11mmの左上角を合わせた縦265mmと横200mmの印刷の長さを有する地図画像を生成する。つまり、この実施例では、ステップS121において、縦265mm×横200mmの印刷長さを決定した。
【0122】
続くステップS127において、コンピュータ12は、用紙74の左から10mm、上から275mmと2mmの余白を開けたエリアにQRコード画像を生成する。このときのQRコード画像は、先にステップS123で変換した左上経度、左上緯度、右下経度、右下緯度のデータを符号化したものである。たとえば、度形式で「1355051019, 347056606,1355098019, 347006450」のような数値がQRコードで符号(画像)化される。
【0123】
ただし、この実施例では、QRコード画像を作成するために、たとえば、http://www.v
ector.co.jp/soft/win95/writing/se359398.htmlで取得可能なフリーウェアを利用した。
【0124】
ステップS129およびS131において、コンピュータ12は、メッシュ用の細線画像を生成する。後にユーザがマークを付与する目印として実施例ではメッシュを地図画像76に重ねて印刷するようにしていて、その個数は、縦横(Wx,Wy)個である。ステップS129では、Wx個のメッシュを形成できる本数の縦の細線の画像を生成し、ステップS131では、Wy個のメッシュを形成できる本数の横の細線の画像を生成する。このメッシュの数(Wx,Wy)はメモリ18のデータ記憶領域28の所定のレジスタに設定されている。この実施例では、一例として、ステップS129で縦の細線の画像を、用紙74の左10mmを基点に5mm間隔で、上から11mmの位置から276mmの位置まで39本生成する。ステップS131では、上から11mmを基点に5mm間隔の横の細線の画像を、左から10mmの位置から右200mmの位置まで54本生成する。したがって、この実施例では、合計2014(=38×53)個のメッシュが地図画像上に重畳して形成される。
【0125】
これらの生成画像はたとえばビットマップ印刷データとしてデータ記憶領域28に一時記憶され、次のステップS133において実行される印刷ステップで、図15に示すように、用紙74上に印刷される。
【0126】
ただし、この実施例では、上記の印刷処理およびプレビュー処理に関しては、地図操作プログラムの他にDelphiのフリーウェア(http://mrxray.on.coocan.jp/)にあるプレビュー制御およびプリンタ設定コンポーネントを、一部のソースコードを修正しながら使用している。
【0127】
図15を参照して、用紙74上に、上で例示した縦横印刷長さで地図画像76が印刷されていて、この地図画像76の下方の、上で例示した位置にQRコード78が、QRコード設定操作データ設定した色で、印刷される。なお、地図画像76は、図15に示すモノクロ画像であっても、カラー画像であってもよい。ただし、カラー画像の場合には、マークの識別を確実にするために、ユーザが後に記入することになるマーク102の色と明瞭に識別可能な色の単色で印刷されることが望ましい。
【0128】
地図画像76に重畳されて縦横においてそれぞれ一定間隔の細線が多数印刷されているのが図15に示されているが、これら縦横の細線によって、多数の(実施例では2014個の)メッシュ80が形成される。これらのメッシュ80は、この地図中にマークを記入する際の位置指定の機能を果たす。つまり、これらのメッシュのいずれかにマークを記入することによって、後述の読取プログラムの実行において、そのマークを記した場所を経緯度数値で特定する。
【0129】
なお、図15に示す実施例では、地図画像76の下方で、QRコード78の右方に、地図番号81が印刷され、さらに右に、調査IDを記入するID記入欄82が印刷されている。地図番号81は地図画像を個別に識別するための番号であり、ユーザによって任意に設定可能である。特に、QRコードが読めない場合などにおいて、地図番号を、地図の切り出し位置を確定させるための情報として印刷しておくことも考えられる。また、この実施例の地図が被災調査に使われることを想定しているため、その調査票(図示せず)に予め設定しているIDを記入欄82に記入することになる。たとえば、地図と調査票が別々の用紙に印刷されている場合に、調査票(図示せず)に印刷されているQRコードの内容を手書きで書くことなどを想定している。
【0130】
なお、上で説明した実施例では、地図データベース20から読み出した地図画像データに従って地図操作GUI32の地図表示領域36に地図画像を表示し、その左上角を基準点54として印刷枠を設定する設定方法を説明した。しかしながら、この実施例では、住所表記に基づいて所望の地図データを検索することもできるので、次に住所検索の方法について説明する。
【0131】
住所検索をする場合には、図示していないが、たとえば図3の印刷枠指定処理(ステップS15,S17)を住所検索処理に変更すればよい。
【0132】
たとえば、図4の地図操作GUI32の操作設定領域34に設定されている住所検索/大字枠ボタン84を操作することによって、ユーザは住所検索による印刷枠、すなわち大字(おおあざ)枠の設定を選択できる。したがって、たとえば、ステップS15でコンピュータ12がユーザによるこのボタン84の操作があったかどうかを検出し、ボタン84の操作を検出したことに応じて、ステップS15で“YES”を判断し、図16に示す住所検索GUI86を表示してステップS17において住所検索による印刷枠設定処理を実行すればよい。
【0133】
ユーザが住所検索/大字枠ボタン84を操作することによって、住所検索での印刷枠設定操作が選択されたとき、図16に示すように、地図操作GUI32の地図表示領域36に重畳的に、住所検索GUI86が表示される。この住所検索GUI86は地図操作プログラム261に含まれるコンポーネントであり、ここではこれをそのまま利用する。住所検索GUI86には、都道府県を選択または指定するための都道府県欄88、市区町村を選択または指定するための市区町村欄90を含む。大字(おおあざ)を指定するための大字欄92および字(字丁目)を指定するための字丁目欄94では、市区町村欄90に表示された市区町村内で選択できる大字および字丁目がプルダウンメニューの形式で表示されるので、ユーザはそれらを任意に指定する。
【0134】
図17の最初のステップS141では、コンピュータ12は、地図データベース20に地図データが格納されていて、それゆえに選択可能な都道府県名のデータを地図データベース20から抽出する。続くステップS143で、その都道府県名を都道府県欄88に一覧表示する。つまり、そのとき利用可能な地図データの都道府県名の一覧を取得して表示する。この実施例では、地図操作プログラム261を利用して、地図画像データの属性データも含まれている地図データベース20から取得することができる。
【0135】
ただし、地図データベース20内にある地図データが1つの都道府県だけの場合該当の都道府県が自動的に都道府県欄78に表示される。
【0136】
そして、ユーザは、その都道府県一覧から所望の都道府県名をクリックすることによって選択または指定するが、コンピュータ12は、ユーザが都道府県を選択したことをステップS145で検知し、その後、ステップS147およびS149を実行して、地図データベース20に地図データが格納されている、選択可能な市区町村名のデータを抽出して市区町村欄90に一覧表示する。ただし、地図データベース20内にある地図データが1つの市区町村だけの場合、該当の市区町村が自動的に市区町村欄90に表示される。
【0137】
ユーザは、その市区町村一覧から所望の市区町村名をクリックすることによって市区町村を選択または指定する。そのことがステップS151で検知される。したがって、コンピュータ12は、続くステップS153およびS155を実行して、指定した市区町村の大字名を抽出して大字欄92に一覧表示する。
【0138】
ユーザによって1つの大字が指定されると、そのことがステップS157で検知される。コンピュータ12は、続くステップS159において、指定された大字に対する字丁目を抽出し、街区と地番を検索し、字丁目欄84に表示する。
【0139】
上述のようにしてユーザが所望の大字を指定すると、コンピュータ12は、ステップS161においてその大字に対応する住所ポリゴン(地図画像データ)およびその住所ポリゴンの基準点(たとえば、各頂点)の経緯度データを地図データベース20から抽出し、ステップS163で図18に示す住所ポリゴン96を地図表示領域36に表示するとともに、その住所ポリゴンの基準点の経緯度データをデータ記憶領域28に格納する。
【0140】
たとえば、大字欄92の大字一覧の選択箇所でユーザがマウス(図示せず)をシングルクリックすると、シングルクリックに応答して、コンピュータ12は、該当する字丁目一覧を地図データベース20から取得して字丁目欄94に一覧表示するが、大字欄92における大字一覧の選択箇所でユーザがマウスをダブルクリックすると、ダブルクリックに応答して、コンピュータ12は、該当する大字の部分の図形情報(地図ポリゴン)96を地図データベースから取得する。この地図ポリゴンの部分に地図の表示を移動させて、地図ポリゴン96の色表示をたとえば青に変更する。
【0141】
なお、地図データベース20には、都道府県、市区町村、大字および字丁目の住所ポリゴンから構成される行政界ポリゴンデータが含まれている。そして、各住所ポリゴンは、ポリゴンの形状を示す各頂点情報、住所の名称を示す行政名、代表座標などのデータから構成される。たとえば、図18に示される地図ポリゴン96には、地図ポリゴン96の形状を示す各頂点情報、大字の名称を示す行政名、地図ポリゴン96を代表する位置の代表座標などが含まれる。そのため、ステップS161では、地図ポリゴン96の基準点の経緯度データ、つまり各頂点情報を地図データベース20から抽出することができる。
【0142】
その後、ステップS145で、大字印刷枠の表示処理を実行する。この大字印刷枠表示処理は、詳しくは、図19および図20に示すフロー図に従って実行される。
【0143】
図19の最初のステップS171で、コンピュータ12は、図18の大字ポリゴン96から、図21に示すこのポリゴン96の各頂点情報(X,Y)群を一覧として取得する。ただし、この頂点情報は、地図操作プログラム261の機能によって上述のように住所ポリゴンを読み出す際に同時に読み出され、メモリ18に記憶されるものである。そして、コンピュータ12は、これらの頂点情報に基づいて、図22に示す印刷枠としての四角形98の各角の座標を決定する。四角形98は、大字ポリゴン96を余すところなく包含する必要があるので、大字ポリゴン96の外接の四角形であり、図22に示すように、四角形98の左座標は頂点情報群のX軸の最小値(LX)となり、右座標は頂点情報群のX軸最大値(RX)となり、上座標は頂点情報群のY軸最小値(LY)で与えられ、下座標は頂点情報群のY軸最大値(RY)となる。
【0144】
頂点情報群のX軸最小値=四角形の左座標(LX)
頂点情報群のX軸最大値=四角形の右座標(RX)
頂点情報群のY軸最小値=四角形の上座標(LY)
頂点情報群のY軸最大値=四角形の下座標(RX)
その後、この四角形98の内部座標における縦の距離AYおよび横の距離AXを先の図11のステップS85と同様にして、ステップS173で、プリンタ設定操作で指定した用紙サイズと縮尺設定部で設定した縮尺に基づいて計算して、データ記憶領域28に保存する。
【0145】
ステップS175において、コンピュータ12は、図22に示す印刷枠の基図としての四角形98を想定し、この四角形98のX軸の距離をWとし、Y軸の距離をHとして数2に従って設定する。
[数2]
W=RX−LX
H=RY−LY
ステップS177において、コンピュータ12は、整数演算を行なって、横方向に必要な枠数NeedXを計算する。つまり、ステップS175で計算した四角形98の横方向距離WをステップS173で計算した横方向距離AXで割り(ステップS177)、ステップS179において、余りW mod AXがあるかどうか判断し、“NO”のときには、その整数演算の商をそのまま横方向必要枠数NeedXとして登録する。ステップS179で“YES”を判断したときには、ステップS181において、必要枠数NeedXをNeedX+1として登録する。
【0146】
そして、ステップS183において、コンピュータ12は、同様の整数演算を行なって、縦方向に必要な枠数NeedYを計算する。つまり、ステップS183で、四角形98の縦方向距離Hを縦方向距離AYで割り、ステップS185において、余りH mod AYがあるかどうか判断し、“NO”のときには、その整数演算の商をそのまま縦方向必要枠数NeedYとして登録し、“YES”のときには、ステップS187において、必要枠数NeedYをNeedY+1として登録する。
【0147】
ただし、発明者等の実験では、ほとんどの場合余りが存在した。
【0148】
このようにして、印刷枠の必要枠数NeedXおよびNeedYが計算できるが、続くステップS189において、コンピュータ12は、余白の長さを計算する。テキスト編集でいう「センタリング」と同じ考え方で、選択した大字がちょうど真ん中に位置するように、各印刷枠における余白を調整する。つまり、ここでいう「余白」とは、図23に示すように、大字ポリゴン96の外接四角形98を中心に配置できる、実際の印刷枠100との差分を意味する。
【0149】
まず、必要枚数NeedXおよびNeedYから余白部分の長さは、以下の数3で示す方法で算出できる。
[数3]
X軸方向の余白の内部座標上の距離(YohaX)=(LX+(AX*NeedX))-RX
Y軸方向の余白の内部座標上の距離(YohaY)=(LY+(AY*NeedY))-RY
X軸の余白YohaXについてみると、四角形98のX軸最小座標LXと最大座標RXとの間に各々がX軸長さAXを有する枠数NeedXの印刷枠を配置したときの余白である。Y軸の余白YohaYは、四角形98のY軸最小座標LYと最大座標RYとの間に各々がY軸長さAYを有する枠数NeedYの印刷枠を配置したときの余白である。
【0150】
そして、これらの余白YohaXおよびYohaYの長さをそれぞれ半分にして、マイナス方向(図24における左上方向)に基準点をずらせば、選択した大字96を印刷枠100の中心に配置することができる。余白調整後の新しい基準点は、数4のようにして計算できる。[数4]
新しい基準点X座標(NX)=LX-(YohaX/2)
新しい基準点Y座標(NY)=LY-(YohaY/2)
このようにして、新しい基準点座標(NX,NY)を計算した後、ステップS193において、図25に示す印刷枠100の画像を生成してユーザレイヤに描画(表示)する。この印刷枠100を設定することによって、ユーザが選択した大字の地図が印刷枠100の中に全体としてセンタリングされて、先の図15に示したように、各印刷枠内に印刷され得る。
【0151】
ユーザは、図15に示すように用紙74の上に印刷された地図画像76に重畳印刷された、たとえば2014個のメッシュ80中の任意の1つに手書きでマーキングを行う。つまり、ユーザは、印刷された地図に対して認識させたい位置情報(経緯度)を手書きによるマーク(赤色ペンなど地図印刷色とは違う色で)を付与する。
【0152】
そして、以下に説明する読取処理によって、そのようにマーキングを行った座標とQRコードで示す紙地図の座標から測地系に則した変換を行ない、マークが付与された位置(座標)の経緯度を算出する。つまり、先の地図印刷処理によって印刷した地図に対して、赤などのマークをつけた地図をイメージリーダで読取り、QRコードおよび地図に記されたマークの位置を検出する。そのQRコードに埋め込まれた地図の左上と右下の座標である経緯度に基づいて、マークが付与されたメッシュ80(図15)の位置をGISデータとして利用する経緯度へ変換し、変換結果をCSV形式等のデータとして外部へ出力する。
【0153】
したがって、地図すなわち用紙の読取りに際して、読取るコンピュータにはGISデータベースなどの地図データがなくてもマーク付与位置の経緯度への変換が可能である。つまり、従来のGISデータベースを元に地図データの入力等を行うシステムに対して、この実施例のシステムではデータベースを各コンピュータなどの端末に設定する必要がないという利点がある。
【0154】
また、変換された座標データはCSV形式等のテキストファイルやその汎用的な商用データに変換することができ、さらには、利用に際してGISデータベースを必要としないので、変換されたGISデータについてはインタネットで利用できるネットワーク型地図システムも構築できる。
【0155】
読取処理の基本動作が図26のフロー図に示されるが、この読取処理のために、まず、ユーザは図27のように地図画像76およびQRコード78が印刷された用紙74をスキャナ24(図1)の読取り位置にセットする。その地図画像中に赤などのマーク102がどれか1つのメッシュの中に記されていることが前提である。
【0156】
図26の最初のステップS201では、図28に示す読取GUI104をモニタ16(図1)に表示する。この読取GUI104は、右側の真ん中やや下部に表示される、取込ボタン106を含む。この取込ボタン106は、スキャナ24を起動して読取り位置にセットされている用紙74のスキャンを開始させるためのボタンである。読取GUI104の左半分はイメージ表示領域108であり、このイメージ表示領域108には、スキャナ24で読取ったイメージ(用紙74上の地図画像やQRコードなどの)をそのまま表示するための領域である。
【0157】
読取GUI104の右側上部にはQRコードデータ表示領域110が設けられ、このQRコードデータ表示領域110には、左側の上下2つの表示部によって、QRコードに埋め込まれた、地図の左上角の経緯度の数値が表示され、右側の上下2つの表示部によって、地図の右下角の経緯度の数値が表示される。
【0158】
そのQRコードデータ表示領域110の下方には、地図番号表示部112および調査番号表示部114が形成される。地図番号表示部112は、現在読取っている地図に付与された固有番号を表示する。調査番号は、調査票に手書きで付与された番号であり、表示部114にはスキャナ24すなわちコンピュータ12で読み取ったその番号が表示される。
【0159】
調査番号表示部114と前述の読取ボタン104との間に、座標位置表示部116が形成される。この座標位置表示部116は、スキャナで読取った、ユーザが赤色ペンでマーク102(図27)を付与したメッシュの座標位置を示す数値を表示する。
【0160】
用紙74をスキャナ24にセットして、ステップS201でこのような読取GUI104を表示した後、コンピュータ12は、ステップS203において、読取GUI104に形成されている取込ボタン106がユーザによって操作されたかどうか判断する。そして、このステップS203で“YES”を判断すると、続くステップS205でスキャナ24を作動させて1枚の用紙をスキャンし、それによって取得したイメージを読取GUI104のイメージ表示領域108に表示する。ただし、このイメージ表示領域108に表示したイメージは、図26に示す処理が終了するまで、メモリ18のデータ記憶領域28(図2)に設定されているイメージバッファ(図示せず)に一時的に保存される(ステップS207)。また、イメージ表示領域108に表示したイメージは、ユーザが拡大/縮尺
ボタン(図示せず)を操作することによって、自由に拡大または縮小表示することができる。
【0161】
続いて、コンピュータ12はステップS209において、マーク位置認識処理を実行する。マーク位置認識処理は具体的には、図29に示すフロー図を実行することによって達成される。
【0162】
図29の最初のステップS221およびS223を実行して、コンピュータ12は、ユーザが付したマーク102(図27)を認識する。認識できたときはステップS225に進んで、コンピュータ12は図30に示すマーク位置(Rx,Ry)をメモリ18のデータ記憶領域28(図2)のマーク位置レジスタ(図示せず)に保存する。“NO”の場合、そのマーク位置レジスタにマーク位置として「Null」を書き込む。
【0163】
なお、マーク位置は、地図画像に重畳印刷されたメッシュの位置を表すもので、経緯度の座標位置ではない。そして、左上のメッシュを(1,1)として縦横の何番目のメッシュかを示す数値をマーク位置(Rx,Ry)として記憶する。
【0164】
図26のステップS211に戻って、コンピュータ12は、図31で詳細に示すQRコード認識処理を実行する。
【0165】
図31の最初のステップS231およびS233を実行して、コンピュータ12は、QRコード78(図27)を認識する。認識できたときはステップS235に進んで、コンピュータ12は、測地系に対応した経緯度、つまり図30に示す左上座標(Ax,Ay)と右下座標(Bx,By)をメモリ18のデータ記憶領域28(図2)の経緯度座標レジスタ(図示せず)に保存する。“NO”の場合、その経緯度座標レジスタに経緯度座標として「Null」を書き込む。
【0166】
図26の続くステップS213において、コンピュータ12は、先のステップS209およびS211においてともに、エラーがなかったかどうか、つまり2つのステップS209およびS211で「Null」がいずれかのレジスタに書き込まれなかったかどうか判断する。エラーがなかったと判断したら、次のステップS215で、座標変換処理を実行する。座標変換処理は、具体的には、図32で示すフロー図によって達成される。
【0167】
図32の最初のステップS241において、コンピュータ12は、図31のQRコード認識処理で取得した図30に示す左上座標(Ax,Ay)と右下座標(Bx,By)をデータ記憶領域28の経緯度レジスタから読み出す。続いて、メッシュ位置取得手段として機能するステップS243で、図29のマーク位置認識処理で取得した図30のマーク位置(Rx,Ry
)をデータ記憶領域28のマーク位置レジスタから読み出す。
【0168】
ステップS245で、コンピュータ12は、地図画像76上に印刷されたメッシュの縦横の数(Wz,Wy)をデータ記憶領域28の所定のレジスタから読み出す。続いて、ステップS247で、数5に従って、ユーザがマークしたメッシュのX座標を次式で計算し、次のステップS249で、そのマーク位置のメッシュのY座標を次式で計算する
たとえば、右下のX座標Bxから左上のX座標Axを引くことによって、地図画像全体のX方向長さが計算でき、そのX方向長さをX方向のメッシュ数Wxで割る((Bx-Ax)÷(Wx))ことによって、1つのメッシュのX方向長さが計算でき、それにマーク位置Rxを掛けると、そのマーク位置のメッシュのX方向の測地系の数値すなわち経度が求まる。その経度を左上の座標Axに加えることによって、マークを付したメッシュの経度となる。
【0169】
右下のY座標Byから左上のY座標Ayを引くことによって、地図画像全体のY方向長さが計算でき、それをY方向のメッシュ数Wyで割る((By-Ay)÷(Wy))ことによって、1つのメッシュのY方向長さが計算でき、それにマーク位置Ryを掛けると、そのマーク位置のメッシュのY方向の測地系の数値すなわち緯度が求まる。その緯度を左上の座標Ayに加えることによって、マークを付したメッシュの緯度となる。
[数5]
X座標=Ax+((Bx-Ax)÷(Wx))×Rx
Y座標=Ay+((By-Ay)÷(Wy))×(Wy-Ry)
このようにして、ステップS249で、GISデータに対応した経緯度である(X,Y)を確定する。
【0170】
ただし、図26のステップS223で“NO”が判断されたとき、つまり、マーク位置およびQRコードのいずれかの認識に失敗したとき、マーク位置および/またはQRコードに対してエラー値を設定する。そして、このようなエラー値が設定されると、ユーザは、画像認識の結果エラーと判断されたページを呼び出してマーク位置および/またはQRコードの訂正入力を行うことができる。
【0171】
なお、図26のステップS215すなわち図32のステップS251で確定した経緯度のデータを1レコードとしてCSVファイルで出力する。
【0172】
このようにして、図27に示すようにマーク102を記入した地図用紙74をスキャナ24によって読取ることによって、そのマーク位置をGISデータとして読取ることができる。
【0173】
ただし、上述の実施例ではマーク102はどれか1つのメッシュ中に記入できるだけなので、ユーザは地図画像中の1点をマーキングできるに過ぎない。そこで、以下の実施例では、地図画像中において、たとえば図33に示すように、面積を持った地域をポリゴン102aとして指定できるようにする。このように、地図上で領域をポリゴンとして指定できるようにすれば、たとえば災害調査において、被害地域を示すポリゴンと(地図データの)人口レイヤとを組み合わせることによって、被害推定が可能である。また、浸水地域を示すポリゴンと家屋レイヤとを組み合わせることによって、浸水家屋数を推定することができる。
【0174】
図33に示すポリゴン102aを取り出して図34に示すが、この図34において、塗りつぶされたメッシュが図解され、外側の濃いメッシュが輪郭を示す。ただし、この図34では、簡単のために、各メッシュの座標は実際の経緯度の座標ではなく、縦38個横53個のメッシュ番号として図解している。なお、ユーザは、このポリゴン102aを記入するとき、先のマーク102のときと同様に、地図画像を印刷している色(たとえば黒)とは明確に区別できる色(たとえば赤)で、ポリゴン102aを塗りつぶすものとする。
【0175】
図35の読取処理プログラムでは、ユーザがマーク102で1つのメッシュを指定した場合、またはポリゴン102aで複数のメッシュにまたがった領域を指定した場合のいずれにも対処できるようにしている。ただし、マーク102か、ポリゴン102aのどちらか一方しか1枚の印刷地図上に記入することはできないものとする。つまり、1点を指定するか地域または領域を指定するかしかできない。
【0176】
図35この読取処理のために、まず、ユーザは図27のようにマーク102を記入した地図画像76およびQRコード78が印刷された用紙、または図33のようにポリゴン102aを記入した地図画像76およびQRコード78が印刷された用紙をスキャナ24(図1)の読取り位置にセットする。
【0177】
そして、ステップS251‐S257では、図26のステップS201‐S207と同様の処理を実行し、読み取ったイメージデータをイメージバッファに一時的に保存する。その後、ステップS211と同様に、図31に詳細に示すQRコード認識処理を実行して、QRコードから、座標計算のための、地図画像の対角2点の座標データを取得する。
【0178】
続くステップS261において、コンピュータ12は、イメージバッファに保存されているイメージデータを見て、図27のようなマーク102が記入されているかどうか判断する。もしこのステップS261で“YES”を判断したら、コンピュータ12は、続いて、先に説明した図26のステップS209およびS215と同様の、かつ図29および図32にそれぞれ詳細に図示されている、ステップS263およびS265を実行して、そのマーク102の記入されている経緯度のデータを取得し、ステップS267でその座標データをデータ記憶領域28(図2)に記憶する。
【0179】
ステップS261で“NO”を判断したときには、コンピュータ12は、地図画像上には図33に示すようにポリゴン102aが記入されていると判断して、次のステップS269に進む。このステップS269では図34に取り出して示すポリゴン102aの外郭の座標を計算するための処理を実行するが、それの詳細が図36のフロー図に示される。
【0180】
図36の最初のステップS281では、図35のステップS259で取得した対角の座標に基づいて、先の数3に従って、ポリゴン102aを形成する全てのメッシュの座標を計算してデータ記憶領域28に保存する。
【0181】
そして、次のステップS283で、コンピュータ12は、取得した各メッシュの座標においてX方向の最大値および最小値(Xmaz, Xmin)ならびにY方向の最大値および最小値(Ymax,Ymin)を取得する。
【0182】
続くステップS285において、コンピュータ12は、全てのメッシュの座標においてX方向の最小値から最大値に対するY方向の最大値と最小値を取得する。図34を参照して、まず、全メッシュの内X方向最小値は、「10」であり、最大値は「21」である。X=10にはY方向に3つのメッシュがあり、それの最小値は「9」で、最大値は「11」である。次のX=11には最小値「8」から最大値「12」まで5つのメッシュがY方向に配列されている。このようにして、各X位置に対するY位置の最小値および最大値を求めると、その結果は表1のようになる。
【0183】
【表1】

【0184】
次のステップS287において、コンピュータ12は、全てのメッシュの座標においてY方向の最小値から最大値に対するX方向の最大値と最小値を取得する。図34の例では、Y方向最小値は、「5」であり、最大値は「15」である。Y=5の位置にはX方向に3つのメッシュがあり、それの最小値は「15」で、最大値は「17」である。次のY=6の位置には最小値「14」から最大値「18」まで5つのメッシュがX方向に配列されている。このような各Y位置に対するX位置の最小値および最大値を求めると、その結果は表2のようになる。
【0185】
【表2】

【0186】
続くステップS289において、コンピュータ12は上記表1および表2の結果に基づいて、ポリゴン102aの外郭の座標を抽出する。具体的には、取得された全ての座標から重複している座標を排除すると、外郭の座標を抽出できる。たとえば、表1に従うと、外郭を形成するメッシュの座標は、(10,11)、(10,9)、(11,12)、(11,8)、(12,13)、(12,8)…となり、表2に従うと(17,5)、(15,5)、(19,6)、(14,6)…となる。そして、このよう
な外郭メッシュ座標のデータはデータ記憶領域28に保存される。
【0187】
その後、図35のステップS271に進んで、図37に詳細に示すポリゴン計算処理を実行する。
【0188】
図37の最初のステップS291で、コンピュータ12は、ステップS289で取得した外郭座標の中で、(X,Y)が最小値である座標を探す。図34の実施例でいえば、(10,9)である。そして、次のステップS293において、ステップS295で開始点のメッシュを検出するまで、最小座標を開始点として、それより右方向に外郭座標をみつける。最小値座標が(10,9)であるとして、次の右方向外郭座標は(11,8)となり、その次は(12,8)となる。以下同様にして、(10,10)まで検索すると次は、(10,9)の開始点となるので、ステッ
プS295で“YES”が判断され、処理は次のステップS297に進んで、検索した外郭座標で囲まれたポリゴンのポリゴンデータを生成する。上述のようにして、外郭を形成する全てのメッシュの座標が分かるので、その外郭メッシュ座標を先に図32のフロー図で説明した座標変換と同じ手法で、QRコード78を解読した結果の印刷枠の特定の位置の経緯度に基づいて、経緯度データに変換することによって、ポリゴンデータが生成できる。つまり、ポリゴンデータとは、領域を示すポリゴン102aの外郭を形成する全てのメッシュの経緯度データの羅列を含むデータ群である。
【0189】
このようにして生成したポリゴンデータは、他の地図データ(レイヤ)とを組み合わせて処理(たとえば、論理積の態様で)することによって、被災地域を推定したりするのに役立つ。
【0190】
図15に例示する地図はたとえば、図38または図39に示す調査票の一部として利用され得る。
【0191】
図38の実施例では、震災後の倒壊家屋の状態や位置を調査する用途に使用される調査票118を示し、この調査票118は用紙74上に印刷される。用紙74の左側にはテキスト印刷部120が形成され、そのテキスト印刷部120には図時は省略するが、対象者の氏名や住所などの所定項目の他、倒壊家屋調査に必要な質問事項や、調査した人員を示す調査員名記入欄などが適宜形成される。さらに、このテキスト印刷部120には、調査番号(ID)を手書きで記入するための調査ID記入欄82aが形成される。用紙74の右側に地図印刷部122が形成され、その地図印刷部122に、先に図15で例示した地図画像76やQRコード78などを印刷している。テキスト印刷部120の調査ID記入欄82aは、地図印刷部122に形成された調査ID記入欄82bと対をなし、調査員はこの2つの記入欄82aおよび82bには同じ調査IDを記入する。
【0192】
なお、この調査票118をプリンタ22(図1)で印刷するためには、テキスト印刷部120に必要なテキストデータを入力して所定の形式に調整する必要があるが、そのような手段としては、MS WordやExcel(両方ともマイクロソフト社の商品名)のような、アプリケーションを利用すればよい。
【0193】
また、先に説明したプリンタ設定では用紙サイズとして「A4」を想定していたので、この調査票118を「A3」サイズの用紙に印刷する場合には、印刷方向を変更する以外に地図印刷のための余白などの設定を特に変更する必要はない。地図が印刷されるのはA3用紙の右半分のA4サイズの部分であるからである。その場合、テキスト印刷部118もA4サイズのための印刷設定がそのまま利用できる。
【0194】
ただし、調査票118のサイズがA3以外の場合、たとえばA4であるとき、テキスト印刷部120も地図印刷部122も半分のA5サイズになるので、A4サイズで設定した印刷設定をその用紙サイズに合わせる変更が必要になる。
【0195】
図39に例示する調査票118は、各戸別の被害状況を調査するよりむしろ、或る程度の面積の地域(エリア)の被害状況を調査するのに好適する。したがって、この実施例の調査票118のテキスト印刷部120には、広がりを持つ災害、たとえば土砂災害、火災、あるいは浸水被害などを調査できる項目が印刷されている。地図印刷部122には図38の調査票と同様の地図76やQRコード78などが印刷される。
【0196】
図39の調査票118を用いた場合、被災地域はポリゴン102aとして地図画像76上に記入される。その調査票を読取って、地図データベース20に含まれる地図データの1つである人口レイヤや家屋レイヤと照合することによって、その地域における被災の程度(人的または家屋など)を把握することができる。
【0197】
さらに、図38および図39の調査票は単なる例示であり、その他に、発生場所を特定する必要がある犯罪被害調査のための調査票などが考えられる。
【0198】
これらの調査票118を利用して災害調査などを実施すれば、被災箇所や被災場所を正確に特定できるという利点がある。
【0199】
図40の実施例では、地図操作GUI32の他の一例を示し、4ページ分の印刷枠52が地図表示領域36に重畳されて表示されている。図40を参照して、地図操作GUI32の操作設定領域34aには、印刷枠指定ボタン48にかえて印刷枠設定ボタン48aが表示される。また、この印刷枠設定ボタン48aが操作されると、印刷枠設定GUI124が地図表示領域36に重畳するように表示される。印刷枠設定GUI124には、縮尺設定部38aおよび枚数設定窓50aなどと共に、印刷枚数設定ボタン126が表示される。そして、この印刷枚数設定ボタン126は、ページ毎に印刷する紙の枚数を設定するためのボタンである。
【0200】
図41は、印刷枚数設定ボタン126が操作されたときに表示される印刷枚数設定GUI128を示す。また、印刷枚数設定GUI128には、図40に示したページの枚数指定部130a−130dが表示される。たとえば、2ページのみを2枚印刷し、残りの1,3,4ページを1枚印刷する場合には、枚数指定部130bに「2」が入力され、他の枚数指定部130a,130b,130cに「1」が入力される。そして、設定ボタン132が操作された後に、印刷枠設定GUI124の印刷実行ボタン70が操作されると、設定されたとおりに各ページが印刷される。つまり、2ページ目のみが2枚印刷され、他のページは1枚ずつ印刷される。また、キャンセルボタン134が操作された場合には、各枚数指定部130に入力された結果は反映されず、印刷実行ボタン70が操作されても、全てのページが1枚ずつ印刷される。
【0201】
このように、任意のページにおいて、印刷される枚数が個別に指定できるため、ユーザの利便性が向上する。
【0202】
なお、操作設定領域34aには、縮尺設定部38、プリンタ設定ボタン44、移動ボタン53、枚数設定窓50および印刷ボタン72が表示されていないが、これらのボタンは印刷枠設定GUI124に表示される。また、符号によって示していないが、操作設定領域34aには、地図表示領域36に表示されている地図画像そのものを拡大縮小するキーがさらに表示される。さらに、印刷枠設定GUI124には、図38に示す調査票118の左側に差し込まれる画像を指定するボタンや、その差し込み位置を指定するラジオボタン、調査票118に付与される連番の開始位置を指定する入力枠、設定した印刷枠を新たに作成するボタン、設定した印刷枠を削除するボタン、既に記憶された印刷枠の設定を読み出すボタン、既に記憶された印刷枠の設定を削除するボタンなどがさらに表示される。
【0203】
図42の実施例では、印刷された地図の他の一例を示し、地図画像76aは図15と同様に用紙74上に印刷される。この実施例では、地図画像76aの周囲には、メッシュの座標位置を容易に視認できるようにするために、メッシュの座標の1の位の数値が記述される。さらに、地図画像76aには、左上の角に第1QRコード78aおよび右下の角に第2QRコード78bがそれぞれ、重畳された状態で印刷される。
【0204】
図43(A)を参照して、左上角K1において、第1QRコード78aの左上角は、地図画像76aの左上角と一致する。また、図43(B)を参照して、左上角K1の対角である右下角K2において、第2QRコード78bの右下は、地図画像76aの右下と一致する。つまり、地図画像76aの対角の頂点のそれぞれには、第1QRコード78aの角および第2QRコード78bの角が一致するように印刷される。そして、第1QRコード78aおよび第2QRコード78bは、経緯度部136に示される経緯度が符号化されている。つまり、複数のQRコードを地図画像76aに重畳することで、QRコードを復号する処理の信頼性を向上させている。
【0205】
なお、この実施例では、地図画像76aおよび2つのQRコードに対応する画像データを、プリンタ22に内蔵される印刷用メモリ(図示せず)に転送するときに、各画像データの印字位置を一致させることで、2つのQRコードと地図画像76aとの角を一致させている。つまり、2種類の画像データの印字位置を一致させることで、2つのQRコードと地図画像76aとの角が一致する画像を印刷する。また、印刷用メモリとは、印刷される画像データの各画素を、ラスタスキャン方向に対応させて格納するメモリである。つまり、印刷用メモリの読出開始位置が画像データの左上に対応し、読出終了位置が画像データの右下に対応する。したがって、印字位置を一致させる場合には、第1QRコード78aに対応する画像データは、左上の画素が印刷用メモリの読出開始位置と一致するように転送され、第2QRコード78bに対応する画像データは、右下の画素が印刷用メモリの読出終了位置と一致するように転送される。
【0206】
このように、レイヤを多用せずに2種類の画像データを重畳させて印刷することで、メモリ18の使用率を抑えることができ、コンピュータ12の処理速度の低下を防止することができる。特に、大量に地図を印刷する場合には、上記効果が発揮される。
【0207】
また、大容量のメモリ18を用いることで、レイヤを利用して、2つのQRコードと地図画像76aとの角を一致させてもよい。この場合には、大きさが同じ2つのレイヤを設定し、背面のレイヤに地図画像を描画し、前面のレイヤに2つのQRコードを描画する。そして、前面のレイヤにおいて第1QRコード78aの角を左上(原点)に一致させ、前面のレイヤにおいて第2QRコード78bの角を右下に一致させればよい。さらに、2つのレイヤに基づいて、印刷用の画像データを作成し、その画像データを印刷用メモリ(図示せず)に転送することで、2つのQRコードと地図画像76aとの角が一致する画像を印刷することができる。
【0208】
さらに、この実施例では、QRコードを復号する際に、QRコードの四隅のピクセル値を個別に得ることができる。ピクセル値とは、スキャナ24などでスキャンされた画像における1ピクセル(pixels)毎の位置を示す値である。たとえば、スキャナ24の読み取り解像度を300dpiに設定してA4サイズの用紙74をスキャンすると、用紙74に対応する画像の全ピクセル数は「2480pixels×3508pixels」となる。このとき、図43(A)における用紙74の左上角Poを原点(0,0)とすれば、左上角K1のピクセル値は(113,86)となり、右下角K2のピクセル値は(2348,3151)となる。
【0209】
ただし、この実施例の読取プログラム263は、有限会社Psytecが提供する「QR Code Decode Library(http://www.psytec.co.jp/product/03/)」をライブラリとして含んでおり、QRコードの四隅のピクセル値を個別に取得する処理に関しては、そのライブラリが利用されている。
【0210】
ここで、この実施例では、左上角K1および右下角K2のピクセル値と、左上角K1および右下角K2に対応する経緯度とから、地図画像76a内の詳細な経緯度を求めることが可能になる。
【0211】
たとえば、ユーザは、先の実施例と同様、用紙74の上に印刷された地図画像76aにマーキングを行う。つまり、ユーザは、印刷された地図に対して認識させたい経緯度を、手書きによるマーク102a(図45)によって付与することができる。この場合、以下に説明する選択処理によって、マーク102aのピクセル値とQRコードで示す紙地図画像のピクセル値から測地系に則した変換を行ない、マーク102aが付与されたピクセル値(座標)の経緯度を算出する。つまり、図42に示す地図に対して、赤などのマークをつけた地図をイメージリーダで読取り、QRコードおよび地図に記されたマークのピクセル値を検出する。そのQRコードに埋め込まれた地図の左上と右下の座標である経緯度に基づいて、マーク102aに対応するピクセル値をGISデータとして利用する経緯度へ変換し、変換結果をCSV形式等のデータとして外部へ出力する。
【0212】
したがって、先の実施例と同様に、地図の読取りに際して、読み取るコンピュータにはGISデータベースなどの地図データがなくてもマーク付与位置の経緯度への変換ができるようになる。
【0213】
読取処理の基本動作が図44のフロー図に示される。図44の最初ステップ301では、図45に示す読取GUI138をモニタ16(図1)に表示する。この読取GUI138は、左側にイメージ表示領域142であり、このイメージ表示領域142には、読み取られた画像データがそのまま表示される。ここでは、図46に示す用紙74がスキャナ24によって読み取られたイメージ(用紙74上の地図画像やQRコードなどの)がそのまま表示されている。なお、以下の説明では、選択された画像データ中に赤などのマーク102aが記されていることが前提である。
【0214】
イメージ表示領域142の上側には選択ボタン140が形成される。選択ボタン140は、メモリ18のデータ記憶エリア28に記憶されている画像データを、図示しないGUIによって選択するためのボタンである。また、選択ボタン140の右側にはコード解析ボタン144が形成され、このコード解析ボタン144が操作されると、画像データに含まれるQRコードの全体数が、上部のやや中央付近の表示部146に表示される。また、第1QRコード78aおよび第2QRコード78bに埋め込まれた経緯度の数値が、表示部146の下側に形成された解析結果表示部148に表示される。さらに、解析結果表示部148の下側に形成された経緯度表示部150には、左上経緯度および右下経緯度の数値が表示される。
【0215】
また、経緯度表示部150の下側には基準点表示部152が形成され、ここには左上角K1のピクセル値および右下角K2のピクセル値がそれぞれ表示される。さらに、解析結果表示部148の上側に形成される分割数表示部154には、地図画像76aと対応する画像データのX(縦)軸およびY(横)軸のピクセル数が表示される。
【0216】
さらに、基準点表示部152の下側には、ピクセル値表示部156および位置座標表示部158が形成される。ピクセル値表示部156はマーク102a(図46)に対応するピクセル値を示す数値を表示し、位置座標表示部158はマーク102aが示す経緯度を示す数値を表示する。
【0217】
なお、ピクセル値表示部156および位置座標表示部158の下側には、入力部160およびMapボタン162が形成される。ユーザは、入力部160に対して位置座標表示部158に表示された経緯度を示す数値を入力し、その右側に形成されたMapボタン162を操作することで、ネットワークを介してディジタル地図をモニタ16に表示することができる。つまり、Mapボタン162が操作されると、コンピュータ12はネットワークを利用したディジタル地図提供サービスのサイト(たとえば、Google(登録商標)マップなど)にアクセスし、そのサイトが提供するディジタル地図をモニタ16に表示する。
【0218】
図46に示す用紙74をスキャナ24にセットして、ステップS301でこのような読取GUI138を表示した後、コンピュータ12は、ステップS303において、ユーザによってイメージの取込み操作がされたかどうかを判断する。そして、ステップS303で“YES”を判断すると、続くステップS305でスキャナ24を動作させて1枚の用紙をスキャンし、ステップS307で、取得したイメージをメモリ18のデータ記憶領域28(図2)に設定されているイメージバッファ(図示せず)に一時的に保存し、さらに読取GUI138のイメージ表示領域142に保存したイメージを表示する。また、イメージ表示領域142に表示したイメージは、ユーザが拡大/縮尺ボタン(図示せず)を操作することによって、自由に拡大または縮小表示することができる。
【0219】
続いて、コンピュータ12はステップS309において、マーク位置認識処理を実行する。マーク位置認識処理は具体的には、図47に示すフロー図を実行することによって達成される。
【0220】
図47の最初のステップS321およびS323を実行して、コンピュータ12は、ユーザが付したマーク102a(図46)を認識する。認識できたときはステップS325に進んで、コンピュータ12は図48に示すマークのピクセル値(px3,py3)をメモリ18のデータ記憶領域28(図2)のマークピクセル値レジスタ(図示せず)に保存する。ステップS223で“NO”であれば、ステップS327でそのマークピクセル値レジスタにピクセル値として「null」を書き込む。
【0221】
なお、マークのピクセル値は、地図画像76aにおけるピクセルの位置を表すもので、経緯度の座標位置ではない。そして、左上角K1(図44)をピクセル値を原点Poとして、縦横の何番目のピクセルかを示す数値を(px3,py3)として記憶する。また、この実施例では、マーク102aのピクセル値はバツ印の交点と対応する。
【0222】
図44のステップS311に戻って、コンピュータ12は、図49で詳細に示すQRコード認識処理を実行する。
【0223】
図49の最初のステップS331およびS333を実行して、コンピュータ12は、第1QRコード78a(図46)および第2QRコード78bを認識する。認識できたときはステップS335に進んで、測地系に対応した経緯度、つまり図48に示す左上座標(Lx1,Ly1)と右下座標(Lx2,Ly2)をメモリ18のデータ記憶領域28(図2)の経緯度座標レジスタ(図示せず)に保存する。さらに、ステップS337およびS339では、左上角K1の座標ピクセル値(px1,py1)と右下角K2のピクセル値(px2,py2)を、メモリ18のデータ記憶領域28(図2)のピクセル値レジスタ(図示せず)に保存する。また、ステップS333で“NO”であれば、ステップS341で、経緯度座標レジスタおよびピクセル値レジスタに、経緯度およびピクセル値として「null」を書き込む。
【0224】
図44のステップS313に戻って、コンピュータ12は、先のステップS309およびS311において共に、エラーが無かったかどうか、つまり2つのステップS309およびS311で「null」がいずれかのレジスタに書き込まれなかったかどうか判断する。エラーが無かったと判断したら、次のステップS315で、座標変換処理を実行する。座標変換処理は、具体的には、図50で示すフロー図によって達成される。
【0225】
図50の最初のステップS351において、コンピュータ12は、図49のQRコード認識処理で取得した図48に示す左上角K1のピクセル値(px1,py1)と右下角K2のピクセル値(px2,py2)とをデータ記憶領域28のピクセル値レジスタから読み出す。続いて、ステップS353では、QRコード認識処理で取得された図48に示す左上座標(Lx1,Ly1)と右下座標(Lx2,Ly2)を経緯度座標レジスタから読み出す。さらに、続いて、ステップS355では、図47に示すマーク位置認識処理で取得した図48に示すマークのピクセル値(px3,py3)をマークピクセル値レジスタから読み出す。
【0226】
ステップS357で、コンピュータ12は、左上角K1のピクセル値(px1,py1)と右下角K2のピクセル値(px2,py2)に基づいて、横軸および縦軸のピクセル数を、分割量として算出する。続いて、ステップS359では、左上座標(Lx1,Ly1)および右下座標(Lx2,Ly2)に基づいて、経緯度の差を算出する。なお、ステップS357で算出された分割量は、メモリ18のデータ記憶領域28(図2)の分割量レジスタ(図示せず)に保存される。そして、保存された分割量は、読取GUI138における分割量表示部154に表示される。
【0227】
続いて、ステップS361で、数6に従って、ユーザによってマーキングされたマーク102aのX軸ピクセル値px3をX座標に変換し、次のステップS363で、マーク102aのY軸ピクセル値py3をY座標に変換する。
【0228】
たとえば、右下のX座標Lx2から左上のX座標Lx1を引くことによって、地図全体のX方向長さが計算でき、右下角K2のX軸ピクセル値px2から左上角K1のX軸ピクセル値px1を引くことで地図全体のX方向のピクセル数が計算できる。また、X方向長さをX方向のピクセル数で割る{(Lx2-Lx1)÷(px2-px1)}ことによって、1ピクセルのX方向長さが計算できる。さらに、マーク102aのX軸ピクセル値px3から左上角K1のX軸ピクセル値px1を引くことで、マーク102aの地図画像上の位置が計算できる。そして、左上のX座標Lx1に、1ピクセルのX方向長さにマーク102aの地図画像上の位置を掛けた結果の値を加えると、マーク102aのX方向の測地系の数値、すなわち経度が求まる。
【0229】
一方、右下のY座標Ly2から左上のY座標Ly1を引くことによって、地図全体のY方向の長さが計算でき、右下角K2のY軸ピクセル値py2から左上角K1のY軸ピクセル値py1を引くことで地図全体のY方向のピクセル数が計算できる。また、Y方向の長さをY方向のピクセル数で割る{(Ly2-Ly1)÷(py2-py1)}ことによって、1ピクセルのY方向長さが計算できる。さらに、マーク102aのY軸ピクセル値py3から左上角K1のY軸ピクセル値py1を引くことで、マーク102aの地図画像上の位置が計算できる。そして、左上のY座標Ly1に、1ピクセルのY方向長さにマーク102aの地図画像上の位置を掛けた結果の値を加えると、マーク102aのY方向の測地系の数値、すなわち緯度が求まる。
[数6]
X座標=Lx1+[{(Lx2-Lx1)÷(px2-px1)}×(px3-px1)]
Y座標=Ly1+[{(Ly2-Ly1)÷(py2-py1)}×(py3-py1)]
このようにして、ステップS365で、GISデータに対応した経緯度である(X,Y)
を確定する。
【0230】
ただし、図44のステップS313で“NO”が判断されたとき、つまりマーク位置およびQRコードのいずれかの認識に失敗したとき、マーク位置および/またはQRコードに対してエラー値を設定する。そして、ユーザは、画像認識結果エラーと判断されたページを呼び出して、マーク位置および/またはQRコードの訂正入力を行うことができる。
【0231】
なお、図44のステップS315すなわち図50のステップS365で確定した経緯度のデータを1レコードとしてCSVファイルで出力する。
【0232】
このようにして、図46に示すようにマーク102aを記入した地図用紙74の画像データを読み取ることによって、マーク102aのピクセル値をGISデータに変換することができる。
【0233】
以上の処理によって、地図画像76aが印刷される位置は用紙毎に異なったとしても、用紙毎の地図画像76aの左角上K1のピクセル値を、オフセット値として取得することができる。また、オフセット値に基づいて、地図画像76の原点を求めることができるため、1ピクセル毎に経緯度を算出することができるようになる。つまり、メッシュに基づく経緯度の計算に比べて、高精度に経緯度を求めることができる。
【0234】
なお、上述の実施例では、印刷した地図画像の対角の経緯度をQRコードで符号化して地図画像と一緒に用紙上に印刷した。しかしながら、地図画像の対角の経緯度を符号化するためには、QRコードのような2次元バーコード以外に、1次元バーコードや、他の符号化方法が採用されてもよいが、その符号は、ユーザがマークやポリゴンを記入した後に地図画像と一緒にスキャナで読み取れる必要がある。つまり、スキャナで読み取れる限り、任意の符号化方法による符号画像が利用可能である。
【0235】
また、上述の実施例では地図画像上に重畳してメッシュの細線を印刷するようにしたが、このメッシュは印刷する必要はなく、スキャナで読み取る際に仮想的にメッシュを形成し、それによってマークの位置の経緯度を計算したり、ポリゴンデータを生成したりするようにしてもよい。つまり、実際にメッシュを印刷した場合だけでなく、コンピュータがメッシュを仮想する場合も、地図画像に重畳されるメッシュを含むものである。
【0236】
また、上述の実施例では、「QR Code Decode Library」に代えて、他のライブラリを利用したり、専用のソフトを利用したりすることで、QRコードの四隅のピクセル値を個別に取得できるようにしてもよい。
【0237】
さらに、上述の実施例ではいずれも、印刷枠として矩形の印刷枠を設定し、その印刷枠上または印刷枠内の特定の位置、つまり、印刷枠に関連した特定の位置として、対角の経緯度をQRコードのような符号画像に変換するようにした。しかしながら、印刷枠は必ずしも矩形で或る必要はなく、円形やその他の多角形を印刷枠として指定するようにしてもよい。そして、符号画像ではそれらの印刷枠の特定の位置、たとえば多角形の各頂角における経緯度や、円の場合の中心における経緯度と半径などの情報を符号画像に埋め込むようにすればよい。
【0238】
この場合、読取装置としては、符号画像を解読してそれらの特定場所の経緯度を求め、それに基づいて計算して、ユーザがマークした位置や場所の経緯度を特定することができる。
【符号の説明】
【0239】
10 …地図印刷/読取装置
12 …コンピュータ
14 …操作装置
16 …モニタ
18 …メモリ
20 …地図データベース
22 …プリンタ
24 …スキャナ
32 …地図操作GUI
52,100 …印刷枠
74 …用紙
76 …地図画像
78 …QRコード
86 …住所検索GUI
102 …マーク
102a …ポリゴン
104 …読取GUI
118 …調査票
120 …テキスト印刷部
122 …地図印刷部

【特許請求の範囲】
【請求項1】
地図を示す地図画像およびその地図の経緯度データを含む地図データを保有する地図データベース、
前記地図データベースから地図画像データを読み出して地図画像をモニタに表示する表示手段、
前記モニタ上において、前記地図画像を印刷する領域を示す印刷枠を設定する印刷枠設定手段、
前記印刷枠に関連した特定の位置の経緯度を符号化して符号画像を形成する符号画像形成手段、および
前記印刷枠で示される領域の地図画像と前記符号画像とを用紙に印刷する印刷手段を備える、地図印刷装置。
【請求項2】
前記印刷枠設定手段は矩形の印刷枠を設定し、
前記印刷枠の対角の位置の経緯度を算出する経緯度算出手段をさらに備え、
前記符号画像形成手段は、前記印刷枠の対角の位置の経緯度を符号化する、請求項1記載の地図印刷装置。
【請求項3】
前記経緯度算出手段は、1つの印刷枠に入る地図上での実際の距離を計算する第1距離計算手段、および前記実際の距離から地図画像の内部座標を変換して内部座標上の距離を計算する第2距離計算手段を含み、基準点の経緯度および前記内部座標情の距離に基づいて前記対角の位置の経緯度を算出する、請求項2記載の地図印刷装置。
【請求項4】
前記第1距離計算手段は、前記用紙のサイズと印刷余白と前記地図画像の縮尺とに基づいて前記実際の距離を計算する、請求項3記載の地図印刷装置。
【請求項5】
前記経緯度算出手段は、前記基準点の経緯度に前記内部座標上の距離を加算することによって、前記対角の経緯度を算出する、請求項3または4記載の地図印刷装置。
【請求項6】
前記印刷枠設定手段は、複数の印刷枠を設定する複数印刷枠設定手段を含み、
前記複数印刷枠設定手段によって設定された複数の印刷枠毎に、印刷枚数を設定する、請求項2ないし5のいずれかに記載の地図印刷装置。
【請求項7】
住所を検索することによって前記地図データベースから住所ポリゴンを読み出す住所検索手段をさらに備え、
前記表示手段は前記住所ポリゴンを表示し、
前記印刷枠設定手段は、前記住所ポリゴンが余すところなく含まれる大きさの印刷枠を設定する、請求項1ないし5のいずれかに記載の地図印刷装置。
【請求項8】
前記印刷枠設定手段は、前記住所ポリゴンの外接矩形である基図を設定する基図設定手段、および前記基図に基づいて必要枠数を計算する枠数計算手段を含む、請求項7記載の地図印刷装置。
【請求項9】
地図画像に重畳されるメッシュを形成するメッシュ画像形成手段をさらに備え、
前記印刷手段は、前記地図画像上に重ねて前記メッシュ画像を印刷する、請求項1ないし8のいずれかに記載の地図印刷装置。
【請求項10】
前記符号画像は、QRコードを含む、請求項1ないし9のいずれかに記載の地図印刷装置。
【請求項11】
前記QRコードは、第1QRコードおよび第2QRコードを含み、
前記印刷手段は、前記地図画像の1つの頂点と前記第1QRコードの角とが一致し、前記1つの頂点における対角の頂点と前記第2QRコードの角とが一致するように、前記地図画像と前記第1QRコードと前記第2QRコードとを前記用紙に印刷する、請求項10記載の地図印刷装置。
【請求項12】
印刷枠で示される領域の地図画像と地図画像の特定の位置の経緯度を符号化した符号画像とを用紙に印刷した地図を読み取る、読取装置であって、
前記地図画像中に記入されたマークを認識してそのマークの地図画像上の位置を特定するマーク認識手段、
前記符号画像を認識して前記地図画像の前記特定の位置の経緯度を求める符号画像認識手段、および
前記マーク認識手段によって特定されたマークの位置と前記符号画像認識手段によって求めた前記特定の位置の経緯度とに基づいて、前記マークの経緯度を計算する計算手段を備える、地図読取装置。
【請求項13】
前記印刷枠は矩形であり、前記特定の位置は前記印刷枠の対角である、請求項12記載の地図読取装置。
【請求項14】
前記地図画像上に重畳されるメッシュを含み、前記計算手段は、前記マークが記入されたメッシュの位置を取得するメッシュ位置取得手段、前記メッシュの最大個数と前記メッシュ位置とに基づいて前記メッシュの座標を計算する座標計算手段を含む、請求項12または13記載の地図読取装置。
【請求項15】
前記符号画像は、第1QRコードおよび第2QRコードを含み、
前記地図画像の1つの頂点と前記第1QRコードの角とが一致し、前記1つの頂点における対角の頂点と前記第2QRコードの角とが一致するように印刷された用紙のイメージを読み取る読取手段、
前記読取手段によって読み取られたイメージにおいて、前記第1QRコードの角の第1ピクセル値を取得する第1取得手段、
前記読取手段によって読み取られたイメージにおいて、前記第2QRコードの第2ピクセル値を取得する第2取得手段、および
前記地図画像における最大ピクセル数を前記第1ピクセル数および前記第2ピクセル数に基づいて算出するピクセル数算出手段をさらに備え、
前記マーク認識手段は、前記読取手段によって読み取られたイメージにおいて、前記マークのピクセル値を取得するピクセル値取得手段を含み、
前記ピクセル数算出手段によって算出された最大ピクセル数と前記符号画像認識手段によって求めた前記特定の位置の経緯度とに基づいて、前記マークのピクセル値を経緯度に変換する変換手段をさらに備える、請求項12または13記載の地図読取装置。
【請求項16】
印刷枠で示される領域の地図画像と地図画像の特定の位置の経緯度を符号化した符号画像とを用紙に印刷した地図を読み取る、読取装置であって、
前記地図画像中に記入されたポリゴンを認識してそのポリゴンの外郭のメッシュの位置を特定する外郭座標計算手段、
前記符号画像を認識して前記地図画像の前記特定の位置の経緯度を求める符号画像認識手段、および
前記外郭座標計算手段によって計算された外郭のメッシュの位置と前記符号画像認識手段によって求めた前記特定の位置の経緯度とに基づいて、前記ポリゴンを示すポリゴンデータを生成するポリゴンデータ生成手段を備える、地図読取装置。
【請求項17】
1枚の用紙によって形成される調査票であって、
前記用紙の一部に形成されるテキスト印刷部、および
前記用紙の他の一部に形成される地図印刷部を備え、
前記地図印刷部は、印刷枠で示される領域の地図画像と、前記地図画像上に重畳されるメッシュと、前記印刷枠に関連した特定の位置の経緯度を符号化した符号画像を含む、調査票。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate

【図46】
image rotate

【図47】
image rotate

【図48】
image rotate

【図49】
image rotate

【図50】
image rotate