Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
蜂は六角形の巣を作り、
人間は長方形の煉瓦を作った
正六角形DEMは存在しない
正六角形DEMの寸法
六角形を潰して長方形とする 辺長と位相は保存する
正方形DEMとして格納する 連結を規制する
正六角形 DEM 採用の損得
デメリット
・緯度経度法 DEM から新たに生成する必要がある
・計算後、地図表現のため復元する必要がある
メリット
・結節点は2川合流か延長に限定される
・異方性は小さい
1次元モデルの2次元への拡張が適切に行われる
(2次元フラックスの計算アルゴリズの簡明化)
水系網を再帰的に走査するC言語関数
流路長(上・下流点からの距離)の計算
(上)流域面積の計算
流量(フラックス)の計算->流出モデル
セディメント・フラックスの計算
フラックスの入出力の差が標高(地形)変化
-> 地形変化のシミュレーション
流路長を計算する再帰関数
上流からの流路長の再帰的定義
最上流(水源)点の流路長=1単位
その点までの流路長=上流点の流路長+1単位
特定点(例えば海)に達すると終了
下流からの流路長の再帰的定義
その点までの流路長=下流点の流路長+1単位
水源点で走査終了(行き先ポインタが無い)
流域走査のためのポインタテーブル
ある点について
どこに流れていくか
->唯一とする:河川は分流しない
どこから流れてくるか
->最大2方向(六角形DEMの場合)
(2川合流2:延長1:水源点0)
(海の場合、稀に3方向)
これらを配列に格納: FDM
方位コード
10
↑
17 ← ○ → 19
↓
26
方位による座標の変化
X方向: code%8 - 2
Y方向: code /8 - 2
流域面積を計算する再帰関数
流域面積の再帰的定義
2川合流の場合
流域面積=右の支流面積+左の支流面積+1単位
延長の場合
流域面積=上流面積+1単位
最上流(水源点)の場合
流域面積=1単位
流域ピクセル数を返す再帰関数 calcdrn
00 int caldrn(int wn, int wm, unsigned char wdir)
01 { int m, n;
02 unsigned char dir1,dir2, dir3; // 方向コード
03 int s1, s2, s3; // 流域ピクセル数
04
05 if (fdm[wn][wm][0]==ob) return(0);// ob:対象外
06 n=wn+wdir/8-2; m=wm+wdir%8-2; // 行先の座標取得
07 if (n==0 || n==NS-1 || m==0 || m==WE-1) return(0);
08 if (fdm[n][m][0]==ob) return(0); // ob:対象外
09 dir1=fdm[n][m][1];
10 if (dir1==0) // 流入方向がない
11 return (1); // (水源点)
12 else // 第1流入はあるが
13 { s1=caldrn(n,m,dir1);
14 If ((dir2=fdm[n][m][2])==0) // 第2流入はない
15 return(s1+1); // 上流ピクセル数に1を加算
16 else // 第2流入はあるが
17 { s2=caldrn(n,m,dir2);
18 If ((dir3=fdm[n][m][3])==0) // 第3流入はない
19 return(s1+s2+1)
20 else // 海の場合のみ、3方向
21 { s3=caldrn(n,m,dir3); // からの流入がありうる.
22 return(s1+s2+s3);
23 }
24 }
25 }
26 }
サンプル地形(八海山:六日町盆地)
海(300m等高線)からの距離
流域面積(水系網のように表示)
水系網と海からの距離
全ての点は水系網を通じて連結している
斜面発達方程式(平野モデル)
河川縦断形発達モデル(野上モデル)
基礎方程式(フラックス表現)
Q = k(∂u/∂x) ----(1)
Q = a exp(rx)(∂u/∂x) ----(2)
ここで、点 x における高度を u とし、
Q はその点でのセディメントフラックスである.
流入する Q と流出する Q の差が高度変化となる = 保存則
地形発達の(拡散方程式)モデル
k は斜面領域(1)の拡散係数(風化プロセスと営力に依存)
河川領域(2)では、流域面積の平方根を距離 x と見なし、
a は河川領域境界点における拡散係数
r は拡散係数の下流への増加を表す係数
(河川縦断形の凹形度を表す)