農業工学研究所からの委託研究として平成16年度、平成17年度に実施された成果です。本業務の成果を元に地理情報システム学会(GIS学会)の機関誌「GIS-理論と応用」に論文を発表しました。解析のフローGISデータ連係プログラムシミュレーションデータの自動作成シミュレーション結果の表示1.水理解析とGISデータ河川の流出解析を、不定流計算などのシミュレーション水理解析で行わう場合、従来は、シミュレーションを実行するためには、シミュレーションプログラムに応じたデータを作成することが必要でした。不定流計算を行う場合、次のような手順が必要になります。計算対象となる水路の平面図や縦断図を用いてメッシュ分割を行う。分割されたメッシュに番号を付ける。番号に基づいて、水路の分合流や水理構造物のデータを作成する。した方法でデータを作成する場合、次のような問題点がありました。番号で管理されているので、変更する際に手間が掛かる。番号1の上流側に計算対象水路を追加する場合には、全ての番号を付け直すことになり、メッシュを細かくする場合には、やはり番号の変更をする必要がある。水理構造物や、境界条件のデータが全て番号で管理されるため、メッシュごとのデータ作成を手作業で行う必要がある。した複雑さのため、シミュレーションの計算は、プログラムに習熟した専門家に依頼してデータの作成を行う必要があり、プログラムに習熟していない人間にとっては、敷居の高いものでした。専門家であっても、メッシュを分割したり、追加する作業に非常に手間が掛かるという問題がありました。GISによる河道や流域の入力は、元になる地図を判読できれば、比較的容易に行うことができます。GISで入力されたデータを用いて、シミュレーションのためのデータを作成することが可能になれば、シミュレーションを実行する作業を格段に簡略化することができます。2.GISデータの連係GISデータの基づいてシミュレーションを行うためには、いくつかの条件が必要となります。河道データを考えた場合、GISデータでは、河道は線(ポリライン)データとして入力されます。GISデータが単に河道の位置を画面上で表示するだけの場合、河道ポリラインデータは、線のどちら側が上流であるかとか、下流端でどの河川に合流するかといったことは、GISを見る人間が画面上で判断すれば十分です。シミュレーションにおいては、合流する河道がどれであるか、合流位置がどこであるかということは重要な情報であり、こうしたデータなくしては、計算を進めることはできません。したがって、GISデータの基づいてシミュレーションを行うためには、GISデータを入力する段階で、1本1本の河道を識別名で区別したり、河道と河道の関係を定義しながら入力する必要があります。河道だけでなく、流域からの流出を考える場合においても、ある流域がどの河道のどの位置に流出するかといった情報が必要になります。このように、GISデータ相互の関係を考えた上でデータを作成する必要があります。した相互関係を考えたGISデータ作成を行う作業が、シミュレーションプログラムのデータを作成するのと同様に多くの手間がかかってしまっては、やはりシミュレーションの実行が敷居の高いものになります。GISでは、各種の空間演算機能が整備されており、空間演算機能を駆使することにより、GISデータ相互間の関係を自動的に作成することが可能になります。流域から河道への流出を考えた場合、流域ポリゴンと交差する河道ポリラインの部分ポリラインを求め、その部分ポリラインの最下流部を流出点と決めるといったことが可能になります。編集のための補助機能を付加することも可能であり、河道を入力するときに、自動的に河道の接続関係を作り出すことも可能です。最小限のデータ入力だけで、シミュレーションのためのデータ作成が可能となります。本業務では、次に示すプログラムを開発し、GISデータからシミュレーションの実行を自動化することを行いました。シミュレーションの結果を読み込んでGISで表示するプログラムこれらの自動化処理により、シミュレーションを実行する場合、最小限のデータを用意するだけで計算を実行することが可能となりました。3.解析のフローGISデータの作成から、シミュレーションの実行、結果の表示までの流れを下図に示します。個々の段階でのデータの関係を示したものが下図です。図中網をかけたデータが、あらかじめ用意するデータです。上記のデータの内、河道と接続点のデータは、空間的にはっきりと結びついている必要があります。このデータを通常のGIS編集機能で行った場合、煩雑となるので、河道データを容易に入力できる補助システムを開発しました。入力してある下流側の河道に必ず接続するデータを入力することができます。接続点レイヤが自動的作成され、さらに上下流関係の属性も自動的に作成されます。識別名は使用者が入力する必要があります。【ため池流出点の作成】ため池レイヤと河道レイヤの位置関係からため池の流出点を求めるプログラムを作成しました。決定法は以下の通りです。ため池ポイントから周囲20m範囲の中にある河道を探索する。ため池ポイントから探索した河道までの距離を求める。探索した河道の中でため池に最も近い河道を流出河道とする。流出河道でため池に最も近い点を流出点とする。河道の上流点から流出点までの距離を求める。流域レイヤと河道レイヤの位置関係から流域流出点を求めるプログラムを作成しました。決定法は、以下の通りです。流域と交差する河道を探索する。複数の河道と交差する場合、下流側の河道を流出河道とする。流出河道と流域の交点を求める。交点の内、最も下流側にある点を流出点とする。【ため池と流域の関係】ため池と流域の位置関係から、ため池を含む流域を求めるプログラムを作成しました。全ての流域ポリゴンについて、ため池ポイントが含まれるかを探索し、含まれる場合には、ため池流域とし、ため池レイヤのため池属性にため池識別名を入れます。流域を分割するかあるいは、ため池の位置をずらす措置が必要になります。流域が水色で塗られているものがため池直接流域、緑で塗られているものがため池間接流域です。ため池レイヤ、黄色で示したものが上流ため池、緑で示したものが下流ため池です。【ため池上下流の判定】ため池流出点の情報を使用して、直列するため池及びため池間接流域を判定するプログラムを作成しました。決定法は以下の通りであす。当該ため池に最も近いため池を探す。見つかったため池は、当該の上流側に直列するため池とし、ため池レイヤの下流ため池属性に当該ため池を入れる。当該ため池の流出河道と同一の流出河道を持つ流域を列挙し、当該ため池と�@で求めた上流ため池との間に流出点がある流域を探す。当該ため池の間接流域とし、流域レイヤの下流ため池属性に当該ため池を入れる。当該ため池の流出河道を下流側河道とする河道を列挙し、当該ため池と�@で求めた上流ため池との間に合流点ある河道を探す。見つかった場合には、河道レイヤの下流ため池属性に当該ため池を入れ、その河道を対象として�@〜�Bを繰り返す。それぞれの判定で、流域レイヤの流出タイプ属性も自動作成されます。流域の流出は、次のように決めました。河道に流出これらの方法で求めた流域の流出点と流域の重心を結んで、流出方向を表示する流域流出レイヤを自動作成するプログラムを作成しました。このプログラムにより、作成された流出方向を下図に示します。レイヤと土地利用レイヤから、流域ごとの土地利用面積を集計するプログラムを作成しました。集計は以下の方法で行いました。流域ごとに流域と土地利用ポリゴンを探索する。探索された土地利用ポリゴンと流域ポリゴンの交差ポリゴンを求める。交差ポリゴンの面積と流域の面積から土地利用面積比率を算定する。求められた面積比率を、集計表に格納する。このプログラムでは、集計結果を別のテーブルに保存します。集計時には、土地利用レイヤにある土地利用種別コードに対応する土地利用名称を与えておく必要があります。作成されるテーブルには、流域識別名が格納されているので、流域レイヤと結合して表示することができます。水田面積比率について表示したものを下図に示します。上記の自動化処理によりデータ間の連携が可能となったので、これに基づいて、不定流計算のためのデータを自動作成するシステムを開発しました。次の方法で、GISデータから河道のメッシュを作成します。当該河道の横断形状データを探す。横断形状ポイントと河道の距離が最短となる河道上の点を横断形状変化点とする。当該河道を流出河道とするため池を探す。ため池がある場合は、その中の下流側の流出点を始点とする。ため池がない場合は、上流端を始点とする。始点から下流端までメッシュ分割を行う。指定したメッシュ間隔で等分割するが、横断形状変化点がある場合は、その地点でメッシュを分割する。指定したメッシュ間隔の半分以下のメッシュを作らないようにする。河道が下流で他の河道に合流する場合は、ダミーメッシュを作る。下流河道の識別名と距離を一時的に格納する。�@〜�Eを全ての河道について繰り返します。下流ため池属性がある場合は、メッシュ分割を行いません。以上の手順で作成したメッシュに基づいて、不定流メッシュレイヤを作成します。メッシュ名は、(河道名)_(河道内通し番号)という名前になる。当該河道で横断形状データがある場合は、それを使用する。横断形状データがない場合は、指定した既定値とする。当該河道の周囲20m以内の標高点ポイントを探す。標高点ポイントと河道の距離が最短となる河道上の点を河道標高点とする。メッシュ中心位置の前後の河道標高点を使用してメッシュの標高を直線補間で求める。メッシュ中心位置の前後に河道標高点がない場合は、下流側または上流側の近い方から2点の河道標高点を使用してメッシュの標高を直線外挿補間で求める。全ての河道メッシュを作成した後、合流点メッシュを探索する。ダミーメッシュの合流位置から、合流下流側の河道に属するメッシュを探索して合流点のメッシュを決定する。ため池データの作成ため池を考慮したデータを作成する場合、次の方法でデータを作成します。ため池も計算上メッシュとして扱うので、ため池一つにつき一つのメッシュとダミーメッシュを作成する。ため池が河道に流出する場合は、河道の最上流メッシュにダミーメッシュをつなげる。ため池が直列ため池の上流になる場合は、ダミーメッシュを下流側ため池につなげる。ため池標高は、河道流出の場合、河道最上流に5mを加えた値。ため池につながる場合、下流ため池の標高に5mを加えた値とした。不定流計算ではため池は、相互の水位差を考慮して計算することはありません。余水吐越流時に完全越流になるように与えました。b)ため池水位−水面積関係ため池の水位−水面積関係をため池の形状を仮定してに与えました。c)余水吐ため池メッシュとダミーメッシュとの間に余水吐越流堰を与えました。流域からの流出量は不定流計算の流量境界(横流入)データとして作成しました。ともため池に流入するように与えました。河道メッシュの上流端に流入するように与えました。直列の最下流ため池の流出点に相当する河道メッシュに与えました。ため池を含まない流域の場合、流域の流出点に相当する河道メッシュに与えました。土地利用データのある場合で、土地利用ごとに流域流出量を変える場合は、一つの流域に含まれる土地利用種類数分だけ別個に流入データが作成されます。いう形式で作成されます。データ作成時に流域からの流出計算を行い、不定流計算の流量境界データを作成します。流域流出量は土地利用ごとの単位面積(1km2)の値として計算します。流出計算は、貯留関数法を用い、係数値はデータ作成時に与えます。降雨データは、Excelファイルで時間単位に用意する必要があります。不定流計算データは、Excelファイルに作成されます。不定流計算の実行は、不定流計算用Excelプログラムを用いて実行されます。計算メッシュごとの時系列データとして存在するので、GISで表現する場合、ある時間断面における、状態を表示することとなります。計算メッシュやため池は、属性で一意に識別が可能であり、計算結果に同じ識別名があれば、GISのテーブル結合機能でGISデータに計算結果を結合することができます。表示システムとして次の2種類を作成しました。【河道流量の表示】メッシュごとの流量をラインフィーチャーの色で段階表示したものです。【ため池満水率の表示】ある時刻におけるのため池満水率を段彩表示したものです。