2003年11月28日
数値地図25000のフォーマット(メモ)
数値地図でダウンロードできる「数値地図25000」のフォーマットを調べてみた。
それを元に生成してみた港区の道路図(swf)
パッと見、一ノ橋と新一ノ橋の交差点がつながっていないのが気になるが、道路区間だけの描画では何か足りないのだろうか?
…と思ったが、「数値地図25000(空間データ基盤) 簡易表示ソフト」で表示させてもつながっていないので、データの不備だろう。
ファイル名と内容はそれぞれ、
CM 地名
DK 道路区間
DS 道路節点
EK 駅
GD 行政代表点
GK 行政界
HA 橋
KJ 基準点
KK 河川区間
KO 公共施設
KS 河川節点
MH メッシュ標高
SK 水域界
TK 鉄道区間
TO トンネル
TS 鉄道節点
YO 雪覆い
になる。例えば「13103DK.sal」というファイル名は、13103(港区)+DK(道路区間)+.sal(拡張子)という意味になる。
内容のフォーマットを調べてみたが、ファイル仕様(応用スキーマ)を見ても、具体的にどの値がどの意味に該当するのか、なぜか記載されていない。
実際のデータとつき合わせて推測したものが以下。とりあえず道路区間のみ。
DK(道路区間)のフォーマット
状態 JT:
11 = 供用中
有料 YU:
1C = 有料
1D = 無料
種別 SB:
13 = 庭園路
14 = 石段
15 = 一般道
16 = 高速道路
幅員 FI:
17 = 1.5m未満
18 = 1.5m以上3.0m未満
19 = 3.0m以上5.5m未満
1A = 5.5m以上13.0m未満
1B = 13.0m以上
1E = 真幅道路等
実際は、例えば以下のような行で構成されるテキストファイルになっている。
DK(ID{DK000174}){JT{11}YU{1D}SB{13}FI{19}NM{}CV(ID{CV000352}){000500,000507}EG(ID{EG000010}){BD(IR{ND13103000035})BD(IR{ND13103000037})GM(IR{CV13103000352})}}
道路を描くために必要な座標は、CV(ID{CV000352}){000500,000507}の{000500,000507}から割り出す。
これ自身は座標値ではなく、地点番号のようなもの。500番地点と507番地点を線で結んだものが、この一行の道路区間ということになる。
地点番号に対応する座標値は同じディレクトリにある拡張子slpのファイル(13103DK.salの場合、13103.slp)に含まれている。このファイルの500行目と507行目が座標値になる。
例えば13103.slpの507行目は
0012324001387970
となっている。この前半8桁が経度、後半8桁が緯度になっている。
http://mapbrowse.gsi.go.jp/dmap/sdf25000/teisei/Decode.lzh
のなかのdecode.ini
にいろいろ書いてあるようです。