オープンソースGISを用いた 自然環境解析講座
DESCRIPTION
オープンソースGISを用いた 自然環境解析講座. QGIS 活用コース. 2012 年 6 月 17 日 講師: 今木洋大. 自己紹介. GCN の紹介、スタッフの紹介 各自の自己紹介 (参加者全員で) 専門、バックグラウンド、何でも GIS を何に使っているか? なぜオープンソースに興味があるか? 講習会に期待するもの. 1.はじめに ( 3 0min ). 講義内容・日程について オープンソース GIS について ソフトウェアーインストールの確認 実習. 講習会内容. 4.レイヤプロパティ( 60min ) ラスタ ベク タ - PowerPoint PPT PresentationTRANSCRIPT
1
オープンソースGISを用いた
自然環境解析講座
2012 年 6 月 17 日講師: 今木洋大
QGIS活用コース
2
自己紹介• GCN の紹介、スタッフの紹介• 各自の自己紹介 (参加者全員で)– 専門、バックグラウンド、何でも– GIS を何に使っているか?– なぜオープンソースに興味があるか?– 講習会に期待するもの
3
1.はじめに ( 30min )
講義内容・日程について オープンソース GIS について ソフトウェアーインストールの確認 実習
4
講習会内容 1.はじめに( 30min )
講義内容・日程について 活用編について オープンソース GIS について ソフトウェアーインストールの確認
2.各種データの取り扱い( 60min ) ラスタ ベクタ テキスト WMS 実習
3.プラグイン ( 60min ) 基本のプラグイン サードパーティープラグイン 実習
4.レイヤプロパティ( 60min ) ラスタ ベクタ 高度なラベリング 実習
5.地図の作成( 90min ) マップコンポーザー InkScape を使った地図の作成 実習
6.データの検索( 30min ) 地物の検索 属性テーブル
外部テーブルの結合 フィールド計算機 アドバンストサーチ
空間検索 空間検索プラグイン ベクタメニュー「場所による選択」
5
導入編との違い• 導入編
– ベクタデータ– GIS の基本コンセプト– QGIS の使い方の基本– 講義中心
• 活用編– ベクタ、ラスタ、 WMS– 様々なプラグイン– 地図の作成– データの解析– 実習中心
6
オープンソース GIS とは何か• オープンソースソフトウェアーとは、ある
ライセンス契約の元、ソースコードが公開されているソフトウェアーのことであり、そのライセンス下ではソフトウェアーの改変とその再配布が許されている。 (http://opensource.org/, 2007).
7
オープンソース GIS とは何か• ということは、• オープンソースソフトウェアーは必ずしも
無料ではない• さまざまなライセンスの種類がある– GNU GPL 、 BSD 、 Apache ライセンスなど
• 改変、再配布においてもオープンソースである必要がある
8
• すでに市販製品を使っていて満足している• オープンソース GIS を知らない• 自分のニーズがよくわからない• いろいろ自分で勉強するのが面倒くさい
なぜオープンソース GIS を使わないか
9
どっちを使う?• どうやって仕事を確実にそして早く終わら
せられるか?– 自分の GIS 使用の目的を明確にする– 自分のリソースを知る(人的、金銭的)– 将来の GIS 利用のビジョン
10
WWW.GeoPacific.org
11
実習1• ソフトウェアーのインストールの確認• QGIS– \qgis2\maps\qgis_advanced.qgs をダブルクリックし
て開く• InkScape– \qgis2\maps\ monkey_map_by_inkscape.svg をダブ
ルクリックして開く– 開いたキャンバスに書き込んである指示に従い、
InkScape の基本的な使い方を理解する• 両方のソフトウェアを終了する
12
2.各種データの取り扱い( 60min )
ラスタ ベクタ テキスト WMS 実習
13
各種データの取り込み• ラスタ
– DEM (数値地図)の取り込み– ヴァーチャルラスタ– SRS 変換
• ベクタ– SRS 変換– KML への出力
• テキスト– CSV ファイルと CSVT ファイル– 出力
• WMS– WMS レイヤの表示– WMS ミニドライバの利用
14
ラスタデータの QGIS への取り込み
• QGIS のデータの読み込み、書き出しは GDAL/OGR ライブラリを利用
• ラスタのデータフォーマットはベクターよりも断然多い– GDAL サポート( 120以上) vs OGR サポート( 70 )
• オープンソース GIS のラスタの標準は、 GeoTIFF– 通常は、4 GB 制限、 Big TIFF ファイルで4 GB以上も取り
扱える– 通常使われるすべてのデータタイプが利用できる– 通常の TIFF ファイルでも、 world file があれば GIS データと
して読み込める
15
GDAL
• ラスタデータを取り扱うためのライブラリ– http://www.gdal.org/
16
数値地図の取り込み• 日本の数値地図( DEM )は独自の XML形式で作成されているためそのままでは読めない
• GDAL では今のバージョンでは、 XML形式を GeoTIFF に変換できない– OSGeo-Japan を中心にツールを開発済み
• 数値地図の変換ツール–エコリス 数値地図変換ツール– OSGeo-Japan の試作品、 xml2tif
17
エコリス( http://www.ecoris.co.jp/contents/ )
18
xml2tif
http://www.slideshare.net/wata909/qgisgdalogr
やあ諸君。先日の第 2回 FOSS4Gツール勉強会名古屋の資料をアップしたぜ! http://www.slideshare.net/wata909/qgisgdalogr
で、この中にも書いてあるのだが QGIS・ GDAL/OGRで基盤地図情報の xmlファイルを直接開いたり、変換できるバージョンを公開しているぜ!http://dl.dropbox.com/u/1876391/QGIS_MEXT.zip
まだテストみたいな感じなので、人柱募集中だ!
19
人柱に!• 配布したデーターフォルダの tools の中にある xml2tif フォルダ
内にツール
• 同梱の「使い方」ファイルより一部変更して引用– 注意:このバージョンで変換できるのは、基盤地図情報のう
ち、 "JPGIS形式 " で、 JPGIS(GML)形式は変換できません。
– 1. xml2tif.bat の ROOTDIR= に、展開したディレクトリを記述する。たとえば、実習用のデータディレクトリー qgis2 を c:\ にコピーした場合は、「 c:\qgis2\tools\xml2tif\mext_gdal 」となる。
– 2. "xml2tif.bat" を xml ファイルがあるフォルダーに持って行ってダブルクリックすると、そのフォルダにある xml ファイルを一括して変換することが可能。
20
ラスタタイルのマージ vs. VRT
• DEM のように多数のラスターがタイルとして提供されている場合のデータの扱い– マージ: 実際にラスタのタイルをくっつけ
て、巨大なラスタファイルを作成する• 一つのファイルとして扱える
– ヴァーチャルラスタ( VRT ): 実際にはタイルを結合しないが、見た目上、また、ラスタのプロセス上、仮想的にタイルをくっつける• 仮想的に巨大なラスタファイルを作成できる
21
ラスターのマージ• 複数の隣接するラ
スターレイヤをひとつに合わせる
• Gdal_merge を利用• 「ラスタ」メ
ニュー、「 Miscellaneous 」、「結合」
22
ヴァーチャルラスタの作成• 仮想的に隣接する
ラスタを結合• Gdalbuildvrt を利用• 「ラスタ」メ
ニュー、「 Miscellaneous 」、「ヴァーチャルラスタの構築」
23
ラスタの SRS 変換• ラスタの空間参照系を
変換したファイルを作成
• gdal_warp を利用• 「ラスタ」メニュー、
「 Projections 」、「ワープ(再投影)」
• VRT ファイルも入力ファイルとして使える
24
ラスタの SRS 変換 ーリサンプリングー
• SRS 変換に際し、リサンプリングの方法を指定する必要がある– 近似:カテゴリカルデータ
• 対象データ例:植生タイプ– 双曲線、キュービック、その他:定量
的データ• 対象データ例: DEM• 処理速度:双曲線>キュービック>
キュービックスプライン>ランチョシュ• アルゴリズムの高度さ:双曲線<キュー
ビック<キュービックスプライン<ランチョシュ
25
OGR
• ベクタデータを取り扱うためのライブラリ– http://www.gdal.org/ogr/index.html
26
ベクタの SRS 変換• ラスタに比べ、シン
プル• レイヤリストで対象
を右クリックし、「名前を付けて保存」を選択
• CRS の設定で、「 Selected CRS 」を選び、目的とする SRSを選択
27
KML へのエクスポート• OGR生成オプション
を利用し、エクスポート結果をコントロール
• NameField=列名– KML の各地物にラベ
ルを付加(点の場合)
• DescriptionField=列名– KML の各地物に情報
を付加
28
KML へのエクスポート
29
テキストファイル• ベクタレイヤの一つとして取り扱われる– CSV (カンマ区切りテキスト)ファイル形式– インポート、エクスポートのサポート• 属性テーブルのエクスポート
– インポートした CSV ファイルのフィールドデータは自動的にテキストとして認識される• フィールドのデータタイプを定義するには、 CSVT
ファイルを作成(スライド31を参照)
30
テキストファイルのエクスポート• OGR生成オプション(データ
ソース)– ジオメトリー出力をしたい場
合は、以下の 4 つのいずれかを指定• GEOMETRY=AS_WKT
– ジオメトリをわかりやすいテキストフォーマットで出力
• GEOMETRY=AS_XYZ– 点の XYZ 座標値を出力
• GEOMETRY=AS_XY– 点の XY 座標値を出力
• GEOMETRY=AS_YX– 点の YX 座標値を出力
– CSVT ファイルの作成• CREATE_CSVT=YES/NO
31
CSVT ファイル• CSV ファイルに収められたテーブル情報の、各列のデータ
タイプを定義するファイル• 以下のデータタイプをサポート
– Integer– Real– String– Date (YYYY-MM-DD), Time (HH:MM:SS+nn) and DateTime (YYYY-MM-
DD HH:MM:SS+nn)• 文法
– “データタイプ” ,” データタイプ” ,” データタイプ”• e.g., "Integer","String"
– 桁数と精度を指定できる(オプション)• e.g. "Integer(5)","Real(10.7)","String(15)".
32
WMS レイヤ• Web mapping Service• 手っ取り早い既存の地図情報の表示を可能にする
• インターネット経由で地図画像( JPEG 、PNG) を動的にダウンロード
• 衛星画像、地形陰影図、行政界など様々• 個人でもサーバーを立ち上げれば配信が始められる
33
日本の代表的な WMS サーバー• 地名WMS– http://www.finds.jp/ws/pnwms.cgi?
• 基盤地図情報25000– http://www.finds.jp/ws/kiban25000wms.cgi?
• 歴史的農業環境 WMS– http://www.finds.jp/ws/hawms.cgi?
34
基盤地図情報25000
35
簡単な地図の出来上がり
36
WMS サーバーを探す• WMS サーバー
の検索機能で、サーバーを探す事もできる
• 例:キーワード「 SRTM 」で検索
37
WMS サーバーを探す
38
WMS ミニドライバ• GDAL の WMS ドライバをより広く使えるよ
うにした仕組み• XML により、 WMS の様々な仕様をカバー
できる• GoogleMap 、 Bing 、 ArcGIS MapServer など主要な WMS サービスが QGIS で使える
• QGIS ではラスタレイヤとして XML ファイルを開く
• http://www.gdal.org/frmt_wms.html
39
例: GoogleMap ドライバ• デフォルトでは、 Map 表示だが、ドライ
バを書き換えると衛星画像などと切り替えができる
• データフォルダ内の WMS フォルダに各種XML ファイルがあるので、 GoogleMap ドライバを確認
40
GoogleMap に陰影図を重ねる
41
実習2• データの取扱い• DEM のフォーマット及び SRS 変換
– gdal_translate.exe と xml2tiff.bat を使って、数値標高地図( xml )をGeoTIFF に変換
– 変換した DEM ファイルからヴァーチャルラスタ( VRT )を作成– DEM を EPSG:32654 に再投影– サルの位置データ(点)と植生図(ポリゴン)の SRS の変換
• QGIS 解析環境の設定– EPSG:32654 に指定した、 DEM 、サルの位置データ、植生図を QGIS
に読込み、他のレイヤは削除– プロジェクトの SRS を EPSG:32654 に設定
• レイヤの出力– サルの位置データから、 KI群のものだけを選択し、 KML へ出力する
42
3.プラグイン( 60min )
基本プラグイン サードパーティープラグイン 実習
43
QGIS のプラグイン• 基本プラグイン
– ベクタ• fTools
– ラスタ• GDAL Tools 、ラスタ計算機
– その他• ジオファレンサー、デリミテットテキストレイヤ追加、 GRASS
• サードパーティープラグイン– ベクタ
• Point Sampling Tool, Statist 、 Table Manager 、空間クエリプラグイン、 Find by Attribute
– ラスタ• Value Tool 、 1-band color map
– その他• File Browser 、 OpenLayers 、 Save as SVG
44
ベクタツール( fTools )
45
凸包• 点の再外郭を結ぶポリゴンを発生
46
バッファ• 点、線、ポリゴンに一定のバッファを発生させ、新しいファイルとして保存
47
各種空間演算
2 つのレイヤ 交差 統合
対称差分 クリップ 差分
48
融合• 境界を接する地物の融合
49
ラスタツール( GDALTools )
50
DEM (テリアンモデル)
• DEM から陰影図、斜面傾斜、方位、各種地形インデックスを計算
51
クリッパー• ラスタレ
イヤの一部を切り取り新しいファイルとして保存
52
標準で用意されているアドイン• ジオリファレンサー• デリミテットテキストレイヤ追加• GPS• 空間検索• GRASS
53
ジオリファレンサー• 地理参照されていない画像をラスタデータと
して使えるようにする– 現地調査した地図– 歴史的な地図– スキャンした航空写真
• 手順– 資料のデジタル化(スキャナー)– ジオリファレンシング
1. GCP ( ground control point )の取得2. 幾何補正
54
ジオリファレンサー
最低でも 3点この作業を繰り返す
「ジオリファレンシングの開始」をクリック
変換の設定ウィンドウが現れるので「変換タイプ」、「出力ラスタ」、「ターゲットSRS 」を指定する。この場合、「線形」変換を指定
55
デリミテットテキストレイヤ追加
• 緯度経度を含む外部テーブルから点レイヤーを作成– CSV (カンマ区切りテキストファイル)– QGIS の「デリミテットテキストレイヤの追
加」ツールでレイヤーとしてインプット– ファイルとして保存
56
57
GRASS プラグイン• デスクトッ
プ GIS のGRASS 機能へのアクセス
• GRASS を学ぶ必要がある
58
サードパーティープラグイン• 公式リポジトリ: 20プラグイン• 期限切れではない: 161プラグイン• 期限切れを含み全て: 224プラグイン
59
サードパーティープラグイン• 手動でもリポジトリを加えられる
60
• ベクタ– Point Sampling Tool 、 Statist, Table Manager 、
空間クエリプラグイン、 Find by Attribute• ラスタ– Value Tool 、 1-band color map
• その他– File Browser 、 OpenLayers 、 Save as SVG
• 注目のプラグイン!– SEXTANTE 、 SAGA 、 R関連
サードパーティーお勧めプラグイン
61
Table Manager
• 属性テーブルの管理–列の削除、追加、列名の変更、列順序の変更– プレビュー機能
62
Find by Attribute
• 属性値による地物の検索– 拡大スケー
ルを指定できる
– 自動ズーム機能
63
File Browser
• QGIS のドッキングステーションからダブルクリックで直接レーヤーを読み込める
64
OpenLayers プラグイン• OpenLayers を
利用してGoogleMapsなどのレイヤにアクセス
65
Save as SVG
• 地図表示されているレイヤを SVG保存– InkScape での再利
用– ベクタ、ラベルの
属性保存に優れる– ラスタはスクリー
ンショット– 手軽に利用できる
66
SEXTANTE & SAGA
• SEXTANTE– http://www.sextantegis.com/– JAVA で書かれた空間データ解析ライブラリ– gvSIG などで利用
• SAGA– http://www.saga-gis.org/en/index.html–特に地形解析、水文解析などのラスタの解析
に強い GIS• 数百の解析機能にアクセス
67
R
• manageR– QGIS と R の橋渡し– http://www.ftools.ca/plugins.html
• Home Range plugin– 動物の行動圏解析– http://hub.qgis.org/projects/quantum-gis/wiki/
HomeRange_plugin#Home-range_analyses_in_QGIS_using_R_through_Python
• SDA4PP– 空間解析プラグイン
• Basic Stats Plugin– http://www.maths.lancs.ac.uk/~rowlings/Software/Spqr/
68
実習3• 分析マスクの作成、マスクによるベクタとラス
タの切り抜き(クリップ)、ラスタとベクタレイヤの属性値の結合、の過程を通して、ベクタおよびラスタメニューツールの使い方を学ぶ• 植生図、 DEM のマスクによる切り抜き• DEM から陰影図、斜面方位、傾斜を計算• サードパーティ - プラグインのインストールと利用
• ValueTool• Point sampling tool• Statist
69
4.レイヤプロパティ( 60min )
ラスタ ベクタ 高度なラベリング 実習
70
レイヤプロパティ• ラスタレイヤプロパティ–カラーマップ– 1-band Color Map
• ベクタレイヤプロパティ–点、線、ポリゴン– SVG の利用
• ラベリング–標準ラベリング– 高度なラベリング
71
ラスタレイヤプロパティ• 設定できるプロパティはベクタに比べ少ない– スタイル
• 色、カラーマップ• 透過性• 「データ無し」の値
– ピラミッド• 様々な解像度でラスターのオーバービューを作成
72
何が起きている?
73
レイヤプロパティの初期状態
強調なし
データタープの最大最小値
に設定
グレースケール
74
表示対象のヒストグラムの調整
ヒストグラムを表示された範囲に合わせ
る
ヒストグラムをラスタレイヤ全体の値に合わせ
る
ヒストグラムをラスタレイヤ全体の値に合わせ
る
ヒストグラムを表示された範囲に合わせ
る
75
標準カラーマップ
• 原色グレースケール• 原色• フリークアウト
76
標準偏差によるカラーバンドの調整
値 0
値 10
値 5.0
値 2.0
値 1.0
値 0.5
値 0.1
標準偏差値 2.00 の場合色 1: 平均値 -標準偏差 x2.00色 2: 平均値色 3: 平均値 +標準偏差 x2.00
• 値は 0~10 で指定• 0 は、標準偏差使用
を無効にする
77
カラーマップ• 独自にカラー
マップをインタラクティブに作成
78
1-band Raster Color プラグイン
• あらかじめ定義された多様なカラーマップが利用できる
79
1-band Raster Color プラグイン
80
ベクタレイヤプロパティ
81
ポイントシンボルプロパティ
82
ラインシンボルプロパティ
83
ポリゴンシンボルプロパティ
84
SVG(Scalable Vector Graphics)シンボル• 独自のシンボルを
作成し、 SVG(ドロー系フォーマット)で保存すると、シンボルとして利用できる
• \qgis\svg ディレクトリ内に SVGファイルを保存
85
SVG によるオリジナルシンボル
86
ベクタレイヤのサブセット• レイヤプロパティの「一般情報」タブから「クエリビルダ」を利用して表示する地物を制限
87
ベクタレイヤのサブセット• ベクタレイヤの属性値を利用して、データ
の一部だけを表示、操作することができる
• レイヤプロパティの「一般情報」、「サブセット」で「クエリビルダ」ボタンをクリックし、条件を設定– SQL の WHERE句の例• KI群のみを示す: "troop" = 'KI'• 人口 2000 人以上の地物を示す: " jinko" >= 2000
88
ラベリング• 標準ラベリング
– レイヤプロパティからアクセス
– 手っ取り早いが、気が利かない
• 高度なラベリング– ツールバーからアクセス– ラベルの位置、角度、フォ
ントサイズの調整、線に沿った表示、重複ラベルの調整などもこなす
89
標準ラベリング
90
標準ラベリング
91
高度なラベリング
ツールバーからアクセス
92
高度なラベリング
93
さらに高度なラベリング• インタラクティ
ブにラベルの位置、回転、サイズ、などの属性を変えられる
• 属性テーブルに対応する列を用意する必要がある
94
さらに高度なラベリング
95
実習4• ラスタのカラー設定と、ベクタのラベリン
グについて学ぶ– ラスタカラーマップを使って、ラスターの色
表示をコントロールする– サードパーティーアドイン、 1-band color map
を使って、カラーマップを設定する– ベクタレイヤのラベリング
96
5.地図の作成( 90min )
マップコンポーザー InkScape による地図の作成 実習
97
地図の作成• マップコンポーザー– マップコンポーザーの使い方– マップコンポーザーによる地図の作成
• InkScape– InkScape の使い方– マップコンポーザーからの出力– InkScape による地図の作成– Save as SVG プラグイン
98
地図作成の手順• レイヤの読み込み• レイヤプロパティの変更– スタイル– ラベル
• 表示範囲の決定• プリントコンポーザーの起動– 地図の貼り付け–凡例、縮尺、タイトル、方位記号などの貼付け– 出力
99
プリントコンポーザー• 表示した情報を地図として手っ取り早く作成、印刷
100
プリントコンポーザー
用紙の大きさ、方向、 DPI を最初に指定
101
プリントコンポーザー
1.ドラッグアンドドロップでキャンバスに地図を貼
り付ける
2.地図の範囲、描画フレームの位置の調整
3.凡例を貼り付ける
4.タイトルを貼り付ける
5.縮尺を貼り付ける
6.方位記号を貼り付ける
102
地図の出力地図を出力する
103
出力した地図の完成度• QGIS ファイルメニューから「イメージで保存」–最も手っ取り早く、 QGIS のキャンバスに表示され
ているイメージを出力• マップコンポーザーによる地図の出力–比較的簡単に、地図を作成できる– とりあえずの地図作りに
• InkScape による地図の作成–完成度の高い地図を作成–技術と時間が必要
104
InkScape による地図の作成• マップコンポーザーで作成した結果を SVG として保存
し、 InkScape で仕上げる– 地図以外のアイテムもいろいろ加えられる
• テキスト、会社ロゴ、イメージ、、、– Save as SVG プラグインで出力しても OK
• ラベリングがテキストとして保存される• InkScape とは
– http://inkscape.org/?lang=ja– アドビイラストレータなどと同種の機能を持つオープン
ソースのベクターグラフィックエディタ– QGIS から出力された、点、線、ポリゴンなどを編集でき
る
105
InkScape
• 今日は、 InkScape の講習ではないので、、、• InkScape のチュートリアル– http://inkscape.org/doc/?lang=ja– http://wiki.inkscape.org/wiki/index.php/FAQ_%
28Japanese%29• 地図関係の素材( SVG )– http://www.clker.com/search/map/– http://openclipart.org/– http://www.printout.jp/index.html
106
InkScapeユーザーインターフェース
ツールバー:各種機能に素早くアクセス
メニューバー:ファイル・編集・表示…などすべての機能にアクセスコマンドバー:メニューバー中のよく使う項目のボタンツールコントロールバー:使用中のツールの細かな設定
パレット: 塗とストロー
クテキスト整列・配置
107
InkScape の機能(一部)• 線、点、ポリゴンのスタイル編集
– 「オブジェクト」メニューの「フィル / ストローク」でパレットを表示させ、設定を変更
– ラスタの各レイヤの透過度も「フィル / ストローク」で調整– 同じ色で塗り分けた点などは、エクスポートした時点でそれぞれでグループ化
されている• テキストの追加、編集
– ウィンドウ左側の「テキストツール」を選択– 線上や、ボックスの中にテキストを流しこむことができる– 文字間隔、行間隔などの設定もできる
• 各オブジェクトの編集– 線やポリゴンの形状を編集したい場合は、「オブジェクト」から「パス」に変
換してから行う• フィルター
– 線やテキストを強調したり、様々な効果を生み出す「フィルター」が多数揃っている
108
線、点、ポリゴンのスタイル編集
クリック
109
オブジェクトの整列・配置
クリック
110
テキストとフォントの設定
クリック
111
パス上に配置したテキスト• 「ペンツール」 で曲線を描く• 「テキストツール」 で文字を描く• 曲線とテキストを両方選択(シフトキーを併
用)• 「テキスト」メニューから「テキストをパス上
に配置」を選択• 「フィル / ストローク」パレットで、曲線のス
トロークを「 0 」に指定
112
実習プロジェクト例
113
実習5• マップコンポーザーと InkScape を使った
地図の作成– マップコンポーザーを使った地図の作成– InkScape を使った地図の作成
114
6.データ検索( 30min )
属性テーブル 空間検索 空間結合 実習
115
データ検索• 地物の検索• 属性テーブル– 外部テーブルの結合– フィールド計算機– アドバンストサーチ
• 空間検索– 空間検索プラグイン– ベクタメニュー「場所による選択」
116
地物の検索• 属性情報を使った地物の検索( SQL )
レイヤリストの対象レイヤを右クリックして、コンテクストメニューを表示させ、「検索 (Q)… 」を選択し「クエリビルダ」を表示
117
外部テーブルの結合• レイヤリストにある他のレイヤの属性テー
ブルと、共通のキーを使ってテーブル同士を結合
• CSV ファイルを読み込み、レイヤと結合できる
• 読み込まれた CSV テーブルの列は、すべてテキストとして読み込まれる
• 各列のデータタイプは、 CSVT ファイルで定義できる
118
外部テーブルの結合id place
1 日光2 今市3 鹿沼
id population
1 10000
2 50000
3 120000
id place population
1 日光 10000
2 今市 50000
3 鹿沼 120000
市町村テーブル 外部:人口テーブル
119
CSVT ファイル(復習)• CSV の各列のデータタイプを定義するテキストファイル
– ダブルクォーテーションでデータタイプを指定し、カンマで区切る– カッコで、サイズ、桁数、精度なども指定できる– ファイル名は、 CSV ファイルの拡張子を CSVT にしたもの– データタイプ
• Integer, Real, String, Date (YYYY-MM-DD), Time (HH:MM:SS+nn), DateTime (YYYY-MM-DD HH:MM:SS+nn)
– 例:” Integer”,”String”,– 例: "Integer(5)","Real(10.7)","String(15)"
id place
1 日光2 今市3 鹿沼
”Integer”,”String”,
120
フィールド計算機• 属性テーブルの情報を使って様々な計算を行い、その結果を列に保存する– 既存列の上書き、または新規列の追加– エディットモードで使用可能– ラインの長さ、ポリゴンの面積計算– データタイプの変換– 表示された演算子以外にも使える演算子、関数がある
• http://hub.qgis.org/wiki/17/List_of_Field_Calculator_Functions
• 例– 65歳以上の人口を全人口で割って、高齢化率を求め、その結果を属性
テーブルに収める– テキストとして保存されてしまった人口属性を整数に変換– 各点の、x、y座標を属性値として収める– 別の列にある“栃木県”と“日光市”を結合して“栃木県日光市”という属性
値にする
121
フィールド計算機
• 既存列への上書き、または新規列の追加を指定してから、実際の計算式を入力、実行
属性テーブルで、編集を開始してから「フィールド計算機のオープン」をクリック
122
アドバンストサーチ• 属性テーブルに対し、 SQL の WHERE句を
使って、高度な検索を行う• 単独テーブルの検索
123
アドバンストサーチ
• 演算子の使い方– MOJI = '滝ケ原‘
• 滝ケ原– MOJI LIKE '%滝%‘
• 滝ケ原、清滝安良沢町– MOJI LIKE '滝%‘
• 滝ケ原、滝ケ原1丁目– MOJI LIKE '%滝‘
• 清滝、清原滝– MOJI LIKE '滝 ..‘
• 滝ケ原– MOJI LIKE '.滝 ...‘
• 清滝1丁目、清滝丹勢町– MOJI != '%滝%‘
• 日光、今市
• 複数のアイテムに合致– MOJI IN ( '滝ケ原 ', '南小来川 ')
• 複数の条件、 AND と OR– lt15yrs < 10 AND gt65 > 50– gt65 > 50 OR farmer > 30
124
空間検索(ベクタメニュー)• 2 つのベクタレイヤの位置関係による地物
の検索– 選択条件(追加、除去)を指定できる
125
空間検索(アドイン)
検索結果を新規レイヤとし
て作成
126
空間結合、統計• 空間結合– 「ベクタ」メニュー、「データマネージメントツール」、「場所で属性を結合する」• 2 つのレイヤの位置関係に基づき、片方のレイヤの
属性値を他方にコピーする• ポリゴンによる集計– 「線長の合計」
• ポリゴン内に落ちる線分の長さの集計– 「ポリゴン内の点」
• ポリゴン内に落ちる点の数の集計
127
実習6• 属性テーブルの活用– 外部テーブルの結合– フィールド計算機– SQL による情報検索
• 空間検索– アドインを使った空間検索