河川を測線で区切っていく

「河心線(河川の中心部を表すライン)を測線(最下流部から概ね等間隔で並べている)で分割し、各区間に名称を入れる」という作業があります。
某河川の河口部は、

この様な雰囲気で、全体は

この様に、約20kmあります。
やりたい事は、つまりは

これです。
では、実際にどの様に作業すれば良いか・・・。
河心線を全ての測線で分割する(切り刻む)のは、GISだと非常に簡単です。「このラインを別のラインセットで刻んで」という指示を出すだけですので、20秒ですね。
上図の場合、6個の線分(刻んだ河心線)に名称を手作業で入れていくのは、1分といった感じでしょうか。
簡単ですね。大した事はありません。
ところが実際は・・・。
この河川の場合は約20kmありますから、測線は約200本あります。線分も約200個できます。その全てに手作業で?
やってやれない事はないでしょうが、時間もかかりますし、途中で間違いそうです。
更に、河川は1個だけではなくて全部で400個あるとしたら?理論上は手作業で完遂できるでしょうが、事実上は無理ですよね。
「そんなの簡単だよ。下流の線分から順番に番号を振っていって、その番号に合わせて中身を流し込んでいけば良い(テーブルの結合)」それはそのとおりです。
ですが、問題があります。GISにおいて下流とは、何を持って下流と言うのでしょうか?南側でしょうか?河川によっては河口部が北側にあったりします。更に、大きな河川に流れ込んでいる支川の場合、もはや東西南北でどうなるものではありません。
谷次数の時も出てきましたが、河川の上流下流を機械的に判断するというのは非常に困難なのです。
○方法1
GISデータそのものに「頂点の流れの方向」を持たせる事は可能です。
GISの折れ線は「どちらからどちらに向かって頂点が並んでいるか」を表現できますので、

これは上流から下流に向かって並んでいますから(ある意味、水の流れという観点では正しいのですが)、

この様に、並び順を反対にしてやれば良いのです。GISによっては、この操作は簡単に行えます。
河川が400個あるとして、1個1個見ていっても莫大に時間がかかるわけではありません。1時間ちょっとで終わるでしょう。
「他に、もっと良い方法があるのではないか」とあれこれ考えるより、こっちの方が早いでしょうね。
○方法2
各測線の両端にポイントを作成し、属性として名称を入れておきます(この作業は、かなりの部分を機械的に行えます)。
この作業そのものは、河心線の方向とは無関係に行えます(気にする必要がない)。

GISによっては、各ポイントにより包み込まれるポリゴンを自動作成できます。
各ポリゴンに、関係するポイントの属性を埋め込む事が可能ですので、

河川線ラインと包み込みポリゴンでインターセクトすれば、

望んでいる結果を得られました。
この方法は
・各ポイントにより包み込まれるポリゴンを作成
・各ポリゴンに、関係するポイントの属性を埋め込む
が自動的に同時に行う事が可能であるというのを前提としています。
そのため、使っているGISによっては難しいでしょう。
○方法3
他にも、まだまだ方法はあると思います。
例えば。
河心線と各測線の交点を作成します。属性として、測線の情報を持たせます。
交点の座標を求めます。
100m交点と200m交点の中点を求め(座標値から計算できる)、属性として両交点の情報を入れます。他も同様に。
測線でぶつ切りにした各線分について、最も近い中点を空間結合させる。これで望んでいる結果を得られます。

