TNTmipsV6.1
1999.6.10

数値地図25000(地図画像)の利用

 
これは国土地理院発行の25000分の1地形図を読み取った画像データです。
TIFF形式で入っているのでIMPORTを使ってTNTmipsに取込めます。
 
A)読みこみ方
1. Process/Import/Exportメニューを選ぶ。
2. Object Type: Rasterを選ぶ。
3. Available FormatsからTIFFを選んで、Importボタンを押す。
4. FilesタブでSelectボタンを押す。
5. CDからTIFFデータを選ぶ(ここでは「静岡」の513870.TIFを使用)。
OptionsタブでCompressを選んでおくと圧縮が効いたオブジェクトになる)。
6. Importボタンを押す。
7. Import先を指定する。
 
取込んだものをDisplay/Spatial Data/2Dで表示した。


B)建物、道路の抽出
次にこれのカラーマップを見てみます。使用されている色は少ないです。
1. ToolsボタンからEdit Colorsメニューを選ぶ。

 
2. 茶色がコンターです。マウスで開始のセルをクリックするとIndex8と表示されます。終わりのセルは15です。従ってコンターは8から15の範囲に広がって存在していることになります。灰色は道路や建物です。セルの値は32から63です。
ここでは灰色の道路、建物を2値のバイナリデータとして取り出すことをしてみます。
3. Edit Colorsのウィンドウを閉じます。
4. Displayのメニューを終了します。
5. Process/SML/Edit Scriptを選択。
6. 以下のSMLを使用。
 
clear()
GetInputRaster(Rin)
lins=NumLins(Rin)
cols=NumCols(Rin)
datatype$="binary"
GetOutputRaster(Rout,lins,cols,datatype$)
 
for each Rin[row,col] {
# for contours
# if ((Rin[row,col] >= 8) and (Rin[row,col] <= 15)) then
# for roads
if ((Rin[row,col] >= 32) and (Rin[row,col] <= 63)) then
Rout[row,col] = 0
else
Rout[row,col] = 1
}
 
7. Runボタンを押して実行します。
8. まずは入力ラスタとして先のTIFFラスタを指定。
9. 次にRoutとして適当に名前を与える。
10.1分ほど処理します。終了したらSMLを終わります。
 
結果をDisplay/Spatial Dataで見ます。Display ControlsウィンドウでNull Cell Transparentをオフにすると道路、建物が黒で表示されます。凡例ビューが場所をとるのでとりあえずNONEにして消し、2つウィンドウを並べて、GeolockをONにしてウィンドウを同期させます。
抽出は間違ってないようです。
 

 
C)ベクトル化
2値にしたので、自動ベクトル化を行ってみましょう。
1. Process/Convert/Raster to Vector/Auto-Traceメニューを選択。
2. 先ほどの2値化したラスタを指定。
3. パラメタは何度かTestして、とりあえず以下のように指定。


4. Run。出力ベクタを指定。
5. File/Exitメニューで終了。

結果のベクタと元のラスタをDisplay/Spatial Dataで並べて表示しました。

 
6. 黒の塗りつぶしの建物やV字のマークは消失しました。これは丸い形状の図形は細線化で小さくなって最後は消えてしまうからでしょう。ハッチのかかった建物も自動ベクトル化のフィルタの効果でほとんど消えています。
7. 長い道路縁だけが、一部消失もありますが、残っています。結構まともだと思いました。
8. 拡大すると、T字のところでYになっている所が当然あります。このデータでは2直線の交差はあまりないせいか、>-<の個所も元々少ないようです。


 
後はこれをラスタを背景にしてEdit/Spatial dataで追加、削除、修正してきれいなデータにします。
なお、ここではジオリファレンスしてませんが、インポートしたラスタにはすぐジオリファレンスを付けた方がいいです。
 
潟IープンGIS