国土交通省の国土数値情報の河川データには不備がある.テーブル構造の不一致についてはテーブル構造の修正には「属性のリファクタリング」で修正方法を述べた.今回は属性テーブルの値を修正する.
値を修正するだけのつもりでいたが,結局「属性のリファクタリング」まで手を出してしまった.おかでげ国土数値情報の河川データはほぼ修正できたと思う.
流下方向判定
流下方向判定のコードは W05_005 である.そもそも定義が真偽値型であるのに,true または 1, false または 0 という定義が曖昧である.ざっとデータを眺めたところ,データ長が 4 または 1 のフィールドだけのようであり,true か 1 かで揺れている.これを統一するなら数字に揃えたほうが良さそうである.
フィールド計算機を開く
レイヤの属性テーブルを開いた状態で下図のように「編集モード切替」「フィールド計算機を開く」ボタンをクリックする.
フィールド計算機の設定
下図に示したように設定する.「既存のフィールドを更新する」にチェックを入れ,ポップアップメニューから目的とするフィールド(今回は W05_006 )を選択し,「条件」の CASE をダブルクリックすると「式」に CASE 式の概要が入るので,条件と処理をタイプして入力する.
これは SQL において下記コードのような処理を行うものである.
UPDATE TABLE SET [W05-07_02-g_Stream].[W05_006] = SELECT CASE WHEN "W05_006" = 'true' THEN '1' END
続いて河川端点のフィールドについて変更を行う.
河川端点
河川端点は具体的には 4 列ある.河川始点 (W05_007), 河川終点 (W05_008), 流路始点 (W05_009), 流路終点 (W05_010) である.
河川端点コードの構造
河川端点コードのデータ長は北海道が 7 桁で最短であり,四国地方が 10 桁,その他は 13 桁である.しかし,コードをよく見てみると,ユニークな値は右から 7 文字のみであることが分かる.
レイヤのマージの際に発生したエラーはデータ長が長すぎる,というものであった.おそらく,ユニークな文字列を残せば外部キーとしての役割は果たせるだろう.
ということで,河川端点コードは右から 7 文字だけ取り出せば良い,という方針が立つ.
具体的な手順
フィールド計算機で「既存のフィールドを更新する」をチェック (1) し,編集対象のフィールドを選択 (2) する.
「条件」のCASEをダブルクリック (3) する.
condition を選択しておいて「文字列」から length をダブルクリック (4) する.引数に “W05_009” とタイプしてカッコを閉じ,> 7 とタイプして condition の入力は完了である.
result を選択しておいて「文字列」の right をダブルクリック (5) する.続けて引数に “W05_009”, 7 とタイプしてカッコを閉じれば result の入力は完了である.
CASE式の全文は下図のとおりである.日本語に訳すと,「フィールド “W005_009” の文字列長が 7 より大きければ,右から 7 文字取り出して置換する」である.to_string 関数で包んだ目的は,先頭の文字が 0 であった場合の桁落ちを防ぐことである.
CASE WHEN length("W05_009") > 7 THEN to_string(right("W05_009", 7)) END
この処理を W05_007, W05_008, W05_009, W05_010 に行い,さらにレイヤの数だけ繰り返す.地道な作業である.
原典資料種別
原典資料種別 (W05_005) も最後の方で引っかかったフィールドである.リンク先にあるように,本来 1 桁のコードであるからデータ長も 1 であるべきなのだが,データ長 3 のレコードがあるようで,鹿児島県と沖縄県がベクタレイヤのマージの際にエラーで引っかかる.
おそらく複数の原典資料を記録しているものと思われる.データベースの正規化という点ではテーブルを分けるのが正解であるが,そこまでする必要があるとも思えない.
方法は 2 つある.何らかの手段で値を一つだけに限定するか,フィールドそのものを削除してしまうかである.
今回はフィールド計算機の練習も兼ねているため,一つの値を取り出すことにする.具体的には,最初の値だけを抽出する.
属性テーブルを開く
レイヤを右クリックして「属性テーブルを開く」.
「編集モード切替」ボタンをクリックする.
「フィールド計算機を開く」ボタンをクリックする.
「既存のフィールドを更新する」をチェック (1) する.
ポップアップメニューから更新したいフィールドを選択 (2) する.
「文字列」から left をダブルクリックして選択 (3) する.
left 関数の引数をタイプ (4) する.
最後に OK ボタンをクリックする.「編集モード切替」ボタンをクリックすると保存するか聞かれるので「保存」ボタンをクリックする.
度重なるエラー
ここまで来るとエラーにも慣れてどう対処すればいいのか見当がつくようになる.今度もデータ長が足りないというものだ.
QGIS version: 3.16.2-Hannover QGIS code revision: f1660f9da5 Qt version: 5.11.2 GDAL version: 3.1.4 GEOS version: 3.8.1-CAPI-1.13.3 PROJ version: Rel. 6.3.2, May 1st, 2020 プロセシングアルゴリズム... アルゴリズム 'ベクタレイヤのマージ' を開始しています... 入力パラメータ: { 'CRS' : None, 'LAYERS' : ['C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-06_36-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-06_37-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-06_38-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-06_39-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-07_02-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-07_03-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-07_04-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-07_05-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-07_06-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-07_07-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-07_15-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-07_16-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-07_17-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-07_18-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-07_40-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-07_41-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-07_42-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-07_43-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-07_44-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-07_45-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-07_46-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-07_47-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-08_09-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-08_10-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-08_11-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-08_12-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-08_13-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-08_14-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-08_19-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-08_20-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-08_22-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-08_23-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-08_24-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-08_31-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-08_32-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-08_33-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-08_34-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-08_35-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-09_25-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-09_26-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-09_27-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-09_28-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-09_29-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-09_30-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-21_01-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-21_08-g_Stream.shp','C:/Users/USER/Dropbox/20210211RIVER/ShapeFiles/Streams/W05-21_21-g_Stream.shp'], 'OUTPUT' : 'TEMPORARY_OUTPUT' } 出力タイプをMultiLineStringに設定しています レイヤをパッケージ中 1/47: W05-06_36-g_Stream レイヤをパッケージ中 2/47: W05-06_37-g_Stream レイヤをパッケージ中 3/47: W05-06_38-g_Stream レイヤをパッケージ中 4/47: W05-06_39-g_Stream レイヤをパッケージ中 5/47: W05-07_02-g_Stream レイヤをパッケージ中 6/47: W05-07_03-g_Stream レイヤをパッケージ中 7/47: W05-07_04-g_Stream レイヤをパッケージ中 8/47: W05-07_05-g_Stream レイヤをパッケージ中 9/47: W05-07_06-g_Stream レイヤをパッケージ中 10/47: W05-07_07-g_Stream レイヤをパッケージ中 11/47: W05-07_15-g_Stream レイヤをパッケージ中 12/47: W05-07_16-g_Stream レイヤをパッケージ中 13/47: W05-07_17-g_Stream レイヤをパッケージ中 14/47: W05-07_18-g_Stream レイヤをパッケージ中 15/47: W05-07_40-g_Stream レイヤをパッケージ中 16/47: W05-07_41-g_Stream レイヤをパッケージ中 17/47: W05-07_42-g_Stream レイヤをパッケージ中 18/47: W05-07_43-g_Stream レイヤをパッケージ中 19/47: W05-07_44-g_Stream レイヤをパッケージ中 20/47: W05-07_45-g_Stream レイヤをパッケージ中 21/47: W05-07_46-g_Stream レイヤをパッケージ中 22/47: W05-07_47-g_Stream レイヤをパッケージ中 23/47: W05-08_09-g_Stream レイヤをパッケージ中 24/47: W05-08_10-g_Stream レイヤをパッケージ中 25/47: W05-08_11-g_Stream レイヤをパッケージ中 26/47: W05-08_12-g_Stream レイヤをパッケージ中 27/47: W05-08_13-g_Stream レイヤをパッケージ中 28/47: W05-08_14-g_Stream レイヤをパッケージ中 29/47: W05-08_19-g_Stream レイヤをパッケージ中 30/47: W05-08_20-g_Stream レイヤをパッケージ中 31/47: W05-08_22-g_Stream レイヤをパッケージ中 32/47: W05-08_23-g_Stream レイヤをパッケージ中 33/47: W05-08_24-g_Stream レイヤをパッケージ中 34/47: W05-08_31-g_Stream レイヤをパッケージ中 35/47: W05-08_32-g_Stream レイヤをパッケージ中 36/47: W05-08_33-g_Stream レイヤをパッケージ中 37/47: W05-08_34-g_Stream レイヤをパッケージ中 38/47: W05-08_35-g_Stream レイヤをパッケージ中 39/47: W05-09_25-g_Stream レイヤをパッケージ中 40/47: W05-09_26-g_Stream レイヤをパッケージ中 41/47: W05-09_27-g_Stream レイヤをパッケージ中 42/47: W05-09_28-g_Stream レイヤをパッケージ中 43/47: W05-09_29-g_Stream レイヤをパッケージ中 44/47: W05-09_30-g_Stream レイヤをパッケージ中 45/47: W05-21_01-g_Stream 地物を 出力レイヤ_42fd1a3b_9255_4991_b013_88554f1f1a3b: 属性 "W05_004": 文字列の長さ 17 はフィールドの上限(14)を超えています を格納できませんでした に書き込めませんでした 地物を 出力レイヤ_42fd1a3b_9255_4991_b013_88554f1f1a3b: 属性 "W05_004": 文字列の長さ 17 はフィールドの上限(14)を超えています を格納できませんでした に書き込めませんでした 地物を 出力レイヤ_42fd1a3b_9255_4991_b013_88554f1f1a3b: 属性 "W05_004": 文字列の長さ 17 はフィールドの上限(14)を超えています を格納できませんでした に書き込めませんでした 地物を 出力レイヤ_42fd1a3b_9255_4991_b013_88554f1f1a3b: 属性 "W05_004": 文字列の長さ 17 はフィールドの上限(14)を超えています を格納できませんでした に書き込めませんでした 地物を 出力レイヤ_42fd1a3b_9255_4991_b013_88554f1f1a3b: 属性 "W05_004": 文字列の長さ 17 はフィールドの上限(14)を超えています を格納できませんでした に書き込めませんでした 地物を 出力レイヤ_42fd1a3b_9255_4991_b013_88554f1f1a3b: 属性 "W05_004": 文字列の長さ 16 はフィールドの上限(14)を超えています を格納できませんでした に書き込めませんでした レイヤをパッケージ中 46/47: W05-21_08-g_Stream レイヤをパッケージ中 47/47: W05-21_21-g_Stream 実行は19.75秒で完了しました 結果: {'OUTPUT': '出力レイヤ_42fd1a3b_9255_4991_b013_88554f1f1a3b'} 出力レイヤの読み込み アルゴリズム 'ベクタレイヤのマージ'が終了しました
問題になっている W05_004 は河川名である.データ長の不足はテーブルの構造に関する問題であるため,フィールド計算機ではなく,属性のリファクタリングで対応すべき問題だろう.
属性のリファクタリングでフィールドのデータ長を変更する
さて,国土数値情報の河川データの属性テーブルを編集してみたが…では属性テーブルのデータ長の揺れを指摘した.河川名のデータ長の最大値は 40 と見てよいだろうが,安全マージンとして 255 としておこう.
「プロセシング」メニューの「ツールボックス」へと進む.
「ベクタテーブル」「属性のリファクタリング」へと進む.
「始点ID」「終点ID」フィールドはそれぞれ 9 番目,10 番目に来るべきものである.
「始点ID」「終点ID」が正しい順序となった.
フィールド名を修正する.
河川名 (W05_004) のデータ長を修正する.
この後「実行」ボタンをクリックすると「再構成レイヤ」として修正されたレイヤがパネルに出現する.
「再構成レイヤ」を右クリックして「エクスポート」「地物の保存…」と進む.
「ベクタレイヤを名前を付けて保存…」ダイアログではフルパス付きのファイル名で保存する.
「再構成レイヤ」は不要となるので「削除」する.
ベクタレイヤのマージ
さて,ここまで来てやっと全てのレイヤをマージできる.プロセシングツールボックスの「ベクタ一般」から「ベクタレイヤのマージ」と進んでも,「ベクタ」メニューの「データ管理ツール」から「ベクタレイヤのマージ…」と進んでも良い.
「ベクタレイヤのマージ」ダイアログ
「ベクタレイヤのマージ」ダイアログが開くので,「入力レイヤ」右のボタンをクリック (1) する.
ここまでの操作でレイヤパネルに読み込んだレイヤが表示されているはずである.「すべて選択する」をクリック (2) する.
OKをクリックするか左向きの三角形ボタンをクリック (3) する.
「変換先の座標参照系(CRS)」を指定 (4) する.ここは任意である.この後,「実行」ボタンをクリックすると,マージされた結果が「出力レイヤ」としてレイヤパネルに表示される.
「出力レイヤ」を右クリックして「エクスポート」「地物の保存…」と進む.フルパス付きのファイル名で保存するとレイヤパネルに表示される.「出力レイヤ」は不要となるので削除する.
ログ
「レイヤのマージ」ダイアログのログを示す.ここまで来るのに随分時間と手間をかけた.得られたデータをどう活用していくか,考えている.
QGIS version: 3.16.2-Hannover QGIS code revision: f1660f9da5 Qt version: 5.11.2 GDAL version: 3.1.4 GEOS version: 3.8.1-CAPI-1.13.3 PROJ version: Rel. 6.3.2, May 1st, 2020 プロセシングアルゴリズム... アルゴリズム 'ベクタレイヤのマージ' を開始しています... 入力パラメータ: { 'CRS' : QgsCoordinateReferenceSystem('EPSG:4326'), 'LAYERS' : ['C:/Users/User/Dropbox/20210217RiverBLOG/Stream01.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream02.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream03.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream04.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream05.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream06.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream07.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream08.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream09.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream10.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream11.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream12.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream13.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream14.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream15.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream16.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream17.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream18.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream19.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream20.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream21.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream22.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream23.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream24.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream25.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream26.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream27.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream28.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream29.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream30.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream31.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream32.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream33.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream34.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream35.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream36.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream37.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream38.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream39.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream40.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream41.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream42.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream43.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream44.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream45.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream46.shp','C:/Users/User/Dropbox/20210217RiverBLOG/Stream47.shp'], 'OUTPUT' : 'TEMPORARY_OUTPUT' } 指定されたCRS EPSG:4326を使用しています 出力タイプをMultiLineStringに設定しています レイヤをパッケージ中 1/47: Stream01 レイヤをパッケージ中 2/47: Stream02 レイヤをパッケージ中 3/47: Stream03 レイヤをパッケージ中 4/47: Stream04 レイヤをパッケージ中 5/47: Stream05 レイヤをパッケージ中 6/47: Stream06 レイヤをパッケージ中 7/47: Stream07 レイヤをパッケージ中 8/47: Stream08 レイヤをパッケージ中 9/47: Stream09 レイヤをパッケージ中 10/47: Stream10 レイヤをパッケージ中 11/47: Stream11 レイヤをパッケージ中 12/47: Stream12 レイヤをパッケージ中 13/47: Stream13 レイヤをパッケージ中 14/47: Stream14 レイヤをパッケージ中 15/47: Stream15 レイヤをパッケージ中 16/47: Stream16 レイヤをパッケージ中 17/47: Stream17 レイヤをパッケージ中 18/47: Stream18 レイヤをパッケージ中 19/47: Stream19 レイヤをパッケージ中 20/47: Stream20 レイヤをパッケージ中 21/47: Stream21 レイヤをパッケージ中 22/47: Stream22 レイヤをパッケージ中 23/47: Stream23 レイヤをパッケージ中 24/47: Stream24 レイヤをパッケージ中 25/47: Stream25 レイヤをパッケージ中 26/47: Stream26 レイヤをパッケージ中 27/47: Stream27 レイヤをパッケージ中 28/47: Stream28 レイヤをパッケージ中 29/47: Stream29 レイヤをパッケージ中 30/47: Stream30 レイヤをパッケージ中 31/47: Stream31 レイヤをパッケージ中 32/47: Stream32 レイヤをパッケージ中 33/47: Stream33 レイヤをパッケージ中 34/47: Stream34 レイヤをパッケージ中 35/47: Stream35 レイヤをパッケージ中 36/47: Stream36 レイヤをパッケージ中 37/47: Stream37 レイヤをパッケージ中 38/47: Stream38 レイヤをパッケージ中 39/47: Stream39 レイヤをパッケージ中 40/47: Stream40 レイヤをパッケージ中 41/47: Stream41 レイヤをパッケージ中 42/47: Stream42 レイヤをパッケージ中 43/47: Stream43 レイヤをパッケージ中 44/47: Stream44 レイヤをパッケージ中 45/47: Stream45 レイヤをパッケージ中 46/47: Stream46 レイヤをパッケージ中 47/47: Stream47 実行は4.51秒で完了しました 結果: {'OUTPUT': '出力レイヤ_ffd1df4c_09ca_4fdb_bf45_99a7f2fc986e'} 出力レイヤの読み込み アルゴリズム 'ベクタレイヤのマージ'が終了しました
まとめと課題
国土交通省の国土数値情報の河川データを修正した.フィールド計算機による値の修正,属性のリファクタリングによるテーブル構造の修正を要した.
ベクタレイヤのマージにより全都道府県の河川データを一つのシェープファイルに結合した.
河川データはリレーショナルデータベースという観点から見ると,特異な構造を有していることが分かる.ノードを有しており一見,木構造のように思えるが厳密な木構造ではない.単純化して上下対象の木構造として考えても,矛盾する点が出てくる.
現実をどう扱うのが良いか,再帰クエリを使うのが良いのか,考えあぐねている.位相幾何学やネットワーク構造を学んだ人なら思いつくのかもしれない.