地図の最近のブログ記事

最新の写真測量技術を使って、建物の3次元モデルを参加型で作成する試みがGoogleからはじまったので試してみた。豆腐のような壁面が無い3次元モデルではなく、壁面付きの3次元モデルが簡単に作成できる。

Googleビルディングメーカーでは、斜め写真などの大量の航空写真(空中写真)を使い、その写真から建物の3次元構造(輪郭線)がどのようになっているのかを、マウスを使って教えてあげるだけである。これらの航空写真を撮影したカメラは、どこでどの向きで撮影したのかは撮影時点で計測しているので、複数の写真で、特定の建物がどういう輪郭線であるのかをインプットすることで、建物の輪郭線が現実世界の3次元地理座標と対応をとることが可能となる。それによって、3次元モデルが作成可能となる。

以下が、建物の輪郭線が写真でどのように表現されているのかを示している様子である。直方体だけでなく、屋根のような形状との組み合わせも可能である。

zu1.png

このシステムでは、6枚から8枚くらいの航空写真を利用しているが、写真の枚数が多くなればなるほど、その3次元モデルの位置や高さの情報の誤差が少なくなる(もちろん、ユーザ次第で精度は変わるが、致命的なミスは減る)。また、斜め写真ということで、建物壁面の画像を切り出して、3次元モデルに貼り付けることが可能となる点が大きい。通常の地図作成の場合は、2枚の写真による立体視なので、壁面が写っていない場合も多いが、斜め写真を使うことで、その問題は解決する。

以下が、完成した3次元モデルである。かなりいい加減に作ったが、それっぽい表現になっていることがわかる。

zu2.png

斜め写真を複数撮影し、写真測量を行う技術としては、アメリカのピクトメトリー社という航空測量会社が国際航業と提携したことが知られている(リンク)。Googleがこの企業の技術を用いたかどうかは不明だが、この方法と大差無いだろう。

これにより、コストと時間をかけて正確な3次元モデルを作るアプローチ(従来型)と、質は劣るが大量にそれっぽい3次元モデルをユーザが作るアプローチ(参加型)の2種類によって3次元モデルが作成可能となったわけである。2つのアプローチを併用しつつ、広範囲で3次元の地球がサイバースペースで再現できるように、うまく進めて欲しいものである。

日本全国の地震動マップを推定して結果を公開するシステム「地震動マップ即時推定システム(QuiQuake: Quick estimation system for earthQuake map triggered by observed records)」が公開された。(個人的に)注目すべきは、WMSで配信していることである。専門家が配信するこのような地理空間情報を、WMS配信することで、複数のソフトウェアによってユーザが動的に表示して、他のデータと重ね合わせることが可能となる。

ウェブサイトの概要によると、データの種類は2つあり、震動による最大地動速度(PGV: Peak Ground Velocity)と計測震度がある。また、データはGeotiffでも公開している。データは、KMLで公開されているが、KMLからWMSを使ってGoogle Earthで表示することが可能である。しかし、WMSはGoogle Earthのみで閲覧するわけではないので、WMSのURLを調べてみた。

2009年10月18日時点でこのサービスで最新の地震のKMLをダウンロードしてみる。KMLをテキストエディタで開くと50行目に以下のようなURLがある。

http://carteb.geogrid.org/mapserv/qqm?LAYERS=PGV_20091011101200&TRANSPARENT=true&FORMAT=image%2Fpng%3B%20mode%3D24bit&SRS=EPSG%3A4326&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&WIDTH=1024&HEIGHT=1024&

「LAYERS=PGV_20091011101200」が、データのIDにあたり、2009年10月11日10時12分の地震ということをあらわす。この長いURLがWMSのURLであり、Quantum GISでも表示可能である。以前のブログで紹介した方法で、Quantum GISで表示してみた。凡例はこちら

図1.png

2つのマップを並べたが、同じエリアを切り出したものである。左側はGeography Network JapanでWMS配信している数値地図25000である。場所は、根室半島付近である。震源は、これより南東にあるのだが、必ずしも震源からの距離によって揺れが大きくなるわけではなく、地形によって変化する。地形から判断すると、湿地と推測される箇所が揺れやすくなっている。このように、地形による地震動の違いも判別できるデータである。ただし、WMSではPGVは見ることができたた、計測震度のデータは公開されていなかった。ぜひとも計測震度もWMSで配信して欲しいと思う。

上記のURLは、個別の地震だった。次に、リストから地震を選ぶようにしてみよう。以下のWMSのURLを入れて見る。

http://carteb.geogrid.org/mapserv/qqm?

すると、現時点で1996年以降の4992個の地震の地図がリスト表示されて、選ぶことができるようになっている。日付で選べるようになっており、大きな地震の日付と時間を調べておけば、その地震の地震動のマップが表示できる。以下のマップは、2009年8月11日早朝の最大震度6弱の地震の最大地動速度マップである。

図2.png

自分の住んでいる地域と他の地域の最大地動速度を比較してみると、自分の住んでいる場所の揺れやすさが見えてくるかもしれない。

GDALのプログラム群のひとつである、gdalwarpを使うと、ラスター型(メッシュ)のGISデータの接合が簡単にできるので自分へのメモを兼ねて紹介したい。

国土地理院の基盤地図情報ASTER GDEMなどで公開されている地盤高データ(Digital Elevation Model; DEM)は、タイル状に分割されて公開されている。そのため、境界部を対象にする場合や、広域な利用を考える場合は、データを接合する必要がある。

基盤地図情報については、以前のエントリでラスター型GISデータへ変換できることを紹介した。先日公開がはじまったASTER GDEMはGeotiff形式のラスター型GISデータとして公開されている。これらのデータは、GDALのgdalwarpを使うことで、簡単に接合処理ができてしまう。

gdalwarp ファイル1 ファイル2 出力ファイル

ファイル1とファイル2をつなぎ合わせたものが出力ファイルに保存される。大量のファイルの場合は、アスタリスク"*"を使いワイルドカードによって大量のファイルを指定することができれば、大量のタイル状のファイルを接合することができる。つまり、

gdalwarp ワイルドカード付きのファイル 出力ファイル

とすることで、大量のタイルを接合することが可能となる。

今回、基盤地図情報の10mのDEMを以前エントリの方法でラスター型GISデータへ変換し、gdalwarpで接合した。以下に接合後のファイルを示した。

dem.jpg

新しいGoogleストリートビューの新機能にパンケーキというものがある。これは、マウスカーソルが道路上では円なのだが、建物の壁面では、壁面の存在や向きを考慮したカーソルの形状となる。これは、ストリートビューが3次元空間を認識していることに他ならない。高度な処理を施している可能性があり、今後この技術と3次元情報が面白いことに活かされる可能性もある。

パンケーキについての説明は、以下が参考になる。

Google「ストリートビュー」で素早い移動が可能に (Internet Watch)

今回導入されたスマートナビゲーション機能では、マウスカーソルを画面の道路部分に乗せると、円盤状の図形が表示される。Googleではこれを"パンケーキ"と呼んでいる。パンケーキを自分の進みたい場所に動かし、そこでダブルクリックすると、即座にその場所にジャンプできる。パンケーキは道路のかなり先の方まで表示されるため、瞬時に移動できるようになった。

 さらに、道路の両側などにある建物にマウスカーソルを動かすと、パンケーキは四角形に変わる。そこをダブルクリックすると、建物の壁面をちょうど見やすいように表示してくれる。

実際に試してみた。道路上などの平面では円のマウスカーソルである。そして、建物にマウスカーソルを移動してみた。

建物壁面の向きを考慮して、マウスカーソルの形状が四角になって傾いている。そして、壁面の向きが変わると、それも考慮したマウスカーソルの形状となる。従って、道路に面した壁面とその側面となる壁面の位置と向きを認識していることがわかる。

gsv1.jpg

gsv2.jpg

これの意味するところは、Googleストリートビューの2次元画像から、3次元空間を関連付けることを可能にしているということであり、Googleストリートビューは3次元空間を認識しているということである。どうやっているのだろうか。おそらく、写真から3次元空間を構成させていると考えられる。

ストリートビューでは連続して写真撮影しており、複数の写真による立体視が可能であり、技術的には3次元空間を構成させることは不可能ではない。ただし、写真の枚数は膨大である。そのため、自動処理を行って2次元の画像を3次元として構成するための処理を行っていると推測される。様々な箇所でパンケーキを試してみたが、電線の部分で壁面と認識するミスがあったり、マウスカーソルの形状が変わる場所がずれている場合があった。これは自動処理を行っていることを示している。マシンビジョンや写真測量の分野では、写真を3次元計測する技術があり、Googleのエンジニアにそのような技術を持っている人がいてもおかしくない。

この技術の今後の展開としては、Google Earthの建物の3次元形状の壁面にこのストリートビューの撮影した写真が利用できる可能性がある。車の位置とカメラの向きが分かっているので、建物形状の3次元のデータがあれば、ストリートビューで撮影して、建物壁面の部分を抽出し、建物形状の3次元データと関連付けることができれば、墓石のような建物の3次元形状データの壁面に窓や壁面の色を入れることが可能となる。

これまでのエントリーでは、Quantum GISを使って地図画像に位置情報を与え、Google Earthに表示させた。今回は応用編として、自然災害の被害範囲を地図化したハザードマップを重ねてみることにしよう。

ハザードマップは市町村ごとに公開している。もちろん、作っていない場合や公開していない場合もある。まず、お住まいの市町村のホームページに公開されているか確認してみよう。私は現在、流山市南流山駅あたりに住んでいるので、流山市で探してみたところ、洪水ハザードマップが公開されていることがわかった。

流山市洪水ハザードマップ
http://www.city.nagareyama.chiba.jp/section/kasen/hazardmap/index.html

PDFで公開されている場合が多く、今までの方法を行う場合は、画像化する必要がある。Irfanviewでは、プラグインをインストールするとPDFを画像ファイルとして保存できる。

保存した画像をこれまで紹介してきた方法で位置情報を与える。問題はどの投影法なのかという点だが、建物の区画が明確に含まれているので、1/2500都市計画図であると判断し、世界測地系第9系とした。イメージオーバーレイまで完成した写真を以下に示す。

bv.jpg

濃い青色は、江戸川が氾濫した場合に数メートル浸水する可能性があると記載されている。ちなみに、南流山駅は2.5mから5mが浸水可能性があるとのこと。そうなると、江戸川を渡って地下に入るつくばエクスプレスは、水没して不通になることは容易に想像できる。次に、少し拡大してみよう。

bv2.jpg

地形を強調表示している。黄色のあたりは0.5m以下か、浸水しないと予想されている。その場所は、地形がやや高まっていることがわかる。このように、地形と予想される被害の対応関係も理解することができる。

ハザードマップは役所のウェブサイトで公開されている場合が多い。自分の住んでいる場所はどのような自然災害が起こりうるのか、調べてみるのも良いだろう。今回は、洪水ハザードマップとしてが、地震に関するハザードマップも公開されている場合があるので、同じ方法で重ねてみても良いだろう。そうすることで、自分がどれくらい自然災害による被害を受けるリスクがあるのか、想像できるのではないだろうか。

さらに重要なのが、ハザードマップを用いて自分がどのようにこのような自然災害リスクを回避するべきか、ということを考えることである。今回のような洪水の場合は、被害が小さいと予想される場所はなぜそのようになっているのかを、Google Earthの3次元表現によって明確に理解できたわけだが、それによって江戸川が氾濫した場合に逃げる場所を容易に想定することができるようになる。さらに、避難所などの災害時に役に立ちそうな情報が地図上にレイヤーとしてプロットされていれば、避難のための想定が容易にできるようになるだろう。

こういうハザードマップが、Google Earthとかウェブ上の地図で容易に表示できるような仕組ができれば、防災にも少しは役に立つうだろうと思うのである。

だいぶ前のエントリーになってしまったが、Quantum GISを使って、画像に位置情報を与え、それを投影変換する方法を紹介した。今回は、投影変換した地図画像をGoogle Earthに重ねてみたい。

前提として、地図画像が等緯度経度に変換されている必要がある(前回までのエントリ参照)。前回、25000分の1地形図を等緯度経度の投影法に変換したので、これをそのまま利用する。まずは、この投影変換した画像の情報を見てみよう、gdalinfoコマンドを以下のように実行する。

gdalinfo <前回出力した等緯度経度の画像ファイル>

すると、以下のように出力される。

Driver: GTiff/GeoTIFF
Files: test3.tif
Size is 10241, 6803
Coordinate System is:
GEOGCS["Marshall Islands 1960",
DATUM["Marshall_Islands_1960",
SPHEROID["Hough 1960",6378270,296.9999999999916,
AUTHORITY["EPSG","7053"]],
AUTHORITY["EPSG","6732"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433],
AUTHORITY["EPSG","4732"]]
Origin = (139.863881043749930,35.933958579062747)
Pixel Size = (0.000016353913445,-0.000016353913445)
Metadata:
AREA_OR_POINT=Area
Image Structure Metadata:
INTERLEAVE=BAND
Corner Coordinates:
Upper Left ( 139.8638810, 35.9339586) (139d51'49.97"E, 35d56'2.25"N)
Lower Left ( 139.8638810, 35.8227029) (139d51'49.97"E, 35d49'21.73"N)
Upper Right ( 140.0313615, 35.9339586) (140d 1'52.90"E, 35d56'2.25"N)
Lower Right ( 140.0313615, 35.8227029) (140d 1'52.90"E, 35d49'21.73"N)
Center ( 139.9476213, 35.8783307) (139d56'51.44"E, 35d52'41.99"N)

もう少し文字列が続くが、この文字列のCorner Coordinatesが重要なのである。Upper Left、Lower Left、Upper Right、Lower Rightの値が、地図画像の四隅の緯度経度をあらわしている。この情報が重要となる。以下はUpper Leftを示す。

Upper Left ( 139.8638810, 35.9339586) (139d51'49.97"E, 35d56'2.25"N)

Upper Leftは左上ということであり、 ( 139.8638810, 35.9339586)は経度、緯度の10進数表示であり、 (139d51'49.97"E, 35d56'2.25"N)は経度、緯度の度分秒表示となっている。

次にGoogle Earthにうつる。上記出力画像は、JPEGにした方が良い。TIFFやPNGはうまく表示されないことがあったので。さて、Google Earthを起動し、追加>イメージオーバーレイを選ぶ。そして、リンクの部分でJPEG画像を選ぶようにする。そして場所タブをクリックしする。そうすると、東西南北それぞれに緯度または経度が入力できるようになる。

tab.jpg

表示に沿って、北にはgdalinfoで表示させたUpper LeftまたはUpper Rightの緯度を入れる。ここで注意すべきことは、度分秒表記で入力することである。gdalinfoでは、度分秒表記を35d56'2.25"Nとしているが、Google Earthは35°56'2.25"Nとしている。違いがお分かりだろうか。これは、度にあたるdと°が違うのだ。なので、Google Earthに入力した後に、すぐにdを°に変換してやる必要があるのだ。そして、南はLower LeftまたはLower Rightの緯度を入力する。西にはLower LeftまたはUpper Leftの経度を入力し、東にはLower RightまたはUpper Rightの経度を入力する。そしてOKをクリックすると、Google Earth上には、航空写真とぴったりと重なるように、地図がオーバーレイできているはずである。

overlay.jpg

次は応用編ということで、ハザードマップのオーバーレイを行ってみたいと思う。

自分の行ってきた研究を,多くの人に平易な言葉で説明できるようにしたいと考えている。それは,研究成果の社会還元のために重要だと考えたからである。つい最近出版された自分の論文を紹介したいと思う。

  1. やったことを一文で説明すると・・・
  2. 「これまで撮りためてきた航空写真(空中写真)を使って,過去40年間の森林の変化や成長が再現できることが明らかになった。」

  3. 航空写真(空中写真)について
  4. 航空写真は,地図作りの目的のために,日本全国を戦後から定期的(森林域ではほぼ5年おき)に撮影してきた。そのため,航空写真は膨大な枚数の蓄積がある。この蓄積を生かすことできれば,新しい情報を生み出せる可能性がある。このような視点で航空写真を使うことはほとんどなかった。

  5. 航空写真を使って立体視
  6. 航空写真は,先ほど書いたように地図作成を目的として撮影されている。そのため,等高線が必要であり,地形のデコボコを把握するために立体視ができるように撮影される。立体視とは,写真のような2次元の画像を複数枚使うことで,物を3次元(立体的)に見る方法である。そのため,同じ地点でも複数の航空写真で写るように撮影されている。

  7. 樹木の凸凹の変化だけ抽出
  8. 森林や山の中を撮影した航空写真を使って立体視をすると,どんな凹凸が見えるだろうか。それは,「地形+樹木」の凹凸である。樹木は,成長すると上に高くなっていく。つまり,同じ森林で,40年前に撮影された航空写真の凹凸と,最近撮影された航空写真の凹凸を比較すれば,地形の凹凸が変化していないとするならば,樹木の成長による凹凸の違い,要するに樹木が高くなっていくことが把握できるはずだ。

    fig1.jpg

  9. 樹木の凹凸を抽出
  10. 航空写真から,地図作成のために立体視をしてきたが,人の手によって行われてきた。しかし,これでは時間がかかる。最近では,コンピュータの発達や,この分野の発展により,半自動的に凹凸が抽出できる技術が確立しつつある。そのため,この技術を使って,8時期約40年間の航空写真を50枚以上使い,8時期の凹凸を抽出した。そして,地形の凹凸である地盤高のデータを使って,樹木の凹凸のみを抽出した。この樹高の凹凸の時系列変化を観察することで,森林の変化が把握できるのかを調べてみた。

  11. どんな結果が得られたか?
  12. 最新の航空写真については,最新の測量技術であるレーザ測量の凹凸と比較して,樹木の凹凸は樹木の高さが十分に抽出できていることが確認された。

    そして,8時期の樹木の凹凸を観察したところ,樹木の成長が把握できた。また,樹種や地形による成長の違いが把握できた。他にも,伐採されたところや,植林された所が把握できたり,倒れた被害の発生したところが,凹凸で表現されていた。

    以下に樹木の凹凸を地図化したマップを示す。黒いほど樹木の高さが低く,白いほど高いことを示している。1960年代や1970年代は,南側は黒っぽいことがわかる。ちょうどこの頃に,植林が活発に行われ,その後は順調に成長していることがわかる。

    fig2.jpg

  13. どんないいことがあるの?
  14. 樹木の凹凸として樹木の高さが分かれば,林業を行っている森林では,木材の体積を知ることが重要であるが,これを時間変化として知ることができる。これまでも,森林のこのような情報を自治体が把握してきたが,精度に問題があるという指摘があった。そのため,航空写真を使えば,人間の調査が行けなかった場所でも,今回抽出できた情報を使うことで,精度を高められる可能性がある。また,伐採とか植林の確認もでき,倒木箇所の把握もできるので,森林管理の効率化に貢献できることが期待できる。

    また,バイオマスや貯蔵されている炭素の量が分かるようになる。そして,時間変化がわかるので,その情報を使って,森林の将来の森林の予測を行うこともできる。そうなれば,温室効果気体である二酸化炭素の吸収量の予測や,炭素の貯蔵量の予測も高精度に行える可能性がある。

  15. 掲載論文
  16. 田口仁,遠藤貴宏,古川邦明,沢田治雄,安岡善文,(2009)「多時期の空中写真から作成したDigital Canopy Modelによる森林キャノピーのモニタリング」写真測量とリモートセンシング, Vol. 48, No. 1, pp. 4-11.


というわけで,自分の研究成果を分かりやすく説明することを試みた。正直なところ,どんな書き方が良いのか模索している段階である。今後,いろいろと研究成果を発表していくと思うので,試行錯誤しながら,行ってきた研究を誰もが理解できる形で紹介できるようにしていきたいと思っている。

前回のエントリでは,Quantum GISを使って地図画像に地理座標を与えた。地理座標が定義できているので,地図投影法は自由に変えることが可能となる。今回は,希望の投影法に変換する手順を説明したい。

GDALは,ラスター(画像のようなメッシュ)形式のGISデータを処理するライブラリである。Linuxだけでなく,Windowsでも動作する。Windowsへのインストールは,まずOSGeo4Wで,OSGeo4W Installerをダウンロードし,実行させる。そして,GDALのみをチェックするとインストールできる。スタート > すべてのプログラム > OSGeo4W > OSGeo4W Shellを選択すると,コマンドプロンプトが出てきて,このプロンプトを通してGDALのライブラリが実行できる。コマンドプロンプトの使いかたについては,こちらのサイトが参考になりそうだ。

前回のエントリで行った,地理座標を与えた画像データがあるフォルダへ移動する。そして,前回の画像ファイルだが,Quantum GISによって座標はインプットされているのだが,投影法が画像ファイル自身には埋め込まれていないことが判明した。これは,gdalinfoコマンドで確認することができた。

gdalinfo <入力ファイル名>

投影法が定義されている場合には,投影法に関する記述が出てくるのだが,無いのである。なので,まずこれを定義することからはじめよう。定義するには,gdal_translateコマンドを使う。このコマンドは,画像の形式を変換することも可能な便利なコマンドである。

投影法の定義するためには,いろいろなパラメータが必要だが,コードで記述する方法が採用されている。それが,EPSGコードである。座標系と投影法の組み合わせで一つのEPSGコードが決まっている。なお,国内のEPSGコードについては,こちらのサイトで一覧が示されている。また,Google Earthと同じ,等緯度経度(Plate Caree)の場合のEPSGは4326,Google MapsはSpherical MercatorでEPSGが900913(または3785)である。

前回のエントリで扱った地図投影のEPSGコードはどうやって調べればよいかというと,前回のエントリの一つ目の画像が参考になる。WMSレイヤーを表示させるときに,基盤地図情報25000では,複数の投影法で表示させることが可能なことを記述したが,そこにEPSGのコードが出ている。それによると,25000分の1地形図の投影法はUTM図法のゾーン54の北側だったため,EPSGコードは3100である。それをgdal_translateでは以下のようにコマンドする。

gdal_translate -a_srs "EPSG:3100" <入力ファイル名> <出力ファイル名>

出力ファイルはtifとすると,Geotiffとなるため,今回は全て拡張子はtifで統一する。出力ファイルをgdalinfoコマンドで表示させると,ちゃんと投影法が定義されていることが分かるはずである。これで,投影変換を行う準備が整った。投影変換のコマンドは以下のようになる。

gdalwarp -t_srs "EPSG:xxxx" <入力ファイル名> <出力ファイル名>

-t_srs "EPSG:xxxx"のxxxxは変換先のEPSGコードである。なお,等緯度経度の場合はxxxxは4326となる。

実は,先ほどgdal_translateで元の画像のEPSGを定義したが,一気に変換することも可能である。その場合,EPSG:3100からEPSG:4326への変換となり,コマンドは以下のようになる。

gdalwarp -s_srs "EPSG:3100" -t_srs "EPSG:4326" <入力ファイル名> <出力ファイル名>

"-s_srs"の後のEPSGが,入力ファイル名のEPSGコードである。s_srsとt_srsのsとtの違いは,sourceとtargetの違いである。それでは,出力されたファイルを比較してみよう。まずは,EPSG:3100(UTM/54N/JGD2000)である。

fig1.jpg

次がEPSG:4326である。

fig2.jpg

等緯度経度(Plate Caree)であるため,ゆがみが大きくなる。そのため,等緯度経度である下の画像の方が,横に伸びたような画像となっているのが分かる。

以上で,Quantum GISで地図画像に地理座標を与え,GDALで任意の投影変換を行う流れまでできたことになる。せっかくなので,次のエントリでは,等緯度経度に投影変換した地図画像をGoogle Earthでぴったりと重ねることができることを示したいと思う。

前回は,地図画像に地理情報を与えるコンセプトを説明した。今回は実際にQuautumGISを用いて地理情報を与える方法を説明する。今回,例としてスキャンした25000分の1地形図(図葉名:流山)を使うことにする。

25000分の1地形図は,前のエントリで示したように,地図投影法はUTM図法(横メルカトル図法)である。なお,地形図の右側の凡例などが記載されている所の説明には,「ユニバーサル横メルカトル図法,座標体は第54帯,中央子午線は東経141°」と記されている。そのため,リファレンスに使用する地図もその投影法に合わせる必要がある。

以前のエントリで,WMSサーバを紹介したが,基盤地図情報25000は非常に便利である。なぜなら,多種多様な投影法に対応しているからである。では,次からは実際の手順の説明に移る。

QuantumGISを起動して,基盤地図情報25000のWMSレイヤを表示させる。方法については,基盤地図情報25000のサイトで詳しく紹介されている。ただ,ここで必要なプロセスがあり,「Add Layer(s) from a Server」ウィンドウの下にある,「Coordinate Reference System」のChangeをクリックする必要がある。表示されたウィンドウでは,以下のようなウィンドウが表示され,投影法を選択することができる。

fig1.jpg

上の図の通り,「UTM zone 54N」を選択する。そして,OKをクリックし,前のウィンドウに戻ってAddをクリックすると,地理情報を与えたい地形図と同じ投影法で基盤地図情報25000が表示される。

次に,メニューで プラグイン>Georeferencerを選択する。すると,「地理参照」というウィンドウが表示されるので,「...」を選択して,使用する地図画像のファイルを選択する。すると,「地理参照」と同時に表示されていた別のウィンドウである「Reference Points」ウィンドウに,地図画像の縮小版が表示される。なお,「地理参照」ウィンドウの「Arrange Plugin Window」をクリックすると,ウィンドウの配置が最適化される。なお,「地理参照」ウィンドウは消さないでほしい。

そして,基盤地図情報25000の方を,地形図のエリアにあわせるように移動させる。実はこれが結構難しいが,Google Mapsなども駆使して,なんとかエリアを特定しなければならない。それができれば,次に地形図と基盤地図情報25000の一致する対応点を設定していくことになる。以下にReference Pointsウィンドウを示す。

fig2.jpg

「Reference Points」ウィンドウの上側の左の4つのアイコンは,左から,拡大,縮小,全体表示,パンである。これを駆使して,地形図の画像を拡大させる。そしてあわせて,基盤地図情報25000も拡大させて,一致する箇所を見つけていく。以下の図は,地形図と基盤地図情報25000で,位置が同じと推測される箇所である(元は同じデータなので,見え方は似ている)。一致している地点の対応点を画像にクリックすることで特定する。

fig3.jpg

まず,Reference Pointsウィンドウの上にあるアイコンの右から2番目のアイコンをクリックする。そして,ウィンドウ内の一致している箇所として特定する点をクリックする。すると,以下のようなウィンドウが表示される。

fig4.jpg

このウィンドウの左下の「from map canvas」をクリックする。そして,マウスポインターが「+」となり,基盤地図情報25000において,地形図で一致した点を慎重に特定し,クリックする。すると,XとYに地理座標がインプットされる。そして,了解をクリックすると,Reference Pointsウィンドウ内の地図に,点が与えられたことが示される。これを,あと4回ほど繰り返す。間違えた場合は,一番右のReference Pointsウィンドウのアイコンの一番右をクリックし,ウィンドウ内の消したい点をクリックすることで消すことができる。

対応点が4つか5つほどできたら,Reference Pointsウィンドウに戻り,「変形種別」を「ヘルマート」とし,「修正されたラスタ」として,補正後の画像ファイルの出力先を設定する。「世界ファイル」はそれによって自動的に設定される。なお,出力はGeotiff形式のみである。そして,「Create and Load Layer」をクリックする。その後,2つのウィンドウが出てくるが,両者とも了解でよい。

しばらく処理が行われる。たまにプログラムが落ちるが,処理が完成してから落ちることが多いようだ。処理が終了したら,「地理参照」ウィンドウを閉じると,Reference Pointsウィンドウも消える。そして,Add Raster Layerで,生成された画像ファイルを選択して表示させてみよう。基盤地図情報25000と重なることが確認できるはずである。

今回は,最新の地図どうしだったため,比較的容易に対応点が取れた。しかし,古地図となると,容易ではなくなる。その辺は,経験と慣れが必要な部分だろう。また,ソフトウェア自体が不安定な場合もあり,ソフトウェアが落ちることもたまにある。それは仕方が無いので,根気強くやってほしい。また,対応点は近場で固めるのではなく,地形図の4隅付近で対応点がちらばるようにすることが望ましい。

これで,地図画像に地理情報が与えることができたが,地理情報が定義できたということは,投影法の変換も自由自在に可能となることを意味する。次のエントリでは,GDALを使って,投影変換を行う方法を紹介しようと思う。

アナログでしか存在しない地図をデジタル化し,他のGISや地図と重ねられたら便利なことも多いだろう。では,それをどのように実現すれば良いのか?今回は,数回に分けてこれまで何度か紹介してきたQuantumGISを使って,デジタル化された地図画像に位置情報を与える方法を説明したい(世界地図よりは国内の地図を中心としています)。

まず調べておく必要があることは,どの地図投影法なのか,という点である。手書きで完全にオリジナルな地図であれば,残念ながら重ならない。もし,行政機関が出したような「ちゃんとした」地図が基となっていれば,投影法が定義された地図のはずであり,地理情報を与えることが可能だ。ちなみに,行政機関等の地図の投影法は以下のように決まっている。

toueihou.jpgESRIジャパン株式会社 GISとは? - 投影法について

もっともポピュラーな1/25000地形図は,UTM図法(横メルカトル図法)で投影されている。UTM図法については,日本地図センターのサイトの説明が詳しい。また,1/2500や1/5000などの大縮尺の地図の場合は,平面直角座標系による横メルカトル図法となる。この投影法についても,さきほどのサイトが詳しい。

地理情報を与えたい地図画像の投影法が分かったとして,次にどうやって地図画像を「地理情報付き地図画像」とすれば良いか。それは,画像上のある点が,どの地理座標に対応するのかを教えてあげれば良い。そのような点を複数(だいたい4点以上)を与えることができれば,他の画素の地理座標が推定できるようになる。

QuantumGISでは,このようなことができる。そのプラグインとして,Georeferencerという機能が付いている。このプラグインでは,先ほど述べた,画像上の点と地理座標を対応させて,画像に地理情報を与え,「地理情報付き地図画像」を作成する機能が付いている。

では,どの情報を参考に地理座標を取得すればよいだろうか。そこで,WMSが利用できる。WMSを利用することで,自前でGISデータや地図を用意しなくても良い。そのため,地図画像がデジタル化されており,インターネットに接続されていれば,地図画像を「地理情報付き地図画像」へ簡単に変換できる。

QuantumGISでの具体的な方法については,次のエントリで紹介したいと思う。