国土数値情報の河川データは都道府県ごとに分かれており,一つのシェープファイルに結合したかった.調べてみると QGIS でできそうだったので実行してみた.
QGISのデータ管理ツール
QGIS の「ベクタ」メニューの「データ管理ツール」から「ベクタレイヤのマージ」を選ぶ.
![「ベクタ」「データ管理ツール」「ベクタレイヤのマージ...」](https://i0.wp.com/www.muscle-hypertrophy.com/wp-content/uploads/2020/12/40.png?resize=399%2C227&ssl=1)
「パラメータ」タブ
入力レイヤ,変換先の座標参照系,出力レイヤをそれぞれ指定していく.
![「ベクタレイヤのマージ」「パラメータ」](https://i0.wp.com/www.muscle-hypertrophy.com/wp-content/uploads/2020/12/41.png?resize=525%2C422&ssl=1)
入力レイヤを指定
「入力レイヤ」右側のボタンを押したところ.「ディレクトリを追加」をクリックする.
![「入力レイヤ」右側のボタンを押したところ.「ディレクトリの追加」をクリック](https://i0.wp.com/www.muscle-hypertrophy.com/wp-content/uploads/2020/12/53.png?resize=525%2C422&ssl=1)
ダイアログから「フォルダーの選択」を行う.
![「入力レイヤ」右側のボタンをクリックして「ディレクトリを選択」](https://i0.wp.com/www.muscle-hypertrophy.com/wp-content/uploads/2020/12/42.png?resize=525%2C249&ssl=1)
目的のファイルがすべて選択されたら「OK」をクリックする.
![目的のファイルがすべて選択されたら「OK」](https://i0.wp.com/www.muscle-hypertrophy.com/wp-content/uploads/2020/12/44.png?resize=525%2C422&ssl=1)
出力レイヤを指定
次に出力レイヤを指定する.「ファイル名」はフォルダ名とは違う名前にする点に注意が必要である.
![「ファイル名」はフォルダ名とは違う名前にする](https://i0.wp.com/www.muscle-hypertrophy.com/wp-content/uploads/2020/12/47.png?resize=525%2C249&ssl=1)
「ファイルの種類」はSHP files (*.shp)を選択する.
![「ファイルの種類」はSHP files (*.shp)を選択](https://i0.wp.com/www.muscle-hypertrophy.com/wp-content/uploads/2020/12/45.png?resize=525%2C518&ssl=1)
「入力レイヤ」,「座標参照系」,「出力レイヤ」を指定したら「実行」をクリックする.
![「入力レイヤ」,「座標参照系」,「出力レイヤ」を指定したら「実行」](https://i0.wp.com/www.muscle-hypertrophy.com/wp-content/uploads/2020/12/48.png?resize=525%2C422&ssl=1)
エラーはログに出力される
「ログ」にエラーが列挙される.
![「ログ」にエラーが列挙される](https://i0.wp.com/www.muscle-hypertrophy.com/wp-content/uploads/2020/12/50.png?resize=525%2C422&ssl=1)
Shape2SQLでSQL Server 2008 R2 にアップロード
SQL Server 2008 R2 に国土数値情報の行政区域データをアップロードするに従って出力されたシェープファイルをアップロードしようとしたが,エラーメッセージが出てアップロードが中断する.
![Shape2SQLで「System.Data.SqlClient.SqlException: ''付近に不適切な構文があります....で始まる識別子は長すぎます.最大長は128です.文字列...の後で引用符が閉じていません.」](https://i0.wp.com/www.muscle-hypertrophy.com/wp-content/uploads/2020/12/51.png?resize=409%2C544&ssl=1)
エラーメッセージに該当する列のチェックを外すと,アップロードが成功した.欠落したデータもあるだろうが,とりあえず進めていく.
![文字化けした列のチェックを外すとアップロードできた](https://i0.wp.com/www.muscle-hypertrophy.com/wp-content/uploads/2020/12/52.png?resize=439%2C645&ssl=1)
結果
結果を示す.図がないのだが,length は NULL であり,layer はレイヤ名,path はファイルパスである.中身の検証はまた後日行うことにする.
SELECT [ID] ,[W05_001] ,[W05_002] ,[W05_003] ,[W05_004] ,[W05_005] ,[W05_006] ,[W05_007] ,[W05_008] ,[W05_009] ,[W05_010] ,[length] ,[layer] ,[path] ,[geom] FROM [InfrastructureDB].[dbo].[Streams]
(132896 行処理されました)
“QGISで都道府県ごとの河川データをマージする” への3件の返信