国土数値情報から河道網データセットを生成するシステム (Last update, December 12, 2008)
国土数値情報 KS-271 (河川単位流域台帳) および KS-272 (流路位置)、
または国土数値情報 W15-52L (河川) から plain format V.2 形式の
河道網データを生成するシステムについて説明します。
plain format V.2 形式の河道網データを生成する手順は以下の通りです。
- 二次メッシュごとの plain format V.2 データの作成
- 複数の plain format V.2 データの合成
- 河道点の標高値の内挿
- 任意の地点での河道区分の切断
- 河道データの抽出
- 河道網データの表示
以下、この順にしたがって説明していきます。各作業を行なうプログラムも
以下の説明の中で取得できます。なお、これら以外に以下のサブプログラム
を準備しています。 tools のページに簡単な
説明があります。
二次メッシュごとの plain format V.2 データの作成,KS-271 および KS272 を利用する場合 (Last update, August 17, 2007)
二次メッシュごとの plain format V.2 データの作成,
W15-52L を利用する場合 (Last update, December 12, 2008)
- 用いるプログラム
W15toPF2-1.4 (Intel Fortran 11.0 で動作確認。たぶん、Fortran 90 ならば動作するはず)
- 概要
W15toPF2.f90 は、ホームページで公開されている国土数値情報の W15-52L から plain format V.2 河道網データを作るプログラムです。
このプログラムでは、二次メッシュ単位で河道網データが 生成されます。
- 入力ファイル
- 国土数値情報(国土数値情報統一フォーマットダウンロードサービスから、水文(流路(線))を選択して W15-52L をダウンロードしてください。
- 出力ファイル
- 2 次メッシュ単位 plain format V.2 河道網データ
- [開発者] 佐山敬洋
- [修正者] 立川康人 Dec. 12, 2005
- [注意]
- 端点の位置を表す属性情報にバグがある可能性があります。修正中です(2011年8月5日)。
複数の plain format V.2 データの合成 (Last update, August 18, 2007)
河道点の標高値の内挿 (Last update, August 6, 2007)
- 用いるプログラム
altitudeToPFdata-1.4 (gcc ver. 3.4.4 でコンパイル確認)
- 概要
KS-271, KS-272 から作成された plain format V.2 データには、
標高値が与えられていない河道点も含まれています。そのような点が
あると都合が悪いので、標高値の与えられている点から標高値を内挿
して、再び plain format V.2 データとして出力します。
- 使い方
(1) 引数なしで起動する場合 :
% altitudeToPFdata
# input file (plain format V.1,2) : sample.pf2.data
# output file (plain format V.2) : sample.pf2.alti.data
(2) 引数つきで起動する場合 :
% altitudeToPFdata sample.pf2.data sample.pf2.alti.data
o "sample.pf2.data" は、plain format V.2 データセットです。
o "sample.pf2.alti.data" は、各河道点の標高値を内挿した結果を
出力するファイルです。plain format V.2 形式です。
- 入力ファイル
- 出力ファイル
- [開発者] 市川 温
任意の地点での河道区分の切断 (Last update, August 17, 2007)
- 用いるプログラム
cutSegment-1.2 (gcc ver. 3.4.4 でコンパイル確認)
- 概要
- cutSegment は、plain format V.2 データに記録されている 河道区分を任意の地点で分割し、その結果を再び plain
format V.2 デー タとして出力するプログラムです。たとえば、 流量観測所が設置されている地点で河道区分を分割することに よって、観測流量と計算流量の比較が行ないやすくなります。
- 分割することによって新しい河道区分が作成されます。新しく作成された河道区分番号は、すでに存在する最大の河道区分番号の後に順次、決められます。
- 使い方
(1) 引数なしで起動する場合 :
% cutSegment
# input file (plain format V.1,2) : tono.d.dat
# cut point coordinate file : cutPoint.dat
# output file (plain format V.2) : tono.c.dat
(2) 引数つきで起動する場合 :
% cutSegment tono.d.dat cutPoint.dat tono.c.dat
第1引数(tono.d.dat)…元となる plain format V.2 ファイル(入力ファイル)
第2引数(cutPoint.dat)…切断位置の座標を記したファイル(入力ファイル)
第3引数(tono.c.dat)…出力される plain format V.2 ファイル(出力ファイル)
- 入力ファイル
- plain format V.2 河道網データ
- 切断位置の座標を記したファイル
- 出力ファイル
- サポートプログラム cutSegAuto-1.0 (October 31, 2007)
- 一定の長さで河道を区分するために、cutSegment の入力ファイル cutPoint.dat を作成する。
- 使い方
- % cutseg_auto.exe
- 入力ファイル
- 出力ファイル
- 注意:フォートランで作成されたプログラムです。プログラム中で区分する河道の長さ、入力プログラム名、出力プログラム名を指定しています。適当に変更してコンパイルしてください。
- [開発者] 佐山敬洋
河道網データの抽出 (Last update, November 21, 2007)
- プログラムパッケージ名
extractNetwork-1.4.tgz (gcc 3.4.4 でコンパイル確認済, Aug. 17, 2007)
- 概要
- plain format V.2 形式の河道網データセットから、指定した河道区分より上流の部分水系を抽出します。出力されるデータも plain format V.2 形式です。
- 切り出したデータの河道区分番号は、もとの pf2 データと同じ番号です。
- 河道が適切に繋がっているかどうかを確認するプログラムです。必ず、このプログラムを用いて、対象とする河道が正しく作成されているかを確認してしてください。gnuplot
で、最初に合成した河道を描画して、次に抽出した河道を上に描画すると、正しく河道が週出されているかどうかが一目でわかります。
- もし、どこかの流域が抜けているようでしたら、もとの河道データにバグがあります。もとの(extractNetwork で入力データとした)PF2
データを手作業で修正して、正しい河道データを作成してください。
- [修正]
- ver.1.4 2007.11.21 抽出した河道区分番号を別ファイルに書き出すようにした。後で extractNodeEdge で、特定の河道区分への斜面寄与域を抽出する場合に便利である。佐山・立川
- [入力]
- plain format V.2 河道網入力ファイル
- 河道区分番号 (この河道区分より上の部分水系のデータが抽出されます。)
- [出力]
- 抽出された plain format V.2 河道網ファイル
- 抽出された河道区分番号を記述するファイル
- [注意]
- ここで作成する抽出する河道データは、対象とする河道が正しく接続しているかどうかを確認するために用います。
- もし、河道がうまく正常に抽出できない場合は、手作業で PF2 データを修正することになります。このとき、抽出した河道を修正するのではなく、もとの全体の
PF2 データを修正してください。
- 後で extractNodeEdge を用いて標高データと組み合わせて部分流域を抽出するときに、PF2 形式のデータを用います。このとき、PF2
形式のデータが、ここで抽出した河道網だけでなく、周辺の対象外の河道も入っていると、流域データの抽出を確実に行うことができます。対象河道のみを抽出したデータを用いると、平坦なところで、流域外のところまで、自分の流域としてしまうことがあります。周辺の対象外の河道も入った
PF2 データを用いると、こうしたことは通常起こりません。
- そこで、適切に河道が抽出できることを確認した後も、対象河道のみを抽出した PF2 データでなく、周辺河道も入った PF2 データを以降の作業に用いてください。
- [開発者] 市川 温 ・村上 将道
- [修正者] 立川康人・佐山敬洋
河道網データの表示 (Last update, October 8, 2007)
- 用いるプログラム
riverplot-1.3
- 概要
riverplot.sh と riverplot2.sh があります。riverplot.sh は plain format V.2 データファイルに記録されている河道網を、河道区分番号とあわせて
gnuplot で表示するためのファイルを生成するプログラムです。riverplot2.sh はさらに合成するまえのグリッド情報も表示するファイルを生成します。
- riverplot.sh の使い方
- % riverplot.sh 第1引数 第2引数
- 第1引数:plain format V.2 データファイル
- 第2引数:出力ファイル
- riverplot2.sh の使い方
- % riverplot2.sh 第1引数 第2引数 第3引数
- 第1引数:plain format V.2 データファイル
- 第2引数:2次メッシュの4角の値を記したgnuplot用ファイル
- 第3引数:出力ファイル
- 注意
このプログラムを使うためには、 preRiverPlot-3.3と segNum-2.3が必要です。riverplot.sh, riverplot2.sh の中から segNum2 と preRiverPlot を利用しています。
- segNum2 はplain format V.2 のデータファイルを gnuplot で表示する場合に河道区分番号 も併せて出力できるように補助プログラムです。以下のように使います。出力ファイルには、河道番号が記述された
gnuplot ファイルの一部が出力されます。
% segNum2.exe plain format V.2 データファイル 出力ファイル
- preRiverPlot はplain format V.1, V.2 を加工して、河道区分を構成する一連の点列のデータの間に 空白行を挿入し、gnuplot
で描画するためのデータセットを出力します。perl のスクリプトです。以下のように使います。
% preRiverPlot.pl plain format V.2 データファイル > 出力ファイル
$Lastupdate: December 12, 2008 $