+ ■ 国土数値情報
昭和50年代から平成2年にかけて作成された各種データ。
Ksj2mif(シェアウェア、5000円)でMIF/MID形式に変換可能。
なお、MIF/MID形式からarcviewのshapeファイルに変換するには、同じところで開発されているMif2shp(シェアウェア、5000円)を使うか、arcviewに付属しているコンバータを使う。
(2004/04/21 11:24:00)
+ ■ データの内容
どのデータがどのくらい使えるのか。
内容に関しては、Ksj2MifでMIF/MID形式に変換したものを、Mif2Shpでarcviewのシェープファイルに変換してarcview上で操作をすることを想定している。
(2004/04/21 11:25:00)
+ ■ 行政界
- 20万分の1地勢図レベル。県全域を示すような場合に使い勝手がよい。
- 個々の市町村を見ると荒さが目立つようになる。その場合は数値地図25000を使うのが良い
- 自治体コード、自治体名(自治体コードに対応するテキストファイル)が入っているので、統計情報を図示するのに使える。
- Ksj2Mifに不備があるのか、他の県境に接している部分のポリゴンが欠落してしまい、使えません。
(2004/04/21 11:36:00)
+ ■ 鉄道
全国データが一括して入っている。
## # 線路データの変換 open (MIF , ">out.mif"); open (MID , ">out.mid"); print MIF <<"EOC"; Version 300 Charset "WindowsJapanese" Delimiter "," CoordSys Earth Projection 1, 97 Columns 1 rwID integer Data EOC $count=0; while(){ @point = split; if ( m/^L (......)(......)(......)(......)(......)(..)(..........)(......)$/) { $count++; print MID "$count,$7¥n"; print MIF "¥nPLine $8¥n"; } elsif ( m/^¥s¥d¥d¥d¥d¥d¥d/ ) { while ( $#point >= 1 ) { $xa = shift @point; $ya = shift @point; $x = $xa / 36000; $y = $ya / 36000; printf MIF ( "%.08f %.08f¥n" , $x ,$y ); } } } close MID; close MIF;
## # 駅データの変換 open (MIF , ">out.mif"); open (MID , ">out.mid"); print MIF <<"EOC"; Version 300 Charset "WindowsJapanese" Delimiter "," CoordSys Earth Projection 1, 97 Columns 1 staID integer Data EOC while(){ if ( m/^N (......)(......)(........)(........).(.)(¥d¥d¥d¥d¥d¥d¥d¥d¥d¥d).*$/) { print MID "$6¥n"; $xa = $3; $ya = $4; $x = $xa / 36000; $y = $ya / 36000; printf MIF ( "Point %.08f %.08f¥n" , $x ,$y ); } } close MID; close MIF;
## # 鉄道データの変換 open (STA , ">station.txt"); open (RW , ">railway.txt"); open (RL , ">raillink.txt"); @RWType = qw(void 新幹線 JR在来線 公営鉄道 民営鉄道); print STA qq(staID,staname¥n); print RW qq(rwID,rwcode,rwtype,rwname¥n); while(){ if ( m/^DP (..........)...(.*)$/ ) { $staID = $1; $stname= $2; $stname =‾ s/[ ]//g; print STA qq($staID,"$stname"¥n); } elsif ( m/^DS (..........)....(.)(.*)$/ ) { $rwID = $1; $rwcode = $2; $rwname = $3; $rwID =‾ s/[ ]//g; $rwname =‾ s/[ ]//g; print RW qq($rwID,$rwcode,"$RWType[$rwcode]","$rwname"¥n); } } close RL; close RW; close STA; <|
(2004/04/21 13:50:00)
2004/04/21 作成