おれさま手帖 KYOTO-STYLE :国土数値情報


DiaryHome| 管理用:

見出し



日記過去ログ

1999: 6 7 8 9 10 11 12
2000: 1 2 3 4 5 6 7 8 9 10 11 12
2001: 1 2 3 4 5 6 7 8 9 10 11 12
2002: 1 2 3 4 5 6 7 8 9 10 11 12
2003: 1 2 3 4 5 6 7 8 9 10 11 12
2004: 1 2 3 4 5 6 7 8 9 10 11 12
2005: 1 2 3 4 5 6 7 8 9 10 11 12
2006: 1 2 3 4 5 6 7 8 9 10 11 12
2007: 1 2 3 4 5 6 7 8 9 10 11 12
2008: 1 2 3 4 5 6 7 8 9 10 11 12
2009: 1 2 3 4 5 6 7 8 9 10 11 12
2010: 1 2 3 4 5 6 7 8 9 10 11 12
2011: 1 2 3 4 5 6 7 8 9 10 11 12
2012: 1 2 3 4 5 6 7 8 9 10 11 12
2013: 1 2 3 4 5 6 7 8 9 10 11 12
2014: 1 2 3 4 5 6 7 8 9 10 11 12
2015: 1 2 3 4 5 6 7 8 9 10 11 12
2016: 1 2 3 4 5 6 7 8 9 10 11 12
2017: 1 2 3 4 5

最近のキーワード


+国土数値情報

昭和50年代から平成2年にかけて作成された各種データ。

http://nlftp.mlit.go.jp/ksj/

http://www.nla.go.jp/ksj/

Ksj2mif(シェアウェア、5000円)でMIF/MID形式に変換可能。

http://www.mmtm.tv/

なお、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)


+ ■ 行政界

(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 作成


[Top] [Homepage] [Diary]