水害シミュレーションプログラム及び水害シミュレーションシステム
【課題】 川幅に依存せず、計算負荷の小さい水害シミュレーションを実現する。
【解決手段】 河川領域を分割し、河岸境界線を辺とする第1の格子系を生成する。次に、氾濫原領域を分割し、それぞれn辺以上の格子線で囲まれた格子より構成される第2の格子系を生成する。次に、第1の格子の河岸境界線とある第2の格子の格子線との交点を検出する。次に、一方の交点から他方の交点へのベクトル方向に基づき分類された有限個のパターンを参照し、第1の格子と第2の格子とを接続して、格子間で水量を移動させる。
【解決手段】 河川領域を分割し、河岸境界線を辺とする第1の格子系を生成する。次に、氾濫原領域を分割し、それぞれn辺以上の格子線で囲まれた格子より構成される第2の格子系を生成する。次に、第1の格子の河岸境界線とある第2の格子の格子線との交点を検出する。次に、一方の交点から他方の交点へのベクトル方向に基づき分類された有限個のパターンを参照し、第1の格子と第2の格子とを接続して、格子間で水量を移動させる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータを用いて物理現象をシミュレートするためのプログラムおよび装置に関する。本発明は特に、河川が溢れ氾濫原が浸水する水害現象をシミュレートし、シミュレーション結果を地図などの空間情報と重ね合わせてディスプレイに表示する、水害シミュレーションプログラムに関する。
【背景技術】
【0002】
コンピュータの性能向上に伴い、現在では多くの分野において物理現象の数値シミュレーションがなされている。近年では特に、シミュレーション連成(simulation coupling)と呼ばれる技術を適用することにより、複雑な物理現象を比較的小さな計算負荷でシミュレート可能になっている。
【0003】
シミュレーション連成とは、空間をいくつかの領域に分割し、領域ごとに異なる解析モジュールでシミュレートし、モジュール同士を適切な方法により接続させるシミュレーション方法である。この技術においては、空間の分割とモジュール同士の接続が重要な課題となる。たとえば気候変動シミュレーションでは、空間を海面上(大気領域)と海面下(海洋領域)に分割し、両者の境界面(海面)において海面フラックスを与えることにより大気解析モジュールと海洋解析モジュールを接続する。
【0004】
ここで、2つの解析モジュール(第1の解析モジュールおよび第2の解析モジュール)を連成させるシミュレーションプログラムにおける、空間の分割方法およびモジュール同士の接続方法を考える。このとき、第1のモジュールが対象とする領域と、第2のモジュールが対象とする領域との関係は3通りに分類できる。第1に領域同士が重なる場合、第2に領域同士が接する場合、第3に領域の間に隙間があり、領域同士が重なりも接しもしない場合である。例えば特許文献1には、第1の場合に重合格子法が適用できることが開示されている。また、特許文献2には、第2の場合にマルチブロック法が適用できることが開示されている。ところが、第3の場合にはそれらの技術を適用できない。
【0005】
第3の場合の例として、水害シミュレーションプログラムが挙げられる。特許文献3及び特許文献4に記載されるように、水害シミュレーションプログラムにおいては、第1の解析モジュールとなる河川解析モジュールと、第2の解析モジュールとなる氾濫解析モジュールとを連成させる。
【0006】
河川解析モジュールは河川領域を解析し、氾濫解析モジュールは通常市街地として利用されている氾濫原領域を解析する。両空間は、一般に堤防など大きさのある構造物により分断されている。そのため、河川領域と、氾濫領域とは重ならず、かつ接しない。
【0007】
通常水害は、河川から水が溢れる、つまり河川領域から氾濫原領域に向かって水が移動することにより発生する。したがって水害をシミュレートするためには、水は河川領域と氾濫原領域との隙間を越えて移動できるようにする必要がある。また、一般的に河川領域および氾濫領域における流れをシミュレートするためには、それぞれの領域を格子に分割する必要がある。
【0008】
非特許文献1では、河川領域と氾濫原領域との隙間を越えて移動できるようにするために、格子を用いる方法が開示されている。まず、河川領域を格子に分割する。そして、全ての河川格子の右岸側、および左岸側(ここでは河川工学の慣例に基づき、河川中心から下流方向を見て右側にある岸を右岸、左側にある岸を左岸とよぶ)にそれぞれ1つずつ氾濫格子を配置する。ある河川格子の右岸側から溢れた水は、その河川格子の右岸側に配置された氾濫格子に流れ込むと見なすことで、河川領域と氾濫原領域の間にある隙間を越えて水が移動するようになる。左岸側についても同様に処理する。
【0009】
【特許文献1】特開2003-41395
【特許文献2】特開2004-005036
【特許文献3】特開2004-197554
【特許文献4】特開2004-339752
【非特許文献1】低平地河川流域での豪雨による都市氾濫解析, 土木学会論文集, No. 761/II-67, pp. 57-68, 2004.
【非特許文献2】台形せきの越流量(第3編1.1.3), 土木学会水理委員会, 水理公式集 平成11年版, 土木学会, p245, isbn481060201X, 1999.
【発明の開示】
【発明が解決しようとする課題】
【0010】
近年、水害対策の対象河川が大河川から中小河川へと変化している。この背景には、近年集中豪雨が頻発していることが挙げられる。大河川に比べ中小河川は集中豪雨による水害を起こしやすい。そのため、中小河川を対象とした水害対策が望まれている。それに伴い、中小河川を対象とした水害シミュレーションプログラムへのニーズが高まっている。
【0011】
一般に、大河川は川幅が広く、中小河川は川幅が狭い。そこで発明者らは、川幅によらず水害をシミュレート可能なプログラムを提供しようと考えた。ところが従来知られている技術を用い川幅が狭い河川をシミュレートすると、計算負荷が莫大になるという課題があることがわかった。以下、この課題について説明する。
【0012】
非特許文献1に開示された方法では、1つの河川格子の両側にそれぞれ1つの氾濫格子を配置する。つまりこの方法では河川格子の大きさと氾濫格子の大きさが同程度なる。また一方で、河川を精度よくシミュレートするためには河川格子の全ての辺の長さを川幅と同程度以下にする必要があることが経験的に知られている。したがって従来の技術を用いて川幅の狭い河川をシミュレートするためには、河川格子だけでなく氾濫格子の辺の長さも短くする必要が生じる。氾濫格子の辺の長さが短い場合、氾濫原領域に生成される格子数が多くなり計算負荷が莫大になる。
【0013】
本発明はこれらの問題に鑑みてなされたものであり、川幅に依存せず、小さな計算負荷で水害をシミュレート可能なプログラムを提供することを目的とする。
【課題を解決するための手段】
【0014】
上述の目的を達成するために、本発明に係る水害シミュレーションプログラム及び水害シミュレーションシステムは、水害シミュレーションを実行しようとする地域の情報を入力する手段、前記入力手段に基づき、記録手段から河川データを読み出し、河川領域を分割し、河岸境界線を辺とする第1の格子系を生成する手段、前記記録手段から氾濫原データを読み出し、氾濫原領域を分割し、それぞれn辺以上(3≦N)の格子線で囲まれた格子より構成される第2の格子系を生成する手段、前記第1の格子の河岸境界線とある第2の格子の格子線との交点を検出する手段、一方の交点から他方の交点へのベクトル方向に基づき、メモリに格納されたパターンを参照して、ある第2の格子に含まれる第1の格子を他の第2の格子に接続する手段、接続された第1の格子と他の第2の格子との間で移動させる水量を算出する手段、前記第1の格子の水量と前記移動させる水量とを合成し、新たな第1の格子の水深を出力する手段、前記第2の格子の水量と前記移動させる水量とを合成し、新たな第2の格子の水深を出力する手段、を備えることを特徴とする。
【発明の効果】
【0015】
本発明によれば、水害シミュレーションにおいて、PC等に対する計算負荷を低減して高速に実行することが可能になる。これは、河川解析に適した格子系を利用した解析モジュールと、氾濫解析に適した格子系を利用した解析モジュールとを連成させているためである。本発明は川幅によらず適用でき、本発明による計算負荷を低減する効果は、例えば川幅が非常に小さいほど顕著である。
【発明を実施するための最良の形態】
【0016】
以下、本発明の実施例について詳細に説明する。
【0017】
本発明を適用するのに望ましい河川・氾濫練成シミュレーションプログラムでは、河川格子系と氾濫格子系の隙間を、どちらの格子系にとっても十分小さくなるように分割する。分割された隙間を有限通りのパターンに分類し、そのパターンごとに水の流れ方を決める。水害シミュレーションを実行するためには、河川解析モジュールと氾濫解析モジュールとを実行させた後、あらかじめ決めた流れ方によって隙間で発生する流れを再現すればよい。
【0018】
本発明を適用する実施例では、以下の幾何学的性質を利用する。辺または頂点の相対位置に着目すれば、ポリライン(polyline:折れ線または折れ曲線)と格子との交差関係が有限のパターンに分類できる、という性質である。任意の形状のポリラインと任意の形状の格子との交点の座標は、無限通りに存在する。ところが、交点の存在する格子の辺または頂点は有限通りである。たとえば、四角形の格子の場合、四角形は4辺4頂点から構成されているため、交点の存在する辺または頂点は8通りに分類できる。
【0019】
この性質は、線状の境界(境界線)で囲まれた領域に生成した第1の格子系を利用した解析モジュールと、構造格子系からなる第2の格子系を利用した解析モジュールとを連成するシミュレーションプログラムに適用できる。構造格子系とは、格子線の交点の周りにおける格子の数があらかじめ決まっている格子系である。多くの場合構造格子の形状は四角形であるが、三角形、あるいは六角形が使われることもある。本発明が適用可能な構造格子系の格子形状は四角形に限定されず、たとえば三角形、六角形であっても適用可能である。
【0020】
具体的に、n角形からなる構造格子を用いた場合に本発明を適用する方法を説明する。まず、第1の格子系の境界線とn角形からなる構造格子の格子線との交差をパターンに分類する。ここで、境界線に方向を与える(第1の格子系の内側が右側に位置する方向を境界線の正の向きとする)。構造格子の頂点および辺のみに着目すると、交差パターンはn角形の2*n個の要素(n本の辺とn点の頂点)から順番を考慮して任意の2つを選ぶときのパターン数2*n*(2*n-1)に分類できる。さらに、同一の要素(同一の辺と辺、あるいは同一の点と点)を選んだ場合のパターン(2*n通り)を加える。逆に、構造格子の格子同士の隣接関係の対称性を考慮しnで割る。以上をまとめると、交差パターンは4*n+2通りになる。たとえば四角形(n=4)の構造格子を利用した場合は18通りに分類できる。
【0021】
ただし、プログラム作成の手間を簡略化するため、上述したパターン数を削減してもよい。たとえば、第1の格子系の境界線が第2の格子系の頂点を通る場合を、辺を通るように近似しても実用上問題がないことが多い。この場合、パターンはn+1通りに削減できる。たとえば、四角形の構造格子を利用した場合は5通りになる。パターン数の算出方法は以下の通りである;n角形のn本の辺から順番を考慮して任意の2つを選ぶときのパターン数n*(n-1)に、同一の辺を選んだ場合のパターン(2n通り)を加え、構造格子の格子同士の隣接関係の対称性を考慮しnで割る。
【0022】
それぞれの交差パターン毎に、境界線と構造格子との接続パターンを指定する。接続パターンはシミュレーション対象の物理現象に合うように決めればよい。たとえば、境界線の左側にある構造格子と境界線を接続するようにする。
【0023】
境界線を第1の格子系と第2の格子系の両方の格子線(grid line)で分割する。格子線とは、隣接する格子同士の間にある線分である。この分割処理により、境界線は第1の格子系と第2の格子系のどちらの格子線とも交差しない線分に分割される。この線分を単位区間と呼ぶ。なお、必要に応じてさらに細かい単位区間に分割してもよい。
【0024】
最後に、さきほど求めた接続パターンに基づいて、この単位区間を構造格子と接続する。このようにすれば、第1の格子系と第2の格子系の間に隙間がある場合でも、両方の格子系を接続することができる。
【0025】
本発明で生成される接続子(第1の格子と第2の格子を接続する仮想的な空間)は、第1の格子系と第2の格子系とが多対多の関係で接続されることが特徴である。すなわち、1つの第1の格子と複数の第2の格子とが、また、複数の第1の格子と1つの第2の格子とが接続される。
【0026】
以下、本発明を適用した水害シミュレーション装置について、図面を参照して詳細に説明する。
【実施例1】
【0027】
図1は、本発明を実現するためのコンピュータシステムの構成を示す概略ブロック図である。水害シミュレーションプログラムは入出力部110を備えたPC (Personal Computer) 100で動作する。
【0028】
ユーザはキーボード111やマウス112等の入力部からユーザの命令を受け付け、ディスプレイ113等の出力部からシミュレーションの結果を確認する。PC 100の内部では、メモリ120に展開された水害シミュレーションプログラム121に基づいてCPU (Central Processing Unit) 130が命令を実行する。CPU 130は、氾濫シミュレーションプログラム121の実行中に、HDD (Hard Disk Drive) 140に格納されたデータを必要に応じて読み出す。
【0029】
図2は、水害シミュレーションプログラム121の機能構成図である。水害シミュレーションプログラム121は、地図生成モジュール210および水害解析モジュール220からなる。水害解析モジュール220はさらに、4つのモジュール(時間同期モジュール221、河川解析モジュール222、氾濫解析モジュール223、および越流解析モジュール224)からなる。
【0030】
図3は、HDD 140に格納されたデータを示す概略ブロック図である。HDD 140には、地図データ301、河川データ302、氾濫原データ303が格納されている。
【0031】
地図データ301は駅の位置など一般的に地図として認知される現実空間に関するデータである。河川データ302は、河川形状についての情報であり、この情報から少なくとも右岸および左岸の位置を示すポリラインを生成できる。氾濫原データ303は、氾濫原に関する情報であり、この情報から少なくともDEM (digital elevation model)、すなわち水平面に敷き詰めた矩形格子ごとに標高値を与えた地形モデルを生成できる。
【0032】
図24は、水害シミュレーションプログラム121の開始から解析モジュールの格子定義までになされる処理のシーケンス図である。水害シミュレーションプログラム121が起動すると、まずHDD 140に格納された災害データ391を読み出す(ステップ2401)。さらに、このデータを利用して入出力部110にウィンドウ2500を出力する(ステップ2402)。
【0033】
図25は、水害シミュレーションプログラム121がシミュレーションに関するデータ他を読み出す前に提示されるGUIを示す図である。このGUIはディスプレイ113の所定の領域に表示されるウィンドウ2500からなり、キーボード111およびマウス112による入力を受け付ける。このGUIを用いてユーザは、興味のある水害のレコードを選択する(ステップ2403)。つまり、水害シミュレーションを実行しようとする地域の情報を入力する。
【0034】
本実施例ではその処理を、ユーザが選択ボタン2501を選択状態にし、さらに「次へ」ボタン2502を押下することにより実現させる。テーブル2510は、HDD 190に格納された災害データ391に基づき生成する。このテーブル2510にはユーザが災害を一意に特定できる情報を記載する。
【0035】
本実施例においては、災害の名称2512および災害にあった代表的な地点(代表点)の住所2513が記載されている。また、災害データ391の各レコードに、一意な番号(災害ID) 2511を与えた。また、本実施例では、災害データ391に存在しない災害に対してユーザが興味を持った場合に備えるため、空白レコード2503を用意した。この空白レコードには、ユーザ自身がキーボード111、マウス112などでレコードを入力できるようにした。
【0036】
水害シミュレーションプログラム121は、選択されたレコードの代表点2513周辺の地図データ301、河川データ302及び氾濫原データ303を、HDDから読み出す(ステップ2404)。さらに、地図生成モジュール210が生成する地図を表示可能な、ウィンドウ400からなるGUIをディスプレイ113に出力する(ステップ2405)。
【0037】
図4は、地図生成モジュール210が生成した地図を表示した状態のGUIを示す図である。このGUIはウィンドウ400より構成され、ディスプレイ113の所定の領域に表示される。
【0038】
ユーザは所定の動作により設定コマンド401、シミュレートコマンド402を選択できる。ユーザが設定コマンド401を選択すると、格子および越流接続子を生成する処理が開始する。ここで越流接続子とは、河川格子と氾濫格子を接続する仮想的な空間である。本実施例では、河川格子と氾濫格子との水の移動をこの越流接続子を使って行う。シミュレートコマンド402を選択するとシミュレーション実行処理が開始される。
【0039】
ウィンドウ400に表示された地図410には河川420が含まれる。河川420は河岸を示すポリライン421および422からなっており、これらのポリラインはHDD 140に格納された河川データ302に基づいて地図生成モジュール210が作成する。
【0040】
ユーザのわかりやすさを向上させるためには、河川420とともに、地物など(たとえば駅411、鉄道412)を書いた地図を提示することが望ましい。例えばこの地物などの表示は、HDD 140に格納された地図データ301を用いて、地図生成モジュール210によって作成される。
【0041】
図5は、格子および越流接続子を生成する処理を示すシーケンス図である。この処理はユーザが図4設定コマンド401を選択することにより開始する。
【0042】
ステップ501で、入出力部110は水害シミュレーションプログラム121に格子生成のパラメタを入力する。ステップ501の格子生成のパラメタ入力処理の詳細を説明する。
【0043】
図6は、ステップ501において表示されるGUIを示す図である。このGUIはウィンドウ600より構成され、ディスプレイ113の所定の領域に表示される。ユーザはエディットボックス610に河川格子の間隔を、エディットボックス620に氾濫格子の間隔を入力する。OKボタン601を押すと、ウィンドウ600が非表示になり、ステップ502以降が実行される。
【0044】
ここで、河川格子および氾濫格子について説明する。河川格子とは、河川解析モジュール222に用いられる第1の格子であり、河川領域を河川縦断方向(上流から下流に向かう方向)に沿って任意の間隔で分割したそれぞれの小領域である。本実施例では、河川格子として河川縦断方向に沿った等間隔の1次元格子を用いている。
【0045】
一方、氾濫格子とは、氾濫解析モジュール224に用いられる第2の格子であり、氾濫原領域を任意の形状に分割したものである。本実施例では、氾濫格子として、東西南北に等しい長さの正方形からなる構造格子を用いている。この場合、上記2パラメタのみで格子生成が可能となるため格子生成に関するユーザへの負担が少ないという利点がある。
【0046】
なお、格子をより詳細に設定したいユーザに対しては、より詳細なパラメタを受け付ける手段を備えたGUIを提示してもよい。たとえば河川格子の間隔を任意の長さにする場合は、それぞれの格子を選択させる手段と、その格子の間隔を受け付ける手段を提供すればよい。
【0047】
ステップ502で、水害シミュレーションプログラム121はHDD 140に格納された河川データ302をメモリ120に読み込む。図4の地図410に示したとおり、この読み込んだデータから右岸を示す河岸ポリライン421、および左岸を示す河岸ポリライン422が生成できる。
【0048】
ステップ503で、右岸を示す河岸ポリライン421と左岸を示す河岸ポリライン422に挟まれた河川領域420に、第1の格子系となる河川格子系を生成する。本実施例では1次元格子を生成する。ステップ503の河川格子生成処理の詳細を図7、図8を用いて説明する。
【0049】
図7は、河川格子生成処理を示すPAD図である。図8は生成される河川格子の空間配置を示す図である。ステップ701では、右岸を示す河岸ポリライン421、および左岸を示す河岸ポリライン422についてステップ702、703を繰り返す。ステップ702では、河岸ポリライン上の任意の1点を基点に設定する。
【0050】
図8では、右岸ポリラインの基点を821に、左岸ポリラインの基点を831に設定した。ステップ703で、基点からステップ501で設定した河川格子間隔でポリラインに分割点を挿入する。図8に分割点を三角印で示す。たとえば点823は右岸の分割点、点833は左岸の分割点である。なお、ここでは河川格子間隔を、線分811の中点と812の中点の距離とした。
【0051】
ステップ704で、河川縦断方向に連続した分割点同士(たとえば821と823、831と833)を線分(たとえば822、832)で接続する。以後この線分を境界線と呼ぶ。ステップ705で、基点から同じ距離に位置する左岸と右岸の分割点同士(たとえば821と831、823と833)を線分(たとえば811、812)で接続する。以後この線分を格子線と呼ぶ。以上、一連の処理により、境界線と格子線に囲まれた河川格子(たとえば841)が生成される。生成した河川格子には一意に識別するためのIDをつけておく。このIDは、基準点から河川縦断方向に計測した道のりにすればよい。
【0052】
なお、多くの河川は、1次元格子を用いたシミュレーションで十分な精度が達成できる。ただし、ユーザがより詳細な河川シミュレーションを望む場合は、2次元格子あるいは3次元格子を生成してもよい。2次元の場合は1次元格子を河川横断方向(上流から下流を見て左から右に向かう方向)に分割すればよい。また2次元の場合は1次元格子を河川横断方向および鉛直方向に分割すればよい。
【0053】
ステップ504で、水害シミュレーションプログラム121はHDD 140に格納された氾濫原データ303をメモリ120に読み込む。すでに述べたように、この読み込んだデータからDEMが生成できる。
【0054】
ステップ505で、第2の格子系となる氾濫格子系を、氾濫原領域として指定された領域に生成する。本実施例では、あらかじめ氾濫原領域として地図410における全領域を指定しておくようにした。本実施例では正方形で構成される2次元構造格子を生成する。ステップ505の氾濫格子生成処理の詳細を図9、図10を用いて説明する。
【0055】
図9は、氾濫格子生成処理を示すPAD図である。図10は、生成される氾濫格子の空間配置を示す図である。ステップ901では、任意の1点を基点に設定する。
【0056】
図10では、点1010を基点に設定した。ステップ902および903では、基点からステップ501で設定した氾濫格子間隔で、東西方向、および南北方向に直線を引く。以後、この直線を格子線と呼ぶ。図10において、直線1021が東西方向の格子線の例、直線1031が南北方向の格子線の例である。以上、一連の処理により、格子線に囲まれた氾濫格子(たとえば1041)が生成される。生成した氾濫格子には一意に識別するためのIDをつけておく。このIDは、基準点からそれぞれ東西方向、南北方向に計測した距離からなる2数にすればよい。
【0057】
ステップ506で、生成した河川格子と氾濫格子を利用して、越流接続子を生成する。ステップ506の越流接続子生成処理の詳細を図11、図12を用いて説明する。
【0058】
図11は、越流接続子の生成処理を示すPAD図である。図12は生成される越流接続子の空間配置を示す図である。ステップ504の処理はステップ1101から1109より構成される。
【0059】
ステップ1101では、河岸境界線についてステップ1102以降を繰り返す。なお、河川は2本の河岸境界線(右岸境界線及び左岸境界線)からなるので、ステップ1102以降は2回繰り返される。また、処理対象の河岸境界線が左岸右岸どちらかであるかを識別可能なID (河岸ID)をメモリ120に記録しておく。
【0060】
ステップ1102では、河岸境界線を氾濫格子毎に分割する。この処理により、河岸境界線は両端を氾濫格子線との交点とするポリラインに分断される。このポリラインを、以後格子分割ポリラインとよぶ。
【0061】
図12に河岸境界線と氾濫格子線との交点を丸印(たとえば1201、1205)で示す。図12において、河岸境界線1211は氾濫格子1221の氾濫格子線により点1201、1203、1205を結ぶポリラインになる。当然、この格子分割ポリラインの両端(1201、1205)は氾濫格子線上にある。
【0062】
ステップ1103では、ステップ1102で作成した格子分割ポリラインについてステップ1104以下を繰り返す。
【0063】
ステップ1104では、格子分割ポリラインを含む氾濫格子を無効化する。図12において、河岸境界線を含む氾濫格子は、たとえば1221である。氾濫格子を無効化とは、その氾濫格子に水が流入しないようにする処理である。具体的には、その氾濫格子に流入する流速を常に0にする境界条件を与える。この処理により、氾濫格子系で河岸を横切る流れが発生しなくなる。
【0064】
ステップ1105では、格子分割ポリラインを有限通りのパターンに分類する。そのために、格子分割ポリラインの両端、および河川との相対位置に着目する。まず、格子分割ポリラインの両端の一方を始点、他方を終点とする。ここで、始点と終点は、両者を有向線分で結合したときに河川格子の内側が右側になるように決める。たとえば図12の点1201と点1205では始点を1201、終点を1205とする。実際に、始点を1201、終点を1205とする有向線分の右側に河川格子1212および1213が存在する。
【0065】
次に、始点および終点の相対関係、具体的には格子分割ポリラインの一方の端点と他方の端点とを接続したベクトルに着目し、格子分割ポリラインを有限通りのパターンに分類する。本実施例では正方形からなる2次元構造格子についてのパターンを示す。
【0066】
図13は、格子分割ポリラインのパターン分類の方法を説明する図である。図において、波線でハッチした部分1301は河川、矢印1302は始点から終点に向かう有向線分を表す。また、これらの図では、始点が下に来るよう書かれている。
【0067】
1つの氾濫格子を構成する格子線が4本あるため、終点の存在する氾濫格子線は4通りに分類できる。さらに始点と終点とが同一格子線上にある場合を、終点が始点の右側、および左側にある場合に分類すると合計5通りに分類できる。すなわち、左前(1310)、前(1320)、右前(1330)、右側(1340)、および左側(1350)に分類する。さらに、分類したパターンを示すIDをメモリ120に記録しておく。
【0068】
ステップ1106では、格子分割ポリラインをさらに河川格子ごとに分割する。ここで、格子分割ポリラインの節点は図7ステップ703により挿入された河川分割点である。したがって、ポリラインを河川格子ごとに分割する処理は、格子分割ポリラインをそのポリライン自身を構成する線分に分割する処理となる。
【0069】
図12に河川分割点を三角印(たとえば1203)で示す。図12において、点1201、1203、1205を結ぶ格子分割ポリラインは、それぞれ点1201と点1203を結ぶ線分、および点1203と点1205を結ぶ線分に分割される。以後、分割により生成された線分を、越流単位区間と呼ぶ。
【0070】
これらの越流単位区間の河川格子IDはそれぞれ河川格子1212および河川格子1213のIDとなる。それぞれの越流単位区間は河川格子の一部であり、その河川格子を一意に示すID (河川格子ID)をメモリ120に記録しておく。
【0071】
なお、このステップ1106では、上記実装とは異なる分類をしてもよい。たとえば、あらかじめ決めた長さより長い越流単位区間が存在する場合、その越流単位区間をあらかじめ決めた長さになるまで繰り返し分割してもよい。いずれにしても、このステップ1106で生成される越流単位区間は、河川格子の格子線とも、氾濫格子の格子線とも交差しない線分となる。
【0072】
ステップ1107では、ステップ1106で作成した越流単位区間についてステップ1107以降を繰り返す。また、この越流単位区間の形状(線分の両端点の座標)をメモリ120に記録しておく。
【0073】
ステップ1108では、越流単位区間が接続する氾濫格子を指定する。この指定方法は、パターンID、および格子分割ポリラインに対する越流単位区間の相対位置などから決めればよい。本実施例では、以下に定義する格子内区間比率Rを格子分割ポリラインに対する越流単位区間の相対位置を表すパラメタとして用い、このRごとに越流単位区間が接続する氾濫格子を指定する。格子内区間比率Rは
R=LSegment/LPolyline
と定義する。ただしLSegment: 始点から越流単位区間の中点までの長さ、LPolyline: 格子分割ポリラインの長さである。LSecgmentは、常に0以上である。また、LPolylineを越えることがないため、格子内区間比率Rの値は、0以上1以下である。
【0074】
図12に、越流単位区間の中点を菱形印(たとえば1202、1204)で示す。点1201と点1203とを結ぶ越流単位区間の場合、LSegmentは始点1201と中点1202を結ぶ線分の長さとなる。同様に、1203と点1205とを結ぶ越流単位区間の場合LSegmentは始点1201と分割点1203を結ぶ線分の長さと、分割点1203と中点1204を結ぶ線分の長さとの合計値となる。
【0075】
また、これらの越流単位区間のLPolylineは始点1201と終点1205とを両端とし点1203を通るポリラインの長さとなる。この格子内区間比率Rとステップ1105でメモリ120に記録したパターンのIDを用いて、越流単位区間が接続する氾濫格子を選択する。
【0076】
図13にパターン、格子内区間比率R、および越流単位区間が接続する氾濫格子の関係を示す。また、処理対象の越流単位区間の中点を菱形印(1303)、接続先の氾濫格子の中点を黒丸印(1304)、両者を結ぶ線分を太線1305で示す。
(1)パターンが左前型(1310)の場合、Rによらず始点から見て左後ろにある氾濫格子を選択する。
(2)パターンが前型(1320)の場合、Rによらず始点から見て左にある氾濫格子を選択する。
(3)パターンが右前型(1330)の場合、Rにより選択する氾濫格子を切り替える。(具体的には、0≦R≦1/3とき、始点から見て左にある氾濫格子を選択する。1/3≦R≦2/3のとき、始点から見て左前にある氾濫格子を選択する。2/3≦R≦1のとき、始点から見て前にある氾濫格子を選択する。)
(4)パターンが右型(1340)の場合、Rにより選択する氾濫格子を切り替える。(具体的には、0≦R≦1/3とき、始点から見て左にある氾濫格子を選択する。1/3≦R≦2/3のとき、始点から見て前にある氾濫格子を選択する。2/3≦R≦1のとき、始点から見て右にある氾濫格子を選択する。)
(5)パターンが左型(1350)の場合、Rによらず氾濫格子を選択しない。
【0077】
このようにして選択した氾濫格子IDをメモリ120に記録しておく。
【0078】
なお、このステップ1108では、上記実施例とは異なる分類をしてもよい。たとえば、前型パターン1320を左前、左、左後の3通り、右型パターン1340を左前、左前、前、右前、右の7通りに分類し、すべてのパターンが0または奇数通り(パターン1310のとき1通り、パターン1320のとき3通り、パターン1330のとき5通り、パターン1340のとき7通り、パターン1350のとき0通り)の接続方法に分類されるようにしてもよい。また、上記実施例では格子内区間比率Rに基づいて接続方法を決定したが、別のパラメタを用いてもよい。いずれにしても、このステップ1108ではステップ1105でメモリ120に記録したパターンのIDを用い有限通りのパターンに分類する。
【0079】
ステップ1109では、越流接続子を作成する。越流接続子は氾濫格子と河川格子の間での水の移動を実現する機能であり、越流解析モジュール224に含まれる。越流接続子の一方の端は越流単位区間と、もう一方の端は氾濫格子と接続されている。たとえば、越流接続子1231は、1201と点1203とを結ぶ越流単位区間と、氾濫格子1221の左側にある氾濫格子1222とを接続する。同様に越流接続子1232は1203と点1205とを結ぶ越流単位区間と氾濫格子1222とを接続する。
【0080】
越流接続子について、図14を用いて説明する。越流接続子のデータ構造を示す概略ブロック図を、図14に示す。越流接続子データは、4つのデータフィールドからなり、それぞれ河岸ID 1401、河川格子ID 1402、氾濫格子ID 1403及び線分形状1404を格納する。
【0081】
河岸IDフィールド1401にはステップ1101でメモリ120に記録した値を設定する。河川格子IDフィールド1402には、ステップ1106でメモリ120に記録した値を設定する。氾濫格子IDフィールド1403には、ステップ1108でメモリ120に記録した値を設定する。線分形状1404フィールドには、ステップ1106でメモリ120に記録した値を設定する。
【0082】
ステップ507で、水害シミュレーションプログラム121は生成した越流接続子を入出力部110のディスプレイ113に表示する。
【0083】
図15は、格子および越流接続子を表示した状態のGUIを示す図である。河川格子を波線(1511)で、氾濫格子をトーン(1512)で、越流接続子を太線(1513)で示す。1つの河川格子と単数または複数の氾濫格子とが越流接続子で接続されており、また1つの氾濫格子と単数または複数の河川格子とが越流接続子で接続されている。
【0084】
図16は、水理解析モジュール220による水害シミュレーションの処理を示すシーケンス図である。この処理はユーザが図4シミュレートコマンド402を選択することにより開始する(ステップ1601)。ステップ1602では、河川解析モジュール222の時刻を進め、ステップ1603では、氾濫解析モジュール223の時刻を進める。進める時間長さDtはあらかじめ設定しておく。ステップ1604では越流解析モジュール224の越水量を更新する。ここで越水量とは、河川格子と氾濫格子との間で移動させる水量のことを意味する。
【0085】
図17は、ステップ1604の処理の詳細を示すPAD図である。ステップ1701では、越流接続子についてステップ1702以下を繰り返す。ステップ1702では、河川格子と氾濫格子の水位と水深を取得する。取得する河川格子および氾濫格子のIDは、それぞれデータフィールド1402、1403を参照する。
【0086】
ステップ1703では、越水量を算出する。ステップ1702で取得した水位と水深を越流公式と呼ばれる実験式に代入すれば越水量が求まる。越水量Q_overの算出式の例を以下に示す。
wlev_p > wlev_r かつ wlev_p > glev_cのとき
dep0 = wlev_p glev c
Q_over = - CoefOverFlow * Length * dep0 * sqrt(dep0)
wlev_p < wlev_r かつ wlev_r > glev_cのとき
dep0 = wlev_r glev_c
Q_over = CoefOverFlow * Length * dep0 * sqrt(dep0)
それ以外の時
Q_over = 0
ただし、Q_over: 越流量、CoefOverFlow:越流係数、Length: 越流単位区間の長さ、dep0: 上流側の水深、sqrt(): 平方根を返す関数、wlev_p: 氾濫格子における水位、wlev_r: 河川格子における水位、dep_p: 氾濫格子における水深、dep_r: 河川格子における水深、glev_c: 越流接続子における地盤の標高である。CoefOverFlowは非特許文献2を参考に1.55を与えればよい。越流接続子における地盤の標高glev_cは、氾濫格子における地盤の標高と河川格子における地盤の標高とを比較し高い方の値とする。また、正の値の越水量Q_overは河川から氾濫原への流れを、負の値の越水量Q_overは氾濫原から河川への流れを表すとする。なお、水位および水深に関する定義は河川工学にならった。
【0087】
図26は、水位および水深に関する定義を説明するための図である。水面2601と標高0 mとする基準面2605との間の距離を水位2603と、水面2601と地盤面2602との間の距離を水深2604と定義した。
【0088】
ステップ1704では、河川格子の水量Q_rを越水量だけ減らす。ステップ1705では、氾濫格子の水量を越水量Q_pだけ増やす。ただし、Q_rおよびQ_pは以下で定義される量である。
Q_r = dep_r * da_r
Q_p = dep_p * da_p
ここで、da_r: 河川格子の面積、da_p: 氾濫格子の面積である。
以上、一連の処理により河川が越流し氾濫する過程をシミュレートされる。
【0089】
図16ステップ1605ではシミュレーション結果を地図410に表示する。
【0090】
図18は、ステップ1605により水害シミュレーション結果を表示した状態のGUIを示す図である。ハッチ領域1801は氾濫解析モジュール223により算出された水深が0以上の格子を示す。また、矢印1802は、河川解析モジュール222により算出された河川水位が河川堤防よりも高い部分、すなわち河川が溢れている部分を示す。このように、ユーザは水害シミュレーションプログラムを実行し、その結果を地図として得られる。
【0091】
以上のように、本実施例では河岸境界線を氾濫格子の格子線、および河川格子の格子線のどちらとも交差しない区間(越流単位区間)に分割する。この越流単位区間ごとに越流接続子を用意し、一方の端をその越流単位区間に、もう一方の端をある方法により決めた氾濫格子に接続する。その方法、すなわち接続する氾濫格子を決める方法とは、越流単位区間を有限通りのパターンに分類できるようにしておき、そのパターンごとに接続する氾濫格子を決める方法である。
【0092】
越流単位区間を有限通りのパターンに分類するために、越流単位区間を含む氾濫格子と河岸境界線との交差関係、および氾濫格子の格子線と越流単位区間との位置関係を利用する。どちらの関係も有限通りのパターンに分類できるようにしておけば、そのパターンを組み合わせて得られる越流単位区間のパターンは有限通りに分類できる。氾濫格子と河岸境界線との交差関係は氾濫格子の辺および頂点の数から決まる有限通りのパターンに分類できる。また、氾濫格子の格子線と越流単位区間との相対的な位置関係は、たとえば河岸境界線と氾濫格子の格子線との一方の交点(始点)からもう一方の交点(終点)までの距離に対する、始点から越流単位区間の中点までの比を離散化すればよい。
【0093】
このように越流単位区間を有限通りのパターンに分類すれば、パターンごとに越流接続子を接続すべき氾濫格子をあらかじめ定義しておくことができる。この定義に基づけば、越流単位区間と氾濫格子とを必ず接続できる。言い換えると、河川解析モジュールと氾濫解析モジュールとは、互いの格子系によらず必ず接続できる。したがって、それぞれの解析モジュールごとに最適な格子系を利用することが可能になる。
【0094】
従来、河川解析モジュールと氾濫解析モジュールとを接続するためには、一方のモジュールで用いる格子系を反映してもう一方のモジュールの格子系をもう生成する必要があった。したがって、必ずしも両方のモジュールが最適な格子系を利用できなかった。本発明により、両方のモジュールが最適な格子系を利用できるためシミュレーションの計算負荷を軽減することができる。
【0095】
なお、前述したように、多くの氾濫原では、正方形からなる2次元構造格子を用いたシミュレーションで十分な精度が達成できる。ただし、ユーザがより詳細な氾濫シミュレーションを望む場合は、3次元構造格子を生成してもよい。その場合は2次元構造格子を鉛直方向に分割すればよい。さらに、水平面に生成される格子の形状を正方形以外のn角形状(3≦n)にしてもよい。たとえば、三角形、あるいは六角形が可能である。
【0096】
図23は、三角形の構造格子を用いた場合の格子分割ポリラインのパターン分類の方法を説明する図である。ステップ505において生成する格子を三角形にし、さらに図11ステップ1105において図13に示した分類方法ではなく図23に示した分類方法を用いれば、本発明を三角形からなる構造格子に適用できる。
【0097】
また、n角形状の場合、1つの氾濫格子を構成する辺がn本あるため、終点の存在する氾濫格子線はn通りに分類できる。さらに始点と終点とが同一格子線上にある場合を終点が始点の右側および左側にある場合に分類できる。ゆえに、パターンはn+1通りとなる。このパターンを用いて、上述と同様に、構造格子系を利用した解析モジュールとすることも可能である。
【実施例2】
【0098】
さて、氾濫格子1803に着目する。この格子は河川と氾濫原の隙間にあり、河川が溢れ氾濫原が浸水している場合直感的には浸水すると考えられる。ところが、ステップ1104で操作したとおり、河岸境界線を含む氾濫格子では水が流れない設定となっている。そのため、氾濫解析モジュールではこの格子に水量を移動させることができない。ユーザは、画面に表示されたシミュレーション結果を見たときに、直感と異なる表示結果を見ることになるので、違和感を持つ可能性がある。
【0099】
そこで、画面表示されたシミュレーション結果をより直感に近い状態とするために、越流ポリゴンとよぶ特殊なポリゴンを形成する。具体的には、図5ステップ506の次に、越流ポリゴンとよぶ特殊なポリゴンを作成するステップを追加し、さらに地図生成モジュール210がシミュレーション結果を表示するときにそのポリゴンを使用する。
【0100】
図19は、越流ポリゴンを作成する処理を示すPAD図である。ステップ1901では、格子分割ポリラインについて、ステップ1902以降を繰り返す。格子分割ポリラインは、すでにステップ1102で作成してある。
【0101】
図20は、越流ポリゴンの空間配置を説明するための図である。図において、格子分割ポリラインは点2001と点2002を結ぶ線分2003である。ステップ1902では、越流ポリゴンを作成する。
【0102】
越流ポリゴンは、始点から終点までは格子分割ポリラインをたどり、終点からは氾濫格子線をたどりながら反時計回りに1周すれば作成される。たとえば図20では、始点2001から終点2002まで格子分割ポリライン2003をたどり、さらに氾濫格子線をたどりながら反時計回りに1周するとポリゴン2004が作成される。
【0103】
ステップ1903では、参照する氾濫格子を指定する。この格子は、格子分割ポリラインを構成する越流単位区間より参照されている氾濫格子とする。したがって、指定される格子は1以上である。図20では、越流単位区間2003と氾濫格子2006とが越流接続子2005を通じて接続されている。
【0104】
図21は、一連の処理により作成される越流ポリゴンのデータ構造を表す概略ブロック図である。データフィールド2101にはステップ1902で作成したポリゴン形状を、2102にはステップ1903で指定した氾濫格子IDを格納する。
【0105】
図22は、越流ポリゴンを利用した場合の水害シミュレーション結果を表示した状態のGUIを示す図である。この表示内容は、図18で示した内容を表示する処理を行った後、さらに越流ポリゴンデータ2100を使用した処理を行うことにより得られる。
【0106】
データフィールド2102に格納された氾濫格子IDを参照し、それらの氾濫格子における平均水深を、データフィールド2101に格納されたポリゴンに与える。図22と図18を比較すると、河川と氾濫厳に挟まれた格子(たとえば1803)が浸水していることがわかる。以上、説明した処理により、ユーザの直感に沿ったシミュレーション結果が得られるようになる。
【実施例3】
【0107】
実施例1及び2では、本発明を適用した水害シミュレーションにより得られた結果として、「新たに出力された河川格子の水深、新たに出力された氾濫格子の水深」を、地図情報と併せて表示画面上に表示する場合を説明した。
【0108】
この他に、例えば、新たに出力された河川格子の水深及び新たに出力された氾濫格子の水深をHDDまたはメモリ等の記録手段に保持し、その保持された新たな水深情報に基づいて、水害シミュレーションを実行した地域における「被害額の合計」を、画面に表示してもよい。
【産業上の利用可能性】
【0109】
以上のように、本発明によれば、1次元格子系を利用した解析モジュールと、構造格子系を利用した解析モジュールとを連成させるシミュレーションをPC等で実現することが可能となり、水害等の水量の移動を伴うシミュレーションに適用することができる。
【図面の簡単な説明】
【0110】
【図1】本発明を実現するためのコンピュータシステムの構成を示す概略ブロック図。
【図2】水害シミュレーションプログラム121の機能構成図。
【図3】HDD 140に格納されたデータを示す概略ブロック図。
【図4】地図生成モジュール210が生成した地図を表示した状態のGUIを示す図。
【図5】格子および越流接続子を生成する処理を示すシーケンス図。
【図6】ステップ501において表示されるGUIを示す図。
【図7】河川格子生成処理を示すPAD図。
【図8】生成される河川格子の空間配置を示す図。
【図9】氾濫格子生成処理を示すPAD図。
【図10】生成される氾濫格子の空間配置を示す図。
【図11】越流接続子の生成処理を示すPAD図。
【図12】生成される越流接続子の空間配置を示す図。
【図13】格子分割ポリラインのパターン分類の方法を説明する図。
【図14】越流接続子のデータ構造を示す概略ブロック図。
【図15】格子および越流接続子を表示した状態のGUIを示す図。
【図16】水理解析モジュール220による水害シミュレーションの処理を示すシーケンス図。
【図17】ステップ1604の処理の詳細を示すPAD図。
【図18】ステップ1605により水害シミュレーション結果を表示した状態のGUIを示す図。
【図19】越流ポリゴンを作成する処理を示すPAD図。
【図20】越流ポリゴンの空間配置を説明するための図。
【図21】越流ポリゴンのデータ構造を表す概略ブロック図。
【図22】越流ポリゴンを利用した場合の水害洪水水害シミュレーション結果を表示した状態のGUIを示す図。
【図23】三角形の構造格子を用いた場合の格子分割ポリラインのパターン分類の方法を説明する図。
【図24】水害シミュレーションプログラム121の開始から解析モジュールの格子定義までになされる処理のシーケンス図。
【図25】水害シミュレーションプログラム121がシミュレーションに関するデータ他を読み出す前に提示されるGUIを示す図。
【図26】水位および水深に関する定義を説明するための図。
【符号の説明】
【0111】
100 PC、131 水害シミュレーションプログラム、322 河川解析モジュール、323 氾濫解析モジュール、324 河川・氾濫接続モジュール、500 河川・氾濫格子設定ダイアログ、1000 格子および越流接続子を表示した状態のGUI、1300 格子を表示し、さらに水害シミュレーション結果を表示した状態のGUI。
【技術分野】
【0001】
本発明は、コンピュータを用いて物理現象をシミュレートするためのプログラムおよび装置に関する。本発明は特に、河川が溢れ氾濫原が浸水する水害現象をシミュレートし、シミュレーション結果を地図などの空間情報と重ね合わせてディスプレイに表示する、水害シミュレーションプログラムに関する。
【背景技術】
【0002】
コンピュータの性能向上に伴い、現在では多くの分野において物理現象の数値シミュレーションがなされている。近年では特に、シミュレーション連成(simulation coupling)と呼ばれる技術を適用することにより、複雑な物理現象を比較的小さな計算負荷でシミュレート可能になっている。
【0003】
シミュレーション連成とは、空間をいくつかの領域に分割し、領域ごとに異なる解析モジュールでシミュレートし、モジュール同士を適切な方法により接続させるシミュレーション方法である。この技術においては、空間の分割とモジュール同士の接続が重要な課題となる。たとえば気候変動シミュレーションでは、空間を海面上(大気領域)と海面下(海洋領域)に分割し、両者の境界面(海面)において海面フラックスを与えることにより大気解析モジュールと海洋解析モジュールを接続する。
【0004】
ここで、2つの解析モジュール(第1の解析モジュールおよび第2の解析モジュール)を連成させるシミュレーションプログラムにおける、空間の分割方法およびモジュール同士の接続方法を考える。このとき、第1のモジュールが対象とする領域と、第2のモジュールが対象とする領域との関係は3通りに分類できる。第1に領域同士が重なる場合、第2に領域同士が接する場合、第3に領域の間に隙間があり、領域同士が重なりも接しもしない場合である。例えば特許文献1には、第1の場合に重合格子法が適用できることが開示されている。また、特許文献2には、第2の場合にマルチブロック法が適用できることが開示されている。ところが、第3の場合にはそれらの技術を適用できない。
【0005】
第3の場合の例として、水害シミュレーションプログラムが挙げられる。特許文献3及び特許文献4に記載されるように、水害シミュレーションプログラムにおいては、第1の解析モジュールとなる河川解析モジュールと、第2の解析モジュールとなる氾濫解析モジュールとを連成させる。
【0006】
河川解析モジュールは河川領域を解析し、氾濫解析モジュールは通常市街地として利用されている氾濫原領域を解析する。両空間は、一般に堤防など大きさのある構造物により分断されている。そのため、河川領域と、氾濫領域とは重ならず、かつ接しない。
【0007】
通常水害は、河川から水が溢れる、つまり河川領域から氾濫原領域に向かって水が移動することにより発生する。したがって水害をシミュレートするためには、水は河川領域と氾濫原領域との隙間を越えて移動できるようにする必要がある。また、一般的に河川領域および氾濫領域における流れをシミュレートするためには、それぞれの領域を格子に分割する必要がある。
【0008】
非特許文献1では、河川領域と氾濫原領域との隙間を越えて移動できるようにするために、格子を用いる方法が開示されている。まず、河川領域を格子に分割する。そして、全ての河川格子の右岸側、および左岸側(ここでは河川工学の慣例に基づき、河川中心から下流方向を見て右側にある岸を右岸、左側にある岸を左岸とよぶ)にそれぞれ1つずつ氾濫格子を配置する。ある河川格子の右岸側から溢れた水は、その河川格子の右岸側に配置された氾濫格子に流れ込むと見なすことで、河川領域と氾濫原領域の間にある隙間を越えて水が移動するようになる。左岸側についても同様に処理する。
【0009】
【特許文献1】特開2003-41395
【特許文献2】特開2004-005036
【特許文献3】特開2004-197554
【特許文献4】特開2004-339752
【非特許文献1】低平地河川流域での豪雨による都市氾濫解析, 土木学会論文集, No. 761/II-67, pp. 57-68, 2004.
【非特許文献2】台形せきの越流量(第3編1.1.3), 土木学会水理委員会, 水理公式集 平成11年版, 土木学会, p245, isbn481060201X, 1999.
【発明の開示】
【発明が解決しようとする課題】
【0010】
近年、水害対策の対象河川が大河川から中小河川へと変化している。この背景には、近年集中豪雨が頻発していることが挙げられる。大河川に比べ中小河川は集中豪雨による水害を起こしやすい。そのため、中小河川を対象とした水害対策が望まれている。それに伴い、中小河川を対象とした水害シミュレーションプログラムへのニーズが高まっている。
【0011】
一般に、大河川は川幅が広く、中小河川は川幅が狭い。そこで発明者らは、川幅によらず水害をシミュレート可能なプログラムを提供しようと考えた。ところが従来知られている技術を用い川幅が狭い河川をシミュレートすると、計算負荷が莫大になるという課題があることがわかった。以下、この課題について説明する。
【0012】
非特許文献1に開示された方法では、1つの河川格子の両側にそれぞれ1つの氾濫格子を配置する。つまりこの方法では河川格子の大きさと氾濫格子の大きさが同程度なる。また一方で、河川を精度よくシミュレートするためには河川格子の全ての辺の長さを川幅と同程度以下にする必要があることが経験的に知られている。したがって従来の技術を用いて川幅の狭い河川をシミュレートするためには、河川格子だけでなく氾濫格子の辺の長さも短くする必要が生じる。氾濫格子の辺の長さが短い場合、氾濫原領域に生成される格子数が多くなり計算負荷が莫大になる。
【0013】
本発明はこれらの問題に鑑みてなされたものであり、川幅に依存せず、小さな計算負荷で水害をシミュレート可能なプログラムを提供することを目的とする。
【課題を解決するための手段】
【0014】
上述の目的を達成するために、本発明に係る水害シミュレーションプログラム及び水害シミュレーションシステムは、水害シミュレーションを実行しようとする地域の情報を入力する手段、前記入力手段に基づき、記録手段から河川データを読み出し、河川領域を分割し、河岸境界線を辺とする第1の格子系を生成する手段、前記記録手段から氾濫原データを読み出し、氾濫原領域を分割し、それぞれn辺以上(3≦N)の格子線で囲まれた格子より構成される第2の格子系を生成する手段、前記第1の格子の河岸境界線とある第2の格子の格子線との交点を検出する手段、一方の交点から他方の交点へのベクトル方向に基づき、メモリに格納されたパターンを参照して、ある第2の格子に含まれる第1の格子を他の第2の格子に接続する手段、接続された第1の格子と他の第2の格子との間で移動させる水量を算出する手段、前記第1の格子の水量と前記移動させる水量とを合成し、新たな第1の格子の水深を出力する手段、前記第2の格子の水量と前記移動させる水量とを合成し、新たな第2の格子の水深を出力する手段、を備えることを特徴とする。
【発明の効果】
【0015】
本発明によれば、水害シミュレーションにおいて、PC等に対する計算負荷を低減して高速に実行することが可能になる。これは、河川解析に適した格子系を利用した解析モジュールと、氾濫解析に適した格子系を利用した解析モジュールとを連成させているためである。本発明は川幅によらず適用でき、本発明による計算負荷を低減する効果は、例えば川幅が非常に小さいほど顕著である。
【発明を実施するための最良の形態】
【0016】
以下、本発明の実施例について詳細に説明する。
【0017】
本発明を適用するのに望ましい河川・氾濫練成シミュレーションプログラムでは、河川格子系と氾濫格子系の隙間を、どちらの格子系にとっても十分小さくなるように分割する。分割された隙間を有限通りのパターンに分類し、そのパターンごとに水の流れ方を決める。水害シミュレーションを実行するためには、河川解析モジュールと氾濫解析モジュールとを実行させた後、あらかじめ決めた流れ方によって隙間で発生する流れを再現すればよい。
【0018】
本発明を適用する実施例では、以下の幾何学的性質を利用する。辺または頂点の相対位置に着目すれば、ポリライン(polyline:折れ線または折れ曲線)と格子との交差関係が有限のパターンに分類できる、という性質である。任意の形状のポリラインと任意の形状の格子との交点の座標は、無限通りに存在する。ところが、交点の存在する格子の辺または頂点は有限通りである。たとえば、四角形の格子の場合、四角形は4辺4頂点から構成されているため、交点の存在する辺または頂点は8通りに分類できる。
【0019】
この性質は、線状の境界(境界線)で囲まれた領域に生成した第1の格子系を利用した解析モジュールと、構造格子系からなる第2の格子系を利用した解析モジュールとを連成するシミュレーションプログラムに適用できる。構造格子系とは、格子線の交点の周りにおける格子の数があらかじめ決まっている格子系である。多くの場合構造格子の形状は四角形であるが、三角形、あるいは六角形が使われることもある。本発明が適用可能な構造格子系の格子形状は四角形に限定されず、たとえば三角形、六角形であっても適用可能である。
【0020】
具体的に、n角形からなる構造格子を用いた場合に本発明を適用する方法を説明する。まず、第1の格子系の境界線とn角形からなる構造格子の格子線との交差をパターンに分類する。ここで、境界線に方向を与える(第1の格子系の内側が右側に位置する方向を境界線の正の向きとする)。構造格子の頂点および辺のみに着目すると、交差パターンはn角形の2*n個の要素(n本の辺とn点の頂点)から順番を考慮して任意の2つを選ぶときのパターン数2*n*(2*n-1)に分類できる。さらに、同一の要素(同一の辺と辺、あるいは同一の点と点)を選んだ場合のパターン(2*n通り)を加える。逆に、構造格子の格子同士の隣接関係の対称性を考慮しnで割る。以上をまとめると、交差パターンは4*n+2通りになる。たとえば四角形(n=4)の構造格子を利用した場合は18通りに分類できる。
【0021】
ただし、プログラム作成の手間を簡略化するため、上述したパターン数を削減してもよい。たとえば、第1の格子系の境界線が第2の格子系の頂点を通る場合を、辺を通るように近似しても実用上問題がないことが多い。この場合、パターンはn+1通りに削減できる。たとえば、四角形の構造格子を利用した場合は5通りになる。パターン数の算出方法は以下の通りである;n角形のn本の辺から順番を考慮して任意の2つを選ぶときのパターン数n*(n-1)に、同一の辺を選んだ場合のパターン(2n通り)を加え、構造格子の格子同士の隣接関係の対称性を考慮しnで割る。
【0022】
それぞれの交差パターン毎に、境界線と構造格子との接続パターンを指定する。接続パターンはシミュレーション対象の物理現象に合うように決めればよい。たとえば、境界線の左側にある構造格子と境界線を接続するようにする。
【0023】
境界線を第1の格子系と第2の格子系の両方の格子線(grid line)で分割する。格子線とは、隣接する格子同士の間にある線分である。この分割処理により、境界線は第1の格子系と第2の格子系のどちらの格子線とも交差しない線分に分割される。この線分を単位区間と呼ぶ。なお、必要に応じてさらに細かい単位区間に分割してもよい。
【0024】
最後に、さきほど求めた接続パターンに基づいて、この単位区間を構造格子と接続する。このようにすれば、第1の格子系と第2の格子系の間に隙間がある場合でも、両方の格子系を接続することができる。
【0025】
本発明で生成される接続子(第1の格子と第2の格子を接続する仮想的な空間)は、第1の格子系と第2の格子系とが多対多の関係で接続されることが特徴である。すなわち、1つの第1の格子と複数の第2の格子とが、また、複数の第1の格子と1つの第2の格子とが接続される。
【0026】
以下、本発明を適用した水害シミュレーション装置について、図面を参照して詳細に説明する。
【実施例1】
【0027】
図1は、本発明を実現するためのコンピュータシステムの構成を示す概略ブロック図である。水害シミュレーションプログラムは入出力部110を備えたPC (Personal Computer) 100で動作する。
【0028】
ユーザはキーボード111やマウス112等の入力部からユーザの命令を受け付け、ディスプレイ113等の出力部からシミュレーションの結果を確認する。PC 100の内部では、メモリ120に展開された水害シミュレーションプログラム121に基づいてCPU (Central Processing Unit) 130が命令を実行する。CPU 130は、氾濫シミュレーションプログラム121の実行中に、HDD (Hard Disk Drive) 140に格納されたデータを必要に応じて読み出す。
【0029】
図2は、水害シミュレーションプログラム121の機能構成図である。水害シミュレーションプログラム121は、地図生成モジュール210および水害解析モジュール220からなる。水害解析モジュール220はさらに、4つのモジュール(時間同期モジュール221、河川解析モジュール222、氾濫解析モジュール223、および越流解析モジュール224)からなる。
【0030】
図3は、HDD 140に格納されたデータを示す概略ブロック図である。HDD 140には、地図データ301、河川データ302、氾濫原データ303が格納されている。
【0031】
地図データ301は駅の位置など一般的に地図として認知される現実空間に関するデータである。河川データ302は、河川形状についての情報であり、この情報から少なくとも右岸および左岸の位置を示すポリラインを生成できる。氾濫原データ303は、氾濫原に関する情報であり、この情報から少なくともDEM (digital elevation model)、すなわち水平面に敷き詰めた矩形格子ごとに標高値を与えた地形モデルを生成できる。
【0032】
図24は、水害シミュレーションプログラム121の開始から解析モジュールの格子定義までになされる処理のシーケンス図である。水害シミュレーションプログラム121が起動すると、まずHDD 140に格納された災害データ391を読み出す(ステップ2401)。さらに、このデータを利用して入出力部110にウィンドウ2500を出力する(ステップ2402)。
【0033】
図25は、水害シミュレーションプログラム121がシミュレーションに関するデータ他を読み出す前に提示されるGUIを示す図である。このGUIはディスプレイ113の所定の領域に表示されるウィンドウ2500からなり、キーボード111およびマウス112による入力を受け付ける。このGUIを用いてユーザは、興味のある水害のレコードを選択する(ステップ2403)。つまり、水害シミュレーションを実行しようとする地域の情報を入力する。
【0034】
本実施例ではその処理を、ユーザが選択ボタン2501を選択状態にし、さらに「次へ」ボタン2502を押下することにより実現させる。テーブル2510は、HDD 190に格納された災害データ391に基づき生成する。このテーブル2510にはユーザが災害を一意に特定できる情報を記載する。
【0035】
本実施例においては、災害の名称2512および災害にあった代表的な地点(代表点)の住所2513が記載されている。また、災害データ391の各レコードに、一意な番号(災害ID) 2511を与えた。また、本実施例では、災害データ391に存在しない災害に対してユーザが興味を持った場合に備えるため、空白レコード2503を用意した。この空白レコードには、ユーザ自身がキーボード111、マウス112などでレコードを入力できるようにした。
【0036】
水害シミュレーションプログラム121は、選択されたレコードの代表点2513周辺の地図データ301、河川データ302及び氾濫原データ303を、HDDから読み出す(ステップ2404)。さらに、地図生成モジュール210が生成する地図を表示可能な、ウィンドウ400からなるGUIをディスプレイ113に出力する(ステップ2405)。
【0037】
図4は、地図生成モジュール210が生成した地図を表示した状態のGUIを示す図である。このGUIはウィンドウ400より構成され、ディスプレイ113の所定の領域に表示される。
【0038】
ユーザは所定の動作により設定コマンド401、シミュレートコマンド402を選択できる。ユーザが設定コマンド401を選択すると、格子および越流接続子を生成する処理が開始する。ここで越流接続子とは、河川格子と氾濫格子を接続する仮想的な空間である。本実施例では、河川格子と氾濫格子との水の移動をこの越流接続子を使って行う。シミュレートコマンド402を選択するとシミュレーション実行処理が開始される。
【0039】
ウィンドウ400に表示された地図410には河川420が含まれる。河川420は河岸を示すポリライン421および422からなっており、これらのポリラインはHDD 140に格納された河川データ302に基づいて地図生成モジュール210が作成する。
【0040】
ユーザのわかりやすさを向上させるためには、河川420とともに、地物など(たとえば駅411、鉄道412)を書いた地図を提示することが望ましい。例えばこの地物などの表示は、HDD 140に格納された地図データ301を用いて、地図生成モジュール210によって作成される。
【0041】
図5は、格子および越流接続子を生成する処理を示すシーケンス図である。この処理はユーザが図4設定コマンド401を選択することにより開始する。
【0042】
ステップ501で、入出力部110は水害シミュレーションプログラム121に格子生成のパラメタを入力する。ステップ501の格子生成のパラメタ入力処理の詳細を説明する。
【0043】
図6は、ステップ501において表示されるGUIを示す図である。このGUIはウィンドウ600より構成され、ディスプレイ113の所定の領域に表示される。ユーザはエディットボックス610に河川格子の間隔を、エディットボックス620に氾濫格子の間隔を入力する。OKボタン601を押すと、ウィンドウ600が非表示になり、ステップ502以降が実行される。
【0044】
ここで、河川格子および氾濫格子について説明する。河川格子とは、河川解析モジュール222に用いられる第1の格子であり、河川領域を河川縦断方向(上流から下流に向かう方向)に沿って任意の間隔で分割したそれぞれの小領域である。本実施例では、河川格子として河川縦断方向に沿った等間隔の1次元格子を用いている。
【0045】
一方、氾濫格子とは、氾濫解析モジュール224に用いられる第2の格子であり、氾濫原領域を任意の形状に分割したものである。本実施例では、氾濫格子として、東西南北に等しい長さの正方形からなる構造格子を用いている。この場合、上記2パラメタのみで格子生成が可能となるため格子生成に関するユーザへの負担が少ないという利点がある。
【0046】
なお、格子をより詳細に設定したいユーザに対しては、より詳細なパラメタを受け付ける手段を備えたGUIを提示してもよい。たとえば河川格子の間隔を任意の長さにする場合は、それぞれの格子を選択させる手段と、その格子の間隔を受け付ける手段を提供すればよい。
【0047】
ステップ502で、水害シミュレーションプログラム121はHDD 140に格納された河川データ302をメモリ120に読み込む。図4の地図410に示したとおり、この読み込んだデータから右岸を示す河岸ポリライン421、および左岸を示す河岸ポリライン422が生成できる。
【0048】
ステップ503で、右岸を示す河岸ポリライン421と左岸を示す河岸ポリライン422に挟まれた河川領域420に、第1の格子系となる河川格子系を生成する。本実施例では1次元格子を生成する。ステップ503の河川格子生成処理の詳細を図7、図8を用いて説明する。
【0049】
図7は、河川格子生成処理を示すPAD図である。図8は生成される河川格子の空間配置を示す図である。ステップ701では、右岸を示す河岸ポリライン421、および左岸を示す河岸ポリライン422についてステップ702、703を繰り返す。ステップ702では、河岸ポリライン上の任意の1点を基点に設定する。
【0050】
図8では、右岸ポリラインの基点を821に、左岸ポリラインの基点を831に設定した。ステップ703で、基点からステップ501で設定した河川格子間隔でポリラインに分割点を挿入する。図8に分割点を三角印で示す。たとえば点823は右岸の分割点、点833は左岸の分割点である。なお、ここでは河川格子間隔を、線分811の中点と812の中点の距離とした。
【0051】
ステップ704で、河川縦断方向に連続した分割点同士(たとえば821と823、831と833)を線分(たとえば822、832)で接続する。以後この線分を境界線と呼ぶ。ステップ705で、基点から同じ距離に位置する左岸と右岸の分割点同士(たとえば821と831、823と833)を線分(たとえば811、812)で接続する。以後この線分を格子線と呼ぶ。以上、一連の処理により、境界線と格子線に囲まれた河川格子(たとえば841)が生成される。生成した河川格子には一意に識別するためのIDをつけておく。このIDは、基準点から河川縦断方向に計測した道のりにすればよい。
【0052】
なお、多くの河川は、1次元格子を用いたシミュレーションで十分な精度が達成できる。ただし、ユーザがより詳細な河川シミュレーションを望む場合は、2次元格子あるいは3次元格子を生成してもよい。2次元の場合は1次元格子を河川横断方向(上流から下流を見て左から右に向かう方向)に分割すればよい。また2次元の場合は1次元格子を河川横断方向および鉛直方向に分割すればよい。
【0053】
ステップ504で、水害シミュレーションプログラム121はHDD 140に格納された氾濫原データ303をメモリ120に読み込む。すでに述べたように、この読み込んだデータからDEMが生成できる。
【0054】
ステップ505で、第2の格子系となる氾濫格子系を、氾濫原領域として指定された領域に生成する。本実施例では、あらかじめ氾濫原領域として地図410における全領域を指定しておくようにした。本実施例では正方形で構成される2次元構造格子を生成する。ステップ505の氾濫格子生成処理の詳細を図9、図10を用いて説明する。
【0055】
図9は、氾濫格子生成処理を示すPAD図である。図10は、生成される氾濫格子の空間配置を示す図である。ステップ901では、任意の1点を基点に設定する。
【0056】
図10では、点1010を基点に設定した。ステップ902および903では、基点からステップ501で設定した氾濫格子間隔で、東西方向、および南北方向に直線を引く。以後、この直線を格子線と呼ぶ。図10において、直線1021が東西方向の格子線の例、直線1031が南北方向の格子線の例である。以上、一連の処理により、格子線に囲まれた氾濫格子(たとえば1041)が生成される。生成した氾濫格子には一意に識別するためのIDをつけておく。このIDは、基準点からそれぞれ東西方向、南北方向に計測した距離からなる2数にすればよい。
【0057】
ステップ506で、生成した河川格子と氾濫格子を利用して、越流接続子を生成する。ステップ506の越流接続子生成処理の詳細を図11、図12を用いて説明する。
【0058】
図11は、越流接続子の生成処理を示すPAD図である。図12は生成される越流接続子の空間配置を示す図である。ステップ504の処理はステップ1101から1109より構成される。
【0059】
ステップ1101では、河岸境界線についてステップ1102以降を繰り返す。なお、河川は2本の河岸境界線(右岸境界線及び左岸境界線)からなるので、ステップ1102以降は2回繰り返される。また、処理対象の河岸境界線が左岸右岸どちらかであるかを識別可能なID (河岸ID)をメモリ120に記録しておく。
【0060】
ステップ1102では、河岸境界線を氾濫格子毎に分割する。この処理により、河岸境界線は両端を氾濫格子線との交点とするポリラインに分断される。このポリラインを、以後格子分割ポリラインとよぶ。
【0061】
図12に河岸境界線と氾濫格子線との交点を丸印(たとえば1201、1205)で示す。図12において、河岸境界線1211は氾濫格子1221の氾濫格子線により点1201、1203、1205を結ぶポリラインになる。当然、この格子分割ポリラインの両端(1201、1205)は氾濫格子線上にある。
【0062】
ステップ1103では、ステップ1102で作成した格子分割ポリラインについてステップ1104以下を繰り返す。
【0063】
ステップ1104では、格子分割ポリラインを含む氾濫格子を無効化する。図12において、河岸境界線を含む氾濫格子は、たとえば1221である。氾濫格子を無効化とは、その氾濫格子に水が流入しないようにする処理である。具体的には、その氾濫格子に流入する流速を常に0にする境界条件を与える。この処理により、氾濫格子系で河岸を横切る流れが発生しなくなる。
【0064】
ステップ1105では、格子分割ポリラインを有限通りのパターンに分類する。そのために、格子分割ポリラインの両端、および河川との相対位置に着目する。まず、格子分割ポリラインの両端の一方を始点、他方を終点とする。ここで、始点と終点は、両者を有向線分で結合したときに河川格子の内側が右側になるように決める。たとえば図12の点1201と点1205では始点を1201、終点を1205とする。実際に、始点を1201、終点を1205とする有向線分の右側に河川格子1212および1213が存在する。
【0065】
次に、始点および終点の相対関係、具体的には格子分割ポリラインの一方の端点と他方の端点とを接続したベクトルに着目し、格子分割ポリラインを有限通りのパターンに分類する。本実施例では正方形からなる2次元構造格子についてのパターンを示す。
【0066】
図13は、格子分割ポリラインのパターン分類の方法を説明する図である。図において、波線でハッチした部分1301は河川、矢印1302は始点から終点に向かう有向線分を表す。また、これらの図では、始点が下に来るよう書かれている。
【0067】
1つの氾濫格子を構成する格子線が4本あるため、終点の存在する氾濫格子線は4通りに分類できる。さらに始点と終点とが同一格子線上にある場合を、終点が始点の右側、および左側にある場合に分類すると合計5通りに分類できる。すなわち、左前(1310)、前(1320)、右前(1330)、右側(1340)、および左側(1350)に分類する。さらに、分類したパターンを示すIDをメモリ120に記録しておく。
【0068】
ステップ1106では、格子分割ポリラインをさらに河川格子ごとに分割する。ここで、格子分割ポリラインの節点は図7ステップ703により挿入された河川分割点である。したがって、ポリラインを河川格子ごとに分割する処理は、格子分割ポリラインをそのポリライン自身を構成する線分に分割する処理となる。
【0069】
図12に河川分割点を三角印(たとえば1203)で示す。図12において、点1201、1203、1205を結ぶ格子分割ポリラインは、それぞれ点1201と点1203を結ぶ線分、および点1203と点1205を結ぶ線分に分割される。以後、分割により生成された線分を、越流単位区間と呼ぶ。
【0070】
これらの越流単位区間の河川格子IDはそれぞれ河川格子1212および河川格子1213のIDとなる。それぞれの越流単位区間は河川格子の一部であり、その河川格子を一意に示すID (河川格子ID)をメモリ120に記録しておく。
【0071】
なお、このステップ1106では、上記実装とは異なる分類をしてもよい。たとえば、あらかじめ決めた長さより長い越流単位区間が存在する場合、その越流単位区間をあらかじめ決めた長さになるまで繰り返し分割してもよい。いずれにしても、このステップ1106で生成される越流単位区間は、河川格子の格子線とも、氾濫格子の格子線とも交差しない線分となる。
【0072】
ステップ1107では、ステップ1106で作成した越流単位区間についてステップ1107以降を繰り返す。また、この越流単位区間の形状(線分の両端点の座標)をメモリ120に記録しておく。
【0073】
ステップ1108では、越流単位区間が接続する氾濫格子を指定する。この指定方法は、パターンID、および格子分割ポリラインに対する越流単位区間の相対位置などから決めればよい。本実施例では、以下に定義する格子内区間比率Rを格子分割ポリラインに対する越流単位区間の相対位置を表すパラメタとして用い、このRごとに越流単位区間が接続する氾濫格子を指定する。格子内区間比率Rは
R=LSegment/LPolyline
と定義する。ただしLSegment: 始点から越流単位区間の中点までの長さ、LPolyline: 格子分割ポリラインの長さである。LSecgmentは、常に0以上である。また、LPolylineを越えることがないため、格子内区間比率Rの値は、0以上1以下である。
【0074】
図12に、越流単位区間の中点を菱形印(たとえば1202、1204)で示す。点1201と点1203とを結ぶ越流単位区間の場合、LSegmentは始点1201と中点1202を結ぶ線分の長さとなる。同様に、1203と点1205とを結ぶ越流単位区間の場合LSegmentは始点1201と分割点1203を結ぶ線分の長さと、分割点1203と中点1204を結ぶ線分の長さとの合計値となる。
【0075】
また、これらの越流単位区間のLPolylineは始点1201と終点1205とを両端とし点1203を通るポリラインの長さとなる。この格子内区間比率Rとステップ1105でメモリ120に記録したパターンのIDを用いて、越流単位区間が接続する氾濫格子を選択する。
【0076】
図13にパターン、格子内区間比率R、および越流単位区間が接続する氾濫格子の関係を示す。また、処理対象の越流単位区間の中点を菱形印(1303)、接続先の氾濫格子の中点を黒丸印(1304)、両者を結ぶ線分を太線1305で示す。
(1)パターンが左前型(1310)の場合、Rによらず始点から見て左後ろにある氾濫格子を選択する。
(2)パターンが前型(1320)の場合、Rによらず始点から見て左にある氾濫格子を選択する。
(3)パターンが右前型(1330)の場合、Rにより選択する氾濫格子を切り替える。(具体的には、0≦R≦1/3とき、始点から見て左にある氾濫格子を選択する。1/3≦R≦2/3のとき、始点から見て左前にある氾濫格子を選択する。2/3≦R≦1のとき、始点から見て前にある氾濫格子を選択する。)
(4)パターンが右型(1340)の場合、Rにより選択する氾濫格子を切り替える。(具体的には、0≦R≦1/3とき、始点から見て左にある氾濫格子を選択する。1/3≦R≦2/3のとき、始点から見て前にある氾濫格子を選択する。2/3≦R≦1のとき、始点から見て右にある氾濫格子を選択する。)
(5)パターンが左型(1350)の場合、Rによらず氾濫格子を選択しない。
【0077】
このようにして選択した氾濫格子IDをメモリ120に記録しておく。
【0078】
なお、このステップ1108では、上記実施例とは異なる分類をしてもよい。たとえば、前型パターン1320を左前、左、左後の3通り、右型パターン1340を左前、左前、前、右前、右の7通りに分類し、すべてのパターンが0または奇数通り(パターン1310のとき1通り、パターン1320のとき3通り、パターン1330のとき5通り、パターン1340のとき7通り、パターン1350のとき0通り)の接続方法に分類されるようにしてもよい。また、上記実施例では格子内区間比率Rに基づいて接続方法を決定したが、別のパラメタを用いてもよい。いずれにしても、このステップ1108ではステップ1105でメモリ120に記録したパターンのIDを用い有限通りのパターンに分類する。
【0079】
ステップ1109では、越流接続子を作成する。越流接続子は氾濫格子と河川格子の間での水の移動を実現する機能であり、越流解析モジュール224に含まれる。越流接続子の一方の端は越流単位区間と、もう一方の端は氾濫格子と接続されている。たとえば、越流接続子1231は、1201と点1203とを結ぶ越流単位区間と、氾濫格子1221の左側にある氾濫格子1222とを接続する。同様に越流接続子1232は1203と点1205とを結ぶ越流単位区間と氾濫格子1222とを接続する。
【0080】
越流接続子について、図14を用いて説明する。越流接続子のデータ構造を示す概略ブロック図を、図14に示す。越流接続子データは、4つのデータフィールドからなり、それぞれ河岸ID 1401、河川格子ID 1402、氾濫格子ID 1403及び線分形状1404を格納する。
【0081】
河岸IDフィールド1401にはステップ1101でメモリ120に記録した値を設定する。河川格子IDフィールド1402には、ステップ1106でメモリ120に記録した値を設定する。氾濫格子IDフィールド1403には、ステップ1108でメモリ120に記録した値を設定する。線分形状1404フィールドには、ステップ1106でメモリ120に記録した値を設定する。
【0082】
ステップ507で、水害シミュレーションプログラム121は生成した越流接続子を入出力部110のディスプレイ113に表示する。
【0083】
図15は、格子および越流接続子を表示した状態のGUIを示す図である。河川格子を波線(1511)で、氾濫格子をトーン(1512)で、越流接続子を太線(1513)で示す。1つの河川格子と単数または複数の氾濫格子とが越流接続子で接続されており、また1つの氾濫格子と単数または複数の河川格子とが越流接続子で接続されている。
【0084】
図16は、水理解析モジュール220による水害シミュレーションの処理を示すシーケンス図である。この処理はユーザが図4シミュレートコマンド402を選択することにより開始する(ステップ1601)。ステップ1602では、河川解析モジュール222の時刻を進め、ステップ1603では、氾濫解析モジュール223の時刻を進める。進める時間長さDtはあらかじめ設定しておく。ステップ1604では越流解析モジュール224の越水量を更新する。ここで越水量とは、河川格子と氾濫格子との間で移動させる水量のことを意味する。
【0085】
図17は、ステップ1604の処理の詳細を示すPAD図である。ステップ1701では、越流接続子についてステップ1702以下を繰り返す。ステップ1702では、河川格子と氾濫格子の水位と水深を取得する。取得する河川格子および氾濫格子のIDは、それぞれデータフィールド1402、1403を参照する。
【0086】
ステップ1703では、越水量を算出する。ステップ1702で取得した水位と水深を越流公式と呼ばれる実験式に代入すれば越水量が求まる。越水量Q_overの算出式の例を以下に示す。
wlev_p > wlev_r かつ wlev_p > glev_cのとき
dep0 = wlev_p glev c
Q_over = - CoefOverFlow * Length * dep0 * sqrt(dep0)
wlev_p < wlev_r かつ wlev_r > glev_cのとき
dep0 = wlev_r glev_c
Q_over = CoefOverFlow * Length * dep0 * sqrt(dep0)
それ以外の時
Q_over = 0
ただし、Q_over: 越流量、CoefOverFlow:越流係数、Length: 越流単位区間の長さ、dep0: 上流側の水深、sqrt(): 平方根を返す関数、wlev_p: 氾濫格子における水位、wlev_r: 河川格子における水位、dep_p: 氾濫格子における水深、dep_r: 河川格子における水深、glev_c: 越流接続子における地盤の標高である。CoefOverFlowは非特許文献2を参考に1.55を与えればよい。越流接続子における地盤の標高glev_cは、氾濫格子における地盤の標高と河川格子における地盤の標高とを比較し高い方の値とする。また、正の値の越水量Q_overは河川から氾濫原への流れを、負の値の越水量Q_overは氾濫原から河川への流れを表すとする。なお、水位および水深に関する定義は河川工学にならった。
【0087】
図26は、水位および水深に関する定義を説明するための図である。水面2601と標高0 mとする基準面2605との間の距離を水位2603と、水面2601と地盤面2602との間の距離を水深2604と定義した。
【0088】
ステップ1704では、河川格子の水量Q_rを越水量だけ減らす。ステップ1705では、氾濫格子の水量を越水量Q_pだけ増やす。ただし、Q_rおよびQ_pは以下で定義される量である。
Q_r = dep_r * da_r
Q_p = dep_p * da_p
ここで、da_r: 河川格子の面積、da_p: 氾濫格子の面積である。
以上、一連の処理により河川が越流し氾濫する過程をシミュレートされる。
【0089】
図16ステップ1605ではシミュレーション結果を地図410に表示する。
【0090】
図18は、ステップ1605により水害シミュレーション結果を表示した状態のGUIを示す図である。ハッチ領域1801は氾濫解析モジュール223により算出された水深が0以上の格子を示す。また、矢印1802は、河川解析モジュール222により算出された河川水位が河川堤防よりも高い部分、すなわち河川が溢れている部分を示す。このように、ユーザは水害シミュレーションプログラムを実行し、その結果を地図として得られる。
【0091】
以上のように、本実施例では河岸境界線を氾濫格子の格子線、および河川格子の格子線のどちらとも交差しない区間(越流単位区間)に分割する。この越流単位区間ごとに越流接続子を用意し、一方の端をその越流単位区間に、もう一方の端をある方法により決めた氾濫格子に接続する。その方法、すなわち接続する氾濫格子を決める方法とは、越流単位区間を有限通りのパターンに分類できるようにしておき、そのパターンごとに接続する氾濫格子を決める方法である。
【0092】
越流単位区間を有限通りのパターンに分類するために、越流単位区間を含む氾濫格子と河岸境界線との交差関係、および氾濫格子の格子線と越流単位区間との位置関係を利用する。どちらの関係も有限通りのパターンに分類できるようにしておけば、そのパターンを組み合わせて得られる越流単位区間のパターンは有限通りに分類できる。氾濫格子と河岸境界線との交差関係は氾濫格子の辺および頂点の数から決まる有限通りのパターンに分類できる。また、氾濫格子の格子線と越流単位区間との相対的な位置関係は、たとえば河岸境界線と氾濫格子の格子線との一方の交点(始点)からもう一方の交点(終点)までの距離に対する、始点から越流単位区間の中点までの比を離散化すればよい。
【0093】
このように越流単位区間を有限通りのパターンに分類すれば、パターンごとに越流接続子を接続すべき氾濫格子をあらかじめ定義しておくことができる。この定義に基づけば、越流単位区間と氾濫格子とを必ず接続できる。言い換えると、河川解析モジュールと氾濫解析モジュールとは、互いの格子系によらず必ず接続できる。したがって、それぞれの解析モジュールごとに最適な格子系を利用することが可能になる。
【0094】
従来、河川解析モジュールと氾濫解析モジュールとを接続するためには、一方のモジュールで用いる格子系を反映してもう一方のモジュールの格子系をもう生成する必要があった。したがって、必ずしも両方のモジュールが最適な格子系を利用できなかった。本発明により、両方のモジュールが最適な格子系を利用できるためシミュレーションの計算負荷を軽減することができる。
【0095】
なお、前述したように、多くの氾濫原では、正方形からなる2次元構造格子を用いたシミュレーションで十分な精度が達成できる。ただし、ユーザがより詳細な氾濫シミュレーションを望む場合は、3次元構造格子を生成してもよい。その場合は2次元構造格子を鉛直方向に分割すればよい。さらに、水平面に生成される格子の形状を正方形以外のn角形状(3≦n)にしてもよい。たとえば、三角形、あるいは六角形が可能である。
【0096】
図23は、三角形の構造格子を用いた場合の格子分割ポリラインのパターン分類の方法を説明する図である。ステップ505において生成する格子を三角形にし、さらに図11ステップ1105において図13に示した分類方法ではなく図23に示した分類方法を用いれば、本発明を三角形からなる構造格子に適用できる。
【0097】
また、n角形状の場合、1つの氾濫格子を構成する辺がn本あるため、終点の存在する氾濫格子線はn通りに分類できる。さらに始点と終点とが同一格子線上にある場合を終点が始点の右側および左側にある場合に分類できる。ゆえに、パターンはn+1通りとなる。このパターンを用いて、上述と同様に、構造格子系を利用した解析モジュールとすることも可能である。
【実施例2】
【0098】
さて、氾濫格子1803に着目する。この格子は河川と氾濫原の隙間にあり、河川が溢れ氾濫原が浸水している場合直感的には浸水すると考えられる。ところが、ステップ1104で操作したとおり、河岸境界線を含む氾濫格子では水が流れない設定となっている。そのため、氾濫解析モジュールではこの格子に水量を移動させることができない。ユーザは、画面に表示されたシミュレーション結果を見たときに、直感と異なる表示結果を見ることになるので、違和感を持つ可能性がある。
【0099】
そこで、画面表示されたシミュレーション結果をより直感に近い状態とするために、越流ポリゴンとよぶ特殊なポリゴンを形成する。具体的には、図5ステップ506の次に、越流ポリゴンとよぶ特殊なポリゴンを作成するステップを追加し、さらに地図生成モジュール210がシミュレーション結果を表示するときにそのポリゴンを使用する。
【0100】
図19は、越流ポリゴンを作成する処理を示すPAD図である。ステップ1901では、格子分割ポリラインについて、ステップ1902以降を繰り返す。格子分割ポリラインは、すでにステップ1102で作成してある。
【0101】
図20は、越流ポリゴンの空間配置を説明するための図である。図において、格子分割ポリラインは点2001と点2002を結ぶ線分2003である。ステップ1902では、越流ポリゴンを作成する。
【0102】
越流ポリゴンは、始点から終点までは格子分割ポリラインをたどり、終点からは氾濫格子線をたどりながら反時計回りに1周すれば作成される。たとえば図20では、始点2001から終点2002まで格子分割ポリライン2003をたどり、さらに氾濫格子線をたどりながら反時計回りに1周するとポリゴン2004が作成される。
【0103】
ステップ1903では、参照する氾濫格子を指定する。この格子は、格子分割ポリラインを構成する越流単位区間より参照されている氾濫格子とする。したがって、指定される格子は1以上である。図20では、越流単位区間2003と氾濫格子2006とが越流接続子2005を通じて接続されている。
【0104】
図21は、一連の処理により作成される越流ポリゴンのデータ構造を表す概略ブロック図である。データフィールド2101にはステップ1902で作成したポリゴン形状を、2102にはステップ1903で指定した氾濫格子IDを格納する。
【0105】
図22は、越流ポリゴンを利用した場合の水害シミュレーション結果を表示した状態のGUIを示す図である。この表示内容は、図18で示した内容を表示する処理を行った後、さらに越流ポリゴンデータ2100を使用した処理を行うことにより得られる。
【0106】
データフィールド2102に格納された氾濫格子IDを参照し、それらの氾濫格子における平均水深を、データフィールド2101に格納されたポリゴンに与える。図22と図18を比較すると、河川と氾濫厳に挟まれた格子(たとえば1803)が浸水していることがわかる。以上、説明した処理により、ユーザの直感に沿ったシミュレーション結果が得られるようになる。
【実施例3】
【0107】
実施例1及び2では、本発明を適用した水害シミュレーションにより得られた結果として、「新たに出力された河川格子の水深、新たに出力された氾濫格子の水深」を、地図情報と併せて表示画面上に表示する場合を説明した。
【0108】
この他に、例えば、新たに出力された河川格子の水深及び新たに出力された氾濫格子の水深をHDDまたはメモリ等の記録手段に保持し、その保持された新たな水深情報に基づいて、水害シミュレーションを実行した地域における「被害額の合計」を、画面に表示してもよい。
【産業上の利用可能性】
【0109】
以上のように、本発明によれば、1次元格子系を利用した解析モジュールと、構造格子系を利用した解析モジュールとを連成させるシミュレーションをPC等で実現することが可能となり、水害等の水量の移動を伴うシミュレーションに適用することができる。
【図面の簡単な説明】
【0110】
【図1】本発明を実現するためのコンピュータシステムの構成を示す概略ブロック図。
【図2】水害シミュレーションプログラム121の機能構成図。
【図3】HDD 140に格納されたデータを示す概略ブロック図。
【図4】地図生成モジュール210が生成した地図を表示した状態のGUIを示す図。
【図5】格子および越流接続子を生成する処理を示すシーケンス図。
【図6】ステップ501において表示されるGUIを示す図。
【図7】河川格子生成処理を示すPAD図。
【図8】生成される河川格子の空間配置を示す図。
【図9】氾濫格子生成処理を示すPAD図。
【図10】生成される氾濫格子の空間配置を示す図。
【図11】越流接続子の生成処理を示すPAD図。
【図12】生成される越流接続子の空間配置を示す図。
【図13】格子分割ポリラインのパターン分類の方法を説明する図。
【図14】越流接続子のデータ構造を示す概略ブロック図。
【図15】格子および越流接続子を表示した状態のGUIを示す図。
【図16】水理解析モジュール220による水害シミュレーションの処理を示すシーケンス図。
【図17】ステップ1604の処理の詳細を示すPAD図。
【図18】ステップ1605により水害シミュレーション結果を表示した状態のGUIを示す図。
【図19】越流ポリゴンを作成する処理を示すPAD図。
【図20】越流ポリゴンの空間配置を説明するための図。
【図21】越流ポリゴンのデータ構造を表す概略ブロック図。
【図22】越流ポリゴンを利用した場合の水害洪水水害シミュレーション結果を表示した状態のGUIを示す図。
【図23】三角形の構造格子を用いた場合の格子分割ポリラインのパターン分類の方法を説明する図。
【図24】水害シミュレーションプログラム121の開始から解析モジュールの格子定義までになされる処理のシーケンス図。
【図25】水害シミュレーションプログラム121がシミュレーションに関するデータ他を読み出す前に提示されるGUIを示す図。
【図26】水位および水深に関する定義を説明するための図。
【符号の説明】
【0111】
100 PC、131 水害シミュレーションプログラム、322 河川解析モジュール、323 氾濫解析モジュール、324 河川・氾濫接続モジュール、500 河川・氾濫格子設定ダイアログ、1000 格子および越流接続子を表示した状態のGUI、1300 格子を表示し、さらに水害シミュレーション結果を表示した状態のGUI。
【特許請求の範囲】
【請求項1】
コンピューターに、
水害シミュレーションを実行しようとする地域の情報を入力する手段、
前記入力手段に基づき、記録手段から河川データを読み出し、河川領域を分割し、河岸境界線を辺とする第1の格子系を生成する手段、
前記記録手段から氾濫原データを読み出し、氾濫原領域を分割し、それぞれn辺以上(3≦N)の格子線で囲まれた格子より構成される第2の格子系を生成する手段、
前記第1の格子の河岸境界線とある第2の格子の格子線との交点を検出する手段、
一方の交点から他方の交点へのベクトル方向に基づき、メモリに格納されたパターンを参照して、ある第2の格子に含まれる第1の格子を他の第2の格子に接続する手段、
接続された第1の格子と他の第2の格子との間で移動させる水量を算出する手段、
前記第1の格子の水量と前記移動させる水量とを合成し、新たな第1の格子の水深を出力する手段、
前記第2の格子の水量と前記移動させる水量とを合成し、新たな第2の格子の水深を出力する手段、
を実行させるための水害シュミレーションプログラム。
【請求項2】
請求項1に記載される水害シュミレーションプログラムにおいて、
前記第1の格子の河岸境界線とある第2の格子の格子線との交点を検出し、更に、交点間の河岸境界線の線分である格子分割ポリラインを形成する手段、
前記格子分割ポリラインを前記第1の格子ごとに分割した線分である越流単位区間を形成する手段、
越流単位区間を、その越流単位区間が存在する格子分割ポリラインの一方の端点と他方の端点とを接続したベクトルに基づき有限通りに分類する手段、
有限通りに分類された越流単位区間の分類ごとに、接続する第2の格子を定義したパターンを参照する手段、
前記パターンを参照し、前記越流単位区間を他の第2の格子に接続する手段、
接続された越流単位区間を含む第1の格子と他の第2の格子との間で移動させる水量を算出する手段、
接続された越流単位区間を含む第1の格子の水量と前記移動させる水量とを合成し、新たな第1の格子の水深を出力する手段、
前記第2の格子の水量と前記移動させる水量とを合成し、新たな第2の格子の水深を出力する手段、を実行させるための水害シュミレーションプログラム。
【請求項3】
前記第1の格子系の大きさと、前記第2の格子系との大きさとは、互いに独立に生成できることを特徴とする請求項1記載の水害シュミレーションプログラム。
【請求項4】
前記第1の格子系は、一次元格子系であることを特徴とする請求項1記載の水害シミュレーションプログラム。
【請求項5】
前記移動させる水量を算出する手段では、越流単位区間の長さを用いて水量を算出することを特徴とする請求項2記載の水害シミュレーションプログラム。
【請求項6】
第2の格子に移動させる水量を、その第2の格子と接続された少なくとも1以上の第1の格子から移動させる水量の総和として評価することを特徴とする請求項1記載の水害シミュレーションプログラム。
【請求項7】
第2の格子に移動させる水量を、その第2の格子と接続された越流単位区間を含む少なくとも1以上の第1の格子から移動させる水量の総和として評価することを特徴とする請求項2記載の水害シミュレーションプログラム。
【請求項8】
前記パターンは、N+1通りであることを特徴とする請求項1記載の水害シミュレーションプログラム。
【請求項9】
更に、前記新たな第1の格子の水深及び新たな第2の格子の水深を画面に表示する手段、を備えることを特徴とする請求項2記載の水害シミュレーションプログラム。
【請求項10】
水害シミュレーションを実行しようとする地域の情報を入力する手段、
前記入力手段に基づき、記録手段から河川データを読み出し、河川領域を分割し、河岸境界線を辺とする第1の格子系を生成する手段、
前記記録手段から氾濫原データを読み出し、氾濫原領域を分割し、それぞれn辺以上(3≦N)の格子線で囲まれた格子より構成される第2の格子系を生成する手段、
前記第1の格子の河岸境界線とある第2の格子の格子線との交点を検出する手段、
一方の交点から他方の交点へのベクトル方向に基づき、メモリに格納されたパターンを参照して、ある第2の格子に含まれる第1の格子を他の第2の格子に接続する手段、
接続された第1の格子と他の第2の格子との間で移動させる水量を算出する手段、
前記第1の格子の水量と前記移動させる水量とを合成し、新たな第1の格子の水深を出力する手段、
前記第2の格子の水量と前記移動させる水量とを合成し、新たな第2の格子の水深を出力する手段、を備えることを特徴とする水害シミュレーションシステム。
【請求項11】
請求項10に記載される水害シュミレーションシステムにおいて、
前記第1の格子の河岸境界線とある第2の格子の格子線との交点を検出し、更に、交点間の河岸境界線の線分である格子分割ポリラインを形成する手段、
前記格子分割ポリラインを前記第1の格子ごとに分割した線分である越流単位区間を形成する手段、
越流単位区間を、その越流単位区間が存在する格子分割ポリラインの一方の端点と他方の端点とを接続したベクトルに基づき有限通りに分類する手段、
有限通りに分類された越流単位区間の分類ごとに、接続する第2の格子を定義したパターンを参照する手段、
前記パターンを参照し、前記越流単位区間を他の第2の格子に接続する手段、
接続された越流単位区間を含む第1の格子と他の第2の格子との間で移動させる水量を算出する手段、
接続された越流単位区間を含む第1の格子の水量と前記移動させる水量とを合成し、新たな第1の格子の水深を出力する手段、
前記第2の格子の水量と前記移動させる水量とを合成し、新たな第2の格子の水深を出力する手段、を実行させるための水害シュミレーションシステム。
【請求項12】
前記第1の格子系の大きさと、前記第2の格子系との大きさとは、互いに独立に生成できることを特徴とする請求項10記載の水害シュミレーションシステム。
【請求項13】
前記第1の格子系は、一次元格子系であることを特徴とする請求項10記載の水害シミュレーションシステム。
【請求項14】
前記移動させる水量を算出する手段では、越流単位区間の長さを用いて水量を算出することを特徴とする請求項10記載の水害シミュレーションシステム。
【請求項15】
第2の格子に移動させる水量を、その第2の格子と接続された少なくとも1以上の第1の格子から移動させる水量の総和として評価することを特徴とする請求項1記載の水害シミュレーションシステム。
【請求項16】
第2の格子に移動させる水量を、その第2の格子と接続された越流単位区間を含む少なくとも1以上の第1の格子から移動させる水量の総和として評価することを特徴とする請求項11記載の水害シミュレーションシステム。
【請求項17】
前記パターンは、N+1通りであることを特徴とする請求項10記載の水害シミュレーションシステム。
【請求項18】
更に、前記新たな第1の格子の水深及び新たな第2の格子の水深を画面に表示する手段、を備えることを特徴とする請求項10記載の水害シミュレーションシステム。
【請求項19】
更に、前記一方の交点、他方の交点、及び第2の格子の格子線とで囲まれる領域を越流ポリゴンとして生成する手段、
前記第1の格子が接続される他の第2の格子における平均水深を抽出する手段、
前記抽出された他の第2の格子における平均水深を、前記越流ポリゴンの水深とする手段、
前記越流ポリゴンの水深を画面に表示する手段、とを備えることを特徴とする請求項17記載の水害シミュレーションシステム。
【請求項1】
コンピューターに、
水害シミュレーションを実行しようとする地域の情報を入力する手段、
前記入力手段に基づき、記録手段から河川データを読み出し、河川領域を分割し、河岸境界線を辺とする第1の格子系を生成する手段、
前記記録手段から氾濫原データを読み出し、氾濫原領域を分割し、それぞれn辺以上(3≦N)の格子線で囲まれた格子より構成される第2の格子系を生成する手段、
前記第1の格子の河岸境界線とある第2の格子の格子線との交点を検出する手段、
一方の交点から他方の交点へのベクトル方向に基づき、メモリに格納されたパターンを参照して、ある第2の格子に含まれる第1の格子を他の第2の格子に接続する手段、
接続された第1の格子と他の第2の格子との間で移動させる水量を算出する手段、
前記第1の格子の水量と前記移動させる水量とを合成し、新たな第1の格子の水深を出力する手段、
前記第2の格子の水量と前記移動させる水量とを合成し、新たな第2の格子の水深を出力する手段、
を実行させるための水害シュミレーションプログラム。
【請求項2】
請求項1に記載される水害シュミレーションプログラムにおいて、
前記第1の格子の河岸境界線とある第2の格子の格子線との交点を検出し、更に、交点間の河岸境界線の線分である格子分割ポリラインを形成する手段、
前記格子分割ポリラインを前記第1の格子ごとに分割した線分である越流単位区間を形成する手段、
越流単位区間を、その越流単位区間が存在する格子分割ポリラインの一方の端点と他方の端点とを接続したベクトルに基づき有限通りに分類する手段、
有限通りに分類された越流単位区間の分類ごとに、接続する第2の格子を定義したパターンを参照する手段、
前記パターンを参照し、前記越流単位区間を他の第2の格子に接続する手段、
接続された越流単位区間を含む第1の格子と他の第2の格子との間で移動させる水量を算出する手段、
接続された越流単位区間を含む第1の格子の水量と前記移動させる水量とを合成し、新たな第1の格子の水深を出力する手段、
前記第2の格子の水量と前記移動させる水量とを合成し、新たな第2の格子の水深を出力する手段、を実行させるための水害シュミレーションプログラム。
【請求項3】
前記第1の格子系の大きさと、前記第2の格子系との大きさとは、互いに独立に生成できることを特徴とする請求項1記載の水害シュミレーションプログラム。
【請求項4】
前記第1の格子系は、一次元格子系であることを特徴とする請求項1記載の水害シミュレーションプログラム。
【請求項5】
前記移動させる水量を算出する手段では、越流単位区間の長さを用いて水量を算出することを特徴とする請求項2記載の水害シミュレーションプログラム。
【請求項6】
第2の格子に移動させる水量を、その第2の格子と接続された少なくとも1以上の第1の格子から移動させる水量の総和として評価することを特徴とする請求項1記載の水害シミュレーションプログラム。
【請求項7】
第2の格子に移動させる水量を、その第2の格子と接続された越流単位区間を含む少なくとも1以上の第1の格子から移動させる水量の総和として評価することを特徴とする請求項2記載の水害シミュレーションプログラム。
【請求項8】
前記パターンは、N+1通りであることを特徴とする請求項1記載の水害シミュレーションプログラム。
【請求項9】
更に、前記新たな第1の格子の水深及び新たな第2の格子の水深を画面に表示する手段、を備えることを特徴とする請求項2記載の水害シミュレーションプログラム。
【請求項10】
水害シミュレーションを実行しようとする地域の情報を入力する手段、
前記入力手段に基づき、記録手段から河川データを読み出し、河川領域を分割し、河岸境界線を辺とする第1の格子系を生成する手段、
前記記録手段から氾濫原データを読み出し、氾濫原領域を分割し、それぞれn辺以上(3≦N)の格子線で囲まれた格子より構成される第2の格子系を生成する手段、
前記第1の格子の河岸境界線とある第2の格子の格子線との交点を検出する手段、
一方の交点から他方の交点へのベクトル方向に基づき、メモリに格納されたパターンを参照して、ある第2の格子に含まれる第1の格子を他の第2の格子に接続する手段、
接続された第1の格子と他の第2の格子との間で移動させる水量を算出する手段、
前記第1の格子の水量と前記移動させる水量とを合成し、新たな第1の格子の水深を出力する手段、
前記第2の格子の水量と前記移動させる水量とを合成し、新たな第2の格子の水深を出力する手段、を備えることを特徴とする水害シミュレーションシステム。
【請求項11】
請求項10に記載される水害シュミレーションシステムにおいて、
前記第1の格子の河岸境界線とある第2の格子の格子線との交点を検出し、更に、交点間の河岸境界線の線分である格子分割ポリラインを形成する手段、
前記格子分割ポリラインを前記第1の格子ごとに分割した線分である越流単位区間を形成する手段、
越流単位区間を、その越流単位区間が存在する格子分割ポリラインの一方の端点と他方の端点とを接続したベクトルに基づき有限通りに分類する手段、
有限通りに分類された越流単位区間の分類ごとに、接続する第2の格子を定義したパターンを参照する手段、
前記パターンを参照し、前記越流単位区間を他の第2の格子に接続する手段、
接続された越流単位区間を含む第1の格子と他の第2の格子との間で移動させる水量を算出する手段、
接続された越流単位区間を含む第1の格子の水量と前記移動させる水量とを合成し、新たな第1の格子の水深を出力する手段、
前記第2の格子の水量と前記移動させる水量とを合成し、新たな第2の格子の水深を出力する手段、を実行させるための水害シュミレーションシステム。
【請求項12】
前記第1の格子系の大きさと、前記第2の格子系との大きさとは、互いに独立に生成できることを特徴とする請求項10記載の水害シュミレーションシステム。
【請求項13】
前記第1の格子系は、一次元格子系であることを特徴とする請求項10記載の水害シミュレーションシステム。
【請求項14】
前記移動させる水量を算出する手段では、越流単位区間の長さを用いて水量を算出することを特徴とする請求項10記載の水害シミュレーションシステム。
【請求項15】
第2の格子に移動させる水量を、その第2の格子と接続された少なくとも1以上の第1の格子から移動させる水量の総和として評価することを特徴とする請求項1記載の水害シミュレーションシステム。
【請求項16】
第2の格子に移動させる水量を、その第2の格子と接続された越流単位区間を含む少なくとも1以上の第1の格子から移動させる水量の総和として評価することを特徴とする請求項11記載の水害シミュレーションシステム。
【請求項17】
前記パターンは、N+1通りであることを特徴とする請求項10記載の水害シミュレーションシステム。
【請求項18】
更に、前記新たな第1の格子の水深及び新たな第2の格子の水深を画面に表示する手段、を備えることを特徴とする請求項10記載の水害シミュレーションシステム。
【請求項19】
更に、前記一方の交点、他方の交点、及び第2の格子の格子線とで囲まれる領域を越流ポリゴンとして生成する手段、
前記第1の格子が接続される他の第2の格子における平均水深を抽出する手段、
前記抽出された他の第2の格子における平均水深を、前記越流ポリゴンの水深とする手段、
前記越流ポリゴンの水深を画面に表示する手段、とを備えることを特徴とする請求項17記載の水害シミュレーションシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【公開番号】特開2008−171215(P2008−171215A)
【公開日】平成20年7月24日(2008.7.24)
【国際特許分類】
【出願番号】特願2007−3981(P2007−3981)
【出願日】平成19年1月12日(2007.1.12)
【出願人】(000233044)株式会社日立エンジニアリング・アンド・サービス (276)
【Fターム(参考)】
【公開日】平成20年7月24日(2008.7.24)
【国際特許分類】
【出願日】平成19年1月12日(2007.1.12)
【出願人】(000233044)株式会社日立エンジニアリング・アンド・サービス (276)
【Fターム(参考)】
[ Back to top ]