QGIS の扱いは慣れないと難しい.特に地物を保存する際のエクスポートには難渋した.慣れてしまえばどうということはないのだが,慣れるまでが難しい.
北海道の河川の流路のシェープファイルを修正する
まず北海道のデータを修正する.
ベクタレイヤを追加
QGIS を起動し,「レイヤ」メニューから「レイヤを追加」「ベクタレイヤを追加…」と進む.

データソースマネージャでソースのベクタデータセットを指定する.赤で印したボタンをクリックしてダイアログを開く.

「OGRがサポートするベクタデータセットを開く」ダイアログで北海道の河川流路データである W05-09_01-g_Stream.shp を選択し「開く」ボタンをクリックする.

ソースにフルパス付きのファイル名が指定されるので「追加」ボタンをクリックする.

プロパティの確認
レイヤのプロパティを確認してみよう.レイヤパネルのレイヤを右クリックして「プロパティ」へ進む.

「情報」を下にスクロールして「属性」を確認する.フィールド名が日本語であり,フィールドの順序も他と異なる.始点 ID および終点 ID はそれぞれ 9 番目および 10 番目に来るべきものである.

テーブル構造の修正には「属性のリファクタリング」
今回の修正にはフィールドの順序の変更やフィールド名の修正が含まれる.この場合,プロセシングツールボックスによる修正が必要となる.
「プロセシング」メニューから「ツールボックス」へと進む.

「プロセシングツールボックス」パネルが開く.「ベクタテーブル」「属性のリファクタリング」と進む.

始点 ID および終点 ID をクリックして選択し,「選択属性を下へ」ボタンを押して順序を入れ替える.

始点 ID と終点 ID を本来の順序に修正したところである.

次はフィールドの名前を修正する.ダブルクリックするとセルにカーソルが入り,キーボードからタイプして修正できる.

「実行」ボタンをクリックするとログに結果が出力される.

結果は「再構成レイヤ」に表示される.

再構成レイヤをエクスポートして地物を保存する
さて,ここからが躓いたところである.再構成レイヤを右クリックして「エクスポート」「地物の保存…」と進む.

下図をよく見てほしい.「ファイル名」には直接カーソルが入り,キーボードからファイル名を入力できてしまうので間違えた.

そのままOKをクリックすると,エラーとなる.

正しい方法は,右側のボタンをクリックして「名前をつけてレイヤを保存」ダイアログを出すことである.

「名前をつけてレイヤを保存」ダイアログでファイル名をタイプして「保存」をクリックする.

フルパス付きのファイル名が「ファイル名」に入る.この手順を飛ばすと先程のエラーに見舞われる.

再構成レイヤはもはや不要なので「削除」する.

茨城県の河川の流路のシェープファイルを修正する
茨城県の場合は 11 番目に余分なフィールドが存在することだった.フィールドの削除も「属性のリファクタリング」を行う.




実行をクリックして編集を終了する.
エクスポートでの失敗
エクスポートでの失敗は,ファイル名の競合などで起きやすいようだ.あらかじめ修正元のレイヤをパネルから削除した上で,エクスプローラで元のファイルを物理削除してしまうのが確実なのかもしれない.

「名前を付けてレイヤを保存」ダイアログでファイル名をタイプして「保存」する.

示唆に富むエラー画面である.


座標参照系
属性のリファクタリングの際,座標参照系が強制的に指定されるため,.prj ファイルが作成される.後でまとめて変更するので,ここで削除してしまっても良いだろう.

まとめ
国土交通省の国土数値情報にある河川データを QGIS を用いて修正した.
修正済みのデータなら Shape2SQL で SQL Server にアップロードできるかもしれないが,まだ試していない.
次の課題はすべての都道府県のシェープファイルを一つにまとめることである.
“QGISで国土数値情報のシェープファイルを修正する” への2件の返信