1. 地図画像にIllustratorまたはPhotoshopで描画

2. 地図画像ファイルのサイズを小さくする方法

3. 地図画像 表示ソフトによるbit画像出力,1チャネル2値化,GISへ

 

地図画像にIllustratorまたはPhotoshopで描画 2003.8.6〜10

 ここで示す情報はGRASSなどのGISを使う方だけではなく,既存の数値地図(地図画像)に何らかの描画をする方々にも有効な方法だと思っています。Photoshopで描くと当然ながらイメージデータになるので他の画像レイヤーに重ねて表示したりするのにはかなり不便なので,Illustratorを使った方がいいと思っています。

 手順:

1. PIXTOPOで正規化・接合  地形図の接合を参照

 接合するまえに数値地図をさわるとPIXTOPOで読み込めない。IBM tiffでPackBits(RLE)圧縮していて画素数が同じでもだめだ。そこで先に地図画像25000を接合する必要がある。PIXTOPOでは最大横縦とも5×5図葉だけ接合しうるので,まとめたい領域がより広い場合には全体の範囲を矩形領域に分ける必要がある。
 沖縄本島を例に示すと,PIXTOPOでの接合をするのに,赤枠と青枠とどちらが適切だろうか。結論から先にいうと赤枠である。さし当たりの必要範囲は青枠だし,後に追加的に沖縄本島全域を接合する場合にも適切と考えられた。ところが,「はみ出し」の問題があってだめなのだ。青枠の最右列の「安波」図幅の下隣そして「国頭平良」の右隣の断(独立した地図画像としてはないが,MEMでは「高江」392872に当たる)片を「はみ出し」という。この部分を「安波」と「国頭平良」で分け合っている。このような場合,PIXTOPOでは「安波」と「国頭平良」の両方の正規化の計算で392872.tifを出力してしまい,「高江」392872の正規化がうまく行かず,接合の際にもエラーとなる。赤枠領域にもはみ出しは結構あるが,そのようなエラーが出ない場所を選んでいる。

 各図葉に対する2次メッシュコードを次に示す。

 接合の前に,まずはPIXTOPOで個々の図幅の正規化を実施する必要がある。この際に中心的な図郭の幅・高さのイメージサイズに揃える必要があるので前もって画像サイズを調べて中心的と考えられる図幅を決定しそのサイズをメモしておく必要がある。全部の正規化が終わったら接合する。

 上の表に示した沖縄本島中部の地形図は,4桁の算用数字から2次メッシュ名を持ったフォルダーに入っている。つまり,上のファイル群だと,4つのフォルダーに分かれている。PIXTOPOではパスの異なるファイル群を一括して選ぶことができないので,上記ファイル群を2次メッシュのフォルダーから取り出して,次のようにすればいい。
 F:\DATA\392745.TIF〜402801.TIF
 F:\DATA\kanri.csv
ここでF:\はFドライブのルートディレクトリーにDATAフォルダーがあって,この下位に各地図画像ファイルとkanri.csvがあるという形を意味する。ぼくの使用環境ではWindows-Mac共有フォルダーが対応する。VirtualPCの場合,共有フォルダーもドライブCに関与するようで,必要なファイルだけ入れておくようにする。地図画像ファイルが入っていないのにPIXTOPOでファイル名を選ぶと「パスが不正」というようなメッセージが出る。kanri.csvを編集してタイトル行とともに,必要なファイル行だけを残せば,ファイルをPIXTOPOで選ぶとき簡単だ。正規化のWindowで終了すると,下の「中 止」のボタンが「閉じる」になる。
 このメッセージを見ていると,「はみ出し」を持っている地図画像に対して,「はみ出し」分のファイルが新しく作成される。「国頭平良」392871に対して「高江」392872が, 「石川」392756に対して「石川」392766が,「金武」392757に対して「金武」392850が,「宮城島」392747に対して「宮城島」392840が,それぞれできている。18枚の画像に対して40分近くかかってしまった。

 次に接合である。ここの例では地図画像は18枚だが範囲は5×5を指定する。上の図から理解できるだろう。「「実 行」する前に,接合のウィンドの下に示された枠に出力ファイル名を入力する必要がある。5×5に枠が表示されるので個々の枠内をクリックして対応ファイルを宛っていくことができる。ただ,この例の場合,次のメッセージが出る。
 出力画像の西端経度を特定できません。管理ファイルの左上・左下経度が一定でありません。
 出力画像の管理情報は出力できません。継続しますか。と表示される。
これは当然で,「伊江島」の西隣の地図画像情報がかけているからである。管理情報がなくてもいいし,作成してもいいが,基本的には不要である。
 ぼくの場合,古いVirtualPCが1GBまでのHD設定なので,「ドライブCが一杯になりました」というメッセージが出たりして手間取った。ディスクのクリーンアップで何とかクリア。
 作成された画像(高校野球を見ながらの作業であったが接合に1時間近くかかった)は,Nago_center_district.tifという名称で,圧縮率1:9のPackbits形式(47.5MB)。画像サイズは25650p×19215p,256色(8bit),470.3MB。
この一部のスナップを次に示す。

 参考: なお,GRASSを使う場合はこの作業でこれ以上の枚数を接合できる。つまり,5×5図葉を最大としてPIXTOPOで接合し,GRASSに入って接合済み図葉をr.patchして行けばいい。図葉は全て正規化されているので接合は簡単だ 。


2. 接合済画像から地形情報

 接合済みの画像を既存Windowsソフトで8bit画像の選択そして出力はできないので,画像処理ソフトを使って1チャネルに限定するか,カラー深度を減らす。
 この沖縄の例では,4色に落として,圧縮しないtiff画像で117.9MB,2色にすると58.9MB。これだけ大きいと2色がベターだろ。このスナップを次に示す。


 詳しくは次のページを参照のこと。地図画像から擬似地形画像ファイル作成

3. 画像の上に,IllustratorまたはPhotoshopなどを使って種々の描画作業, GRASSに取り込み

 そしてその画像の上に,種々の描画作業を施し,それをGRASSに取り込むことになる。ただし,GRASSへの取り込み以降は別途,ページを作成する。

以 上

 

 

 

 

 

 

2. 地図画像ファイルのサイズを小さくする方法 数値地図仲尾次25000を例に 2003.8.10作成 2004.8.3修正

 単純にファイルサイズを小さくする方法です。

 世界測地系対応の例えば沖縄県の数値地図25000で392870「仲尾次」図幅を使って作業を行う。ファイルサイズは4.7MBであるがPhotoshopで読み込んでただtiff画像で出力すると18.7MBとなる。RGBやCMYKモードにしてtiff保存すると75.1MBまたは56.3MBにもなる。
 GraphicConverter(ダウンロードでして試用して気に入ったら数千円で購入する画像ソフト)かPhotoshop(安くはなったが現在でもスキャナーなどに添付されているL版からのアップグレードでも6万円以上)を使うかで方法は異なる。

GraphicConverterで

 元画像は圧縮されたtiff画像で4.7MB。画像/カラー/で,種々選択することができる。グレイ(256)であればファイルサイズは18.8MBで解凍したサイズと変わらず。4色(2bit)ならば4.7MB,2色(1bit)ならば2.4MB。ここで示している画像ファイルはtiffの圧縮されていないものである。結論を言えば,4色(2bit)のファイルが,元画像からすると比較的軽くて等高線情報がクリアなので,最も使える。
 (解像度256を72dpi(画像サイズはかえず)にして,画像色数を白黒1bitにするとかなり小さくなる。元画像の使用メモリが95.8MBで圧縮後のサイズが46.1MB,画像ピクセル数9046×11091の場合,11.9MBになる。これでも等高線は十分に見える。)
 沖縄中部付近の地形図接合の例では実質18枚でも490MBになりGraphicConverterのメモリ割り当ては500MBでも足りないぐらいである。それゆえファイルサイズを小さくすることは極めて重要である。「樹林に囲まれた居住地」の表示は何とも気に入らないのではあるが。

Photoshopで

 モード/RGB/でチャネル表示するとRGBに分割されるし,モード/CMYK/やモード/マルチチャネル/でチャネル表示すると,4チャンネルに分かれる。1チャネルだけ保存すると4.8MB(実はPhotoshopファイル)になる。ところがtiffファイルで保存すると18.7MBになってしまって画像情報は低下しているのにファイルサイズはなんら低下していないという結果である。
 とはいえ,どのチャネルを利用するかであるがすでに述べたものと多少異なる。4チャネルCMYKのうち,Kを採用するか,M(マゼンタ)を採用するかである。Kつまりブラックだと,コンターはグレイ表示され,地名は黒,海岸線は不明確になる。マゼンタだと,コンターは黒,地名はグレイ,海岸線は明瞭。その例を次の図に示す。

 このマゼンタだけのファイルからモードを2階調にすると,2.2MBとなるがコンターの解像度が多少落ちた印象がある。モードからグレイ表示にするとチャネルの名称がブラックとなる。ファイルサイズは変わらず4.8MBである。印刷時のインクの使い方はわからないがブラックの方が効率がいいように感じるし,実はこうしないとtiff画像で保存することができない。

以 上

3. 地図画像 表示ソフトによるbit画像出力,1チャネル2値化,GISへ
      数値地図沖縄50000を例に 2003.8.7作成 8.10修正 10.6修正

このページを読まずに,機械的に処理したいのであれば,を参照。

 (注記)以下は地図画像50000を例にして提示したが,地図画像25000も同様である。
 地図画像50000の図郭はUTMの等分割法を必ずしも取っていない。特に沖縄県などの島嶼地域がそうで,注意する必要がある。

 この2.0MAPDSP表示ソフトは地図画像CDに含まれている。例えば平成13年3月1日発行の数値地図沖縄50000には含まれていた。平成14年4月1日発行の数値地図沖縄25000には,v.3が同梱されている。使用法はほぼ同じだ。ぼくはMacOS9上のVirtualPC内のWindows98にインストールして使っている。

BMPファイル出力まで

 沖縄本島関係の図郭の出力を例に示す。例えば名護図幅は,久米島(東)・那覇(西)の範囲に収録されている。このインデックスを選ぶと,名護を含むインデックスマップが現れる。グラフィック上で名護図幅を選び,表示/表示内容の設定/を選ぶと,8ビットレイヤーが現れるので,「河川水面,海水面,湖水面」(2万5千分のTの場合は,「水面」)と,「等高線,がけ,土堤,温室・畜舎・タンク」(2万5千分のTの場合は,「等高線・地下鉄など」)のチェックを残して他のチェックを外す。(2万5千分の1地図画像では「水涯線など」もチェックしている)。そして,編集/地図画像全域のBMPファイル作成/を選ぶ。等倍出力を選び,出力ファイルを指定する。保存パスを指定するが,ぼくの場合は,Win-Mac共有フォルダ内の沖縄本島フォルダを指定する。ファイル名を入力するが,extensionsの.bmpは自動的に追加される。例えば「沖縄市南部」だと,9650kB (5144×3842) 254dpiという情報が表示される。
 この画像情報の意味については,9650kBはファイルサイズ,5144×3842は画像の幅×高さピクセル値,254dpiは解像度。この情報は画像出力の後,PhotoshopやGraphicConverterなどで画像情報を表示すると得られる。

 .bmpはWindows用のファイル形式であるがMacのPhotoshopでもGraphicConverterでも開くことができ,tiff画像に変更できる。PhotoshopでもGraphicConverterでもIBM用かMac用か指定する必要がある(白黒画像の露出計的基礎 0.とすると白をゼロにすることに該当しMac用,1.とすると黒をゼロにすることに該当しIBM用)が,いずれにしてもマックで読み込める。tiff画像にすると何れも18.7MBになった。.BMPファイルのちょうど2倍になっている。つまりは2ビット分だけのファイルを作っても画像サイズが縮小されない。
 「名護」のCDロム中のファイルは6.2MBである。これはPackbits圧縮がなされていて圧縮比は1:2である。これを8bit分全部含んだまま.bmpファイルに出力すると17.3MBとなった。画像ソフトで6.2MBの元ファイルを読み込んで非圧縮のtiff画像として保存すると17.4MBとなった。このように2bit分だけ取り出す作業をしても何らファイルサイズは小さくならない。

1チャネル2値化

 「名護」の2bit画像出力した.bmpファイルは9.3MBであるが,これをAdobe Photoshopなどの画像処理ソフトでRGBモードにしてチャネルウィンドでRGBの各チャネルのみを表示することができる。Rチャネル表示だけにすると海域が黒に染まる。Bチャネル表示だけにすると「樹木に囲まれた居住地」は黒になり等高線を隠す。川筋の表示も消える。そこでGチャネルだけを残すように,RチャネルとBチャネルを削除する。ただ,まずRチャネルを削除するとRGBモードから外れ,丸チャネルモードになり,マゼンダとイエローの2チャネルになる。イエローがBに対応しているようでこれを削除し,マゼンタだけを残す。これでTチャネルとなる。この段階では1.4MBになる。これを2値化すると664kBになった。そしてGRASSで使えるようにtiff画像へ別名で保存にすると,2.3MBになった。かなり軽くなる。RGBチャネルすべては必要ないのでこの方法は有効であろう。画像サイズに変更はない。
 2bit画像出力過程を経ないで,原画像を1チャネル2値化する場合でも当然ながらファイルサイズは縮小される。最終ファイルサイズは例えば「高槻」25000図幅の場合,2MBとなった。ただ解像度がデフォルトでは原図通り254dpiとなっておりピクセル寸法・プリントサイズとも何ら変更がない。
 これに対し,2bit分のレイヤーを.BMP出力過程を取った場合はプリント寸法が4倍余りになり画像解像度は
1/4近くの72dpiとなった。画像サイズの変更はない。画面上で見る限り画質は一致している。
 そこで
Photoshopの画像解像度表示機能を使って,「名護」図幅について検証した。次の図1は.BMP出力後1チャネル2値化したものの情報である。
図1

 

 次の図2は元図の情報である。
図2

そして,次の図3はこの元図で解像度を72にしてプリントサイズを51.28に指定した結果である。
図3

 この図3は図1の情報と一致しており,画像の解像度,ピクセル寸法は一致していることが理解できたのである。

参考: 数値地図「地図画像」の画像情報の意味 2003.8.7作成

 CDロムのfile:///OKINAWA/MAPDSP2/READ25.HTMは,数値地図25000(地図画像)データファイル仕様説明書である。地図画像の大枠を知るためにこの一部を次に抜粋する。

図葉ファイルフォーマット
(1)概要
・2万5千分1地形図1面が図葉ファイルとして1つのTIFFファイルとなっている。
・画像データの範囲は、原則として図郭左上隅から左方に9.0 mmおよび上方に7.5 mmの地点と図郭右下隅から右方および下方に9.0 mmの地点を結ぶ線を対角線とし、上辺と平行な辺を含む長方形とする。したがって、地形図の上辺は、TIFFファイル内の画像データのピクセル方向と一致している。

(2)TIFFファイルの構造
・図葉ファイルは、PackBits圧縮されたTIFF(Revision5.0以上)ファイルである。
・1ピクセル8ビットで表現されたパレットカラー画像であり、各ビットが2万5千分1地形図の各版(通常は、全部で8版)に対応している。各ピクセルにおいて、その版に画線があれば1、なければ0である。
版とビット位置の関係は、次のようになっている。

注記 注記マスク 墨 藍 褐 墨マスク 藍マスク 褐マスク
<−−−−−−−−−−−−−−−−−−−−−−−−>
上位ビット               下位ビット

・各版の内容は、標準的には、次のとおりです。
注記版・・・・・・居住地名や人工物、自然物等の名称、または、建物記号等
注記マスク版・・・注記文字を含む範囲をマスク
墨版・・・・・・・道路、鉄道、建物、境界等
藍版・・・・・・・水涯線、水田
褐版・・・・・・・等高線、がけ、土堤、地下鉄
墨マスク版・・・・樹木に囲まれた居住地
藍マスク版・・・・河川水面、海水面、湖水面
褐マスク版・・・・国道
* 地形図データの一部に注記版と墨版が合版され、注記が墨版に入っている場合
や注記の下の道路、建物、境界等の部分が欠落している場合があります。

管理ファイルフォーマット

 図葉ごとの図歴、図郭四隅の経緯度、UTM座標、ライン・ピクセル番号を1レコードとするCSV形式のファイル。 ファイル名は、KANRI.CSV。項目とその内容のうち,重要なものを抜粋する。

レコードの後半部分では,
図郭四隅のUTM座標(N,E)をピクセル単位で表している。つまり、この値に1ピクセルに相当する地上距離を掛けると、通常のUTM座標が得られる。但し、Eの値は中央子午線上で0としている。 
図郭四隅の画像データ上でのピクセル(P)およびライン(L)座標。画像データの上辺は、ピクセル方向と一致しているので、左上及び右上のLの値は一致する。

 以上の記述から,先の画像の意味が理解されるのではないか。

この情報を,これまで述べてきたことから,理解することができるであろう。

以 上

 

3' 地図画像 表示ソフトによるbit画像出力,1チャネル2値化,GISへ(手順)

                              2003.10.7作成12修正

1. Windows環境(ぼくはVirtualPC)で地図画像ビューワを使用する。数値地図25000「沖縄」CDロムをトレイに装填して,地図画像ビューワを立ち上げる。対象画像を選んで,表示/表示内容の決定/で,等高線・地下鉄など,水涯線など,水面,の3bit分を選んで,bmp画像出力。
2. GraphicConverterで画像/サイズ/で,元ファイルのサイズと解像度に戻す。沖縄の「名護」図幅だと,サイズは5128p×3843p,解像度は254dpi×254dpi。海の水色を白色に変える。この時,海岸線が水色だけで表示されているところは消えるが,海の色が研究論文などに使うには邪魔なのでこの処理を実施。
3. bmpファイルをtif画像で保存。オプションは圧縮無し,自己画像の露出計解釈をゼロ(白),Mac形式で保存(windows形式でもいい)。
4. 引き続き,GraphicConverterで画像/カラー/2色(1ビット)に変更する。「名護」図幅だとファイルサイズは2.4MB。
5. 画像処理ソフトで図郭分
(「名護」図幅だと,左上(75,75),左下(73,3767),右下(5052,3767),右上(5051,75))
を削除。GraphicConverterでは,選択範囲ツールを使う。このアイコンをダブルクリックすると,メニューが範囲をピクセル単位で表示する枠が表示される。「右&下を入力」のラジオボタンを選んで,「左」に対してはこの地図の図郭の左端xのピクセル値73,「上」に対しては台形上辺yのピクセル値75,「右」に対してはこの地図の図郭の右端xのピクセル値5052,「下」に対しては台形下辺yのピクセル値3843を入力する。OKする。そして,編集/選択範囲トリミング/を実行する。
6. GRASSに取り込む前に,抽出された図郭画像(「名護」図幅)の4隅の座標値を求める必要がある。x軸方向については,左端は元画像では73だった。それが新画像では1になる。つまり,73-1=72だ。右端は元画像では5052だった。それが新画像では5052-72=4980になる。x軸方向も同様に考えられるから,75-1=74となり,上端は1,下端は3767-74=3693となる。抽出された図郭画像(「名護」図幅)の4隅の座標値は,左上(3,1),左下(1,3693),右下(4980, 3693),右上(4979,1)となる。
7. 画像座標値に基づいて,xy座標系の座標値を求める必要がある。すでにイメージ座標値とxy座標値との関係は述べているが,xy座標系の原点は左下で(0,0)だから,まずは,y値を左上と左下,および右下と右上で交代する。そして,ピクセル整数とxy小数の関係ですべての座標値から0.5を差し引く必要がある。その結果,xy座標値は,左上(2.5,3692.5),左下(0.5,0.5),右下(4979.5, 0.5),右上(4978.5, 3692.5)となる。
8. 別名で図郭ファイルをtiff形式で保存する。オプションとして,フォーマットをMac用ではなく,IBM(Intel) 白黒画像の露出計的解釈 1:黒をゼロにする(PCの標準)にしておく。

途中