自主研究グループ「QGIS勉強会」
QGIS勉強会2018年9月 第2回
View Slide
●ジオリファレンス●ベクター分析2本日のメニュー
ジオリファレンス3紙地図をスキャンした画像などにQGISで位置情報を付加する。
「ジオリファレンス」(準備)4● ラスタメニューに「ジオリファレンサー」があるか?ジオリファレンスするのには「ジオリファレンサー」プラグインを使用する。ラスタメニューにない場合は、メニュー「プラグイン」→「プラグインの管理とインストール」で「GDALジオリファレンサー」にチェックを付ける。● 道庁周辺の地理院地図をレイヤに追加ファイルの場所:「勉強会」フォルダ→「ジオリファレンス」フォルダ→地理院地図_道庁前庭.mbtiles
5「ジオリファレンス」JpegやPDFの地図に位置情報を付けて、GISで表示できるようにする。
座標を入力して合わせる6
7「ジオリファレンス(座標を入力して合わせる)」● 座標を直接入力して、地図の位置を合わせる。● 「ラスタ」→「ジオリファレンサー」を選択
8「ジオリファレンス(座標を入力して合わせる)」● ボタンをクリック● 「ジオリファレンス」フォルダの「札幌1916.pdf」を選択● 「開く」ボタンをクリック
9「ジオリファレンス(座標を入力して合わせる)」● 「フィルター」に「2454」と入力● 「世界中の空間参照システム」から「JGD2000 / Japan PlaneRectangular CS XII」を選択● 「OK」ボタンをクリック
10「ジオリファレンス(座標を入力して合わせる)」● 地図が表示される● が有効になっているか確認
11「ジオリファレンス(座標を入力して合わせる)」● 最低2点の座標を指定● 四隅に4点座標点があるので、どれか一つを拡大● 赤点の中心部分をクリック● X、Y座標を手入力(半角数字で入力)● 「OK」ボタンをクリック
12「ジオリファレンス(座標を入力して合わせる)」● GCPテーブルに座標が登録される● 同じ手順でもう一点指定する(なるべく対角が良いかも)
13「ジオリファレンス(座標を入力して合わせる)」● GCPテーブルに2つ以上の座標が指定されていることを確認● ボタンをクリックして変換方法を指定。
14「ジオリファレンス(座標を入力して合わせる)」● 「変換タイプ」は「ヘルマート」● 「変換先SRS」は「EPSG:2454」● 「出力ラスタ」の ボタンをクリックして、ファイルの保存先を指定● 「OK」ボタンをクリック<変換タイプ>● 線形=移動のみ(GCP1点以上)● ヘルマート=移動と回転(GCP2点以上)● 多項式1=移動と回転と歪み小(GCP3点以上)● 多項式2=移動と回転と歪み中(GCP6点以上)● 多項式3=移動と回転と歪み中(GCP10点以上)
15「ジオリファレンス(座標を入力して合わせる)」● ボタンをクリックすると、変換が開始される
16「ジオリファレンス(座標を入力して合わせる)」● 変換が終了すると、マップキャンバスに地図が表示される● ☓ボタンをクリックしてジオリファレンサーを終了する● 指定した座標ポイントを保存しておくか確認メッセージが表示されるので、「保存」ボタンで保存しておく(画像と同じフォルダに.pointsという拡張子のファイルが保存される)
17「ジオリファレンス(座標を入力して合わせる)」● 位置合わせされた地図が表示される● レイヤプロパティ→「透過性」で「全体の透過率」を50%くらいにして、位置があっているか確認
地図から座標を取得する18
19「ジオリファレンス(地図から座標を取得)」● 赤レンガ前庭の樹木名看板の写真を位置合わせする● 【重要】位置合わせで使う座標が、平面直角座標系12系の座標なので、プロジェクトの座標系を「EPSG:2454」に変更● 地理院地図で赤レンガ前庭を拡大しておきます。
20「ジオリファレンス(地図から座標を取得)」● 「ラスタ」→「ジオリファレンサー」を選択
21「ジオリファレンス(地図から座標を取得)」● ボタンをクリック● 「ジオリファレンス」フォルダの「道庁前庭_草木.jpg」を選択● 「開く」ボタンをクリック
22「ジオリファレンス(地図から座標を取得)」● 先程使った座標系は「最近使った座標参照システム」に残っている● 「最近使った座標参照システム」から「JGD2000 / Japan PlaneRectangular CS XII」を選択● 「OK」ボタンをクリック
23「ジオリファレンス(地図から座標を取得)」● 地図と同じ位置を探して、クリックする● 「マップキャンバスより」ボタンをクリックする
24「ジオリファレンス(地図から座標を取得)」● 初めにクリックした位置と同じ地図の位置をクリックする● 座標が自動的に入力されるので、「OK」ボタンをクリックする
25「ジオリファレンス(地図から座標を取得)」● 「GCPテーブル」に座標が登録されます。● 同じ手順で、6点以上のポイントを設定します。なるべく地図全体にまんべんなくポイントを設定する
26「ジオリファレンス(地図から座標を取得)」● ボタンをクリックして、変換方法を設定する● 「変換タイプ」は「多項式2」● 「変換先SRS」は「EPSG:2454」● 「出力ラスタ」の ボタンをクリックして、ファイルの保存先を指定● 「OK」ボタンをクリック
27「ジオリファレンス(地図から座標を取得)」● 変換タイプを指定すると、誤差(残差)が表示される誤差の方向に赤い線も表示される● 誤差は縮尺や歪みにもよるが、10m以下くらいになるようにする● 誤差が極端に大きい場合は、チェックを外して、他の誤差が小さくなるならOK● 全体に誤差が大きい場合には、ポイントを設定し直すか、 ボタンでポイントを移動する
28「ジオリファレンス(地図から座標を取得)」● ボタンをクリックして、変換を開始する
29「ジオリファレンス(地図から座標を取得)」● 変換に成功すると、地図に表示される● ジオリファレンサーを閉じるときにポイントを保存しておくと、あとで再度編集することが出来る● レイヤプロパティ→「透過性」で透過率を50%くらいにして、うまく変換されているか確認する
30「変換タイプについて」 変換タイプは、変換する画像の精度で変換タイプを選択する。「多項式3」が「多項式1」より正確ということはない。多項式3は指定するポイントが多くても、偏って指定すると、歪んだ画像に変換される。多項式3で変換し歪んだ地図
ベクター分析31様々な分析方法でバクター分析をします
バッファ32図形から一定の距離を指定して、範囲のポリゴンを作成するテキスト:P328
33「バッファ」
「バッファ」(準備)34● 室蘭市の地理院地図をレイヤに追加ファイルの場所:「勉強会」フォルダ→「ベクタ解析」フォルダ→地理院地図_室蘭市.mbtiles● 室蘭市の保育園ポイントをレイヤに追加ファイルの場所:「勉強会」フォルダ→「ベクタ解析」フォルダ→「室蘭市_保育園」フォルダ→室蘭市_保育園_2454.shp
「バッファ」「ベクタ」→「空間演算ツール」→「固定距離バッファ」35
「バッファ」入力レイヤ:保育園レイヤ距離:300m「Run」ボタンをクリック36
37「バッファ」※レイヤの座標系が平面直角座標系でないと、正しく計算されない。
38ベクタメニューで作成されるレイヤは、一時保存レイヤ。仮に出来るレイヤのため、QGISを終了すると削除される。レイヤをファイルで残しておきたいときは、作成するときに「…」ボタンで「ファイルに保存」を選択するか、作成したレイヤを「名前を付けて保存する」でファイルに保存する。
ポリゴン内のポイント数39ポリゴンに重なるポイントの数をカウントするテキスト:P341
40「ポリゴン内のポイント数」保育園の300m範囲内にあるAEDの個数を計算する
「ポリゴン内のポイント数」(準備)41● 室蘭市のAEDポイントをレイヤに追加ファイルの場所:「勉強会」フォルダ→「ベクタ解析」フォルダ→「室蘭市_AED」フォルダ→aed_20170804.shp※注意 重なるポリゴンとポイントが同じ座標系でないと、正しく計算できません。 (Ver3からは違う座標系でもOK)
「ポリゴン内のポイント数」「ベクタ」→「解析ツール」→「ポイント内のポリゴン数」42
「ポリゴン内のポイント数」ポリゴン: 保育園のバッファレイヤ点:AEDレイヤポイント数フィールド名: 任意の名称(AEDCount)「Run」ボタンをクリック43
「ポリゴン内のポイント数」新しいレイヤ「カウント」が作成され、属性データの一番右に新しいフィールドが追加されて、AEDの数がカウントされている。44
ボロノイポリゴン45ポイントが一番近い範囲をポリゴンで作成するテキスト:P347
46「ボロノイポリゴン」AEDポイントが一番近い範囲を作成する
「ボロノイポリゴン」(準備)47● 室蘭市のAEDポイントのみを表示する。先ほど作成した保育園や、バッファなどのレイヤは非表示にする。
「ボロノイポリゴン」「ベクタ」→「ジオメトリツール」→「ボロノイポリゴン」48
「ボロノイポリゴン」入力レイヤ:AEDレイヤバッファ領域:0.00「Run」ボタンをクリック49
「ボロノイポリゴン」ポリゴンの中には、ポイントは一つだけ。そのポリゴンの範囲内で一番近いポイントが、ポリゴン内のポイントとなる。50
交差51重なる2つのレイヤのAレイヤの範囲でBレイヤを切り取る。AレイヤにBレイヤの属性を結合する。テキスト:P338
52「交差」洪水浸水範囲で、地番図を切り取る
「交差」(準備)53● 一度地図をクリアにするせっかくなのでプロジェクトファイルは保存しておく保存後、プロジェクトの新規作成● 室蘭市の地番図をレイヤに追加ファイルの場所:「勉強会」フォルダ→「ベクタ解析」フォルダ→「室蘭市地番図」フォルダ→室蘭市_筆界_2454.shp● 室蘭市の洪水浸水深さをレイヤに追加ファイルの場所:「勉強会」フォルダ→「ベクタ解析」フォルダ→「室蘭市_洪水浸水深さ」フォルダ→室蘭市_洪水浸水深さ_2454.shp
「交差」「ベクタ」→「空間演算ツール」→「交差」54
「交差」入力レイヤ:洪水浸水深さレイヤレイヤの交差:地番図レイヤ「Run」ボタンをクリック55
「交差」洪水浸水の範囲で地番図が切り取られる。56
「交差」交差レイヤの属性データを確認すると、洪水浸水レイヤの属性に地番図の属性が結合される。57
クリップ58交差と同じく、重なる2つのレイヤのAレイヤの範囲でBレイヤを切り取る。ただし属性はコピーしない。テキスト:P332
59「クリップ」洪水浸水範囲で、地番図を切り取る
「クリップ」(準備)60● 交差の時と同じく、地番図レイヤと洪水浸水レイヤを表示
「クリップ」「ベクタ」→「空間演算ツール」→「クリップ」61
「クリップ」入力レイヤ:地番図レイヤレイヤをクリップする: 洪水浸水レイヤ「Run」ボタンをクリック※交差とレイヤが逆なので注意62
「クリップ」洪水浸水の範囲で地番図が切り取られる。63
「クリップ」クリップレイヤの属性データは、切り取られた地番図の属性のまま。64
融合(Dissolve)65レイヤの同じ属性データの地物をまとめて融合するテキスト:P334
66「融合(Dissolve)」地番レイヤを「町字名」でまとめて地物を融合します。
「融合(Dissolve)」(準備)67● 地理院地図と地番図レイヤのみを地図に表示する
「融合(Dissolve)」地番の属性データを確認しておく。今回は「町字名」で融合する。68
「融合(Dissolve)」「ベクタ」→「空間演算ツール」→「Dissolve」69
「融合(Dissolve)」入力レイヤ:地番レイヤDissolve all:チェックしない。(チェックすると、すべてがひとつに融合される)Unique ID fields:左のリスト(Unselected)から「町字名」を選択肢、右のリスト(Selected)に移動する「Run」ボタンをクリック70
「融合(Dissolve)」属性で融合されたレイヤが表示される。71