opensource_advanced_..

Download Report

Transcript opensource_advanced_..

1
オープンソースGISを用いた
自然環境解析講座
QGIS活用コース
2012年6月17日
講師: 今木洋大
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
– 通常は、4GB 制限、Big TIFFファイルで4GB以上も取
り扱える
– 通常使われるすべてのデータタイプが利用できる
– 通常のTIFFファイルでも、world fileがあればGISデー
タとして読み込める
15
GDAL
• ラスタデータを取り扱うためのライブラリ
– http://www.gdal.org/
16
数値地図の取り込み
• 日本の数値地図(DEM)は独自のXML形式で
作成されているためそのままでは読めない
• GDALでは今のバージョンでは、XML形式を
GeoTIFFに変換できない
– OSGeo-Japanを中心にツールを開発済み
• 数値地図の変換ツール
– エコリス 数値地図変換ツール
– OSGeo-Japanの試作品、xml2tif
エコリス
(http://www.ecoris.co.jp/contents/)
17
18
xml2tif
やあ諸君。先日の第2回FOSS4Gツール勉強会名古屋
の資料をアップしたぜ!
http://www.slideshare.net/wata909/qgisgdalogr
で、この中にも書いてあるのだがQGIS・GDAL/OGRで
基盤地図情報のxmlファイルを直接開いたり、変換でき
るバージョンを公開しているぜ!
http://dl.dropbox.com/u/1876391/QGIS_MEXT.zip
まだテストみたいな感じなので、人柱募集中だ!
http://www.slideshare.net/wata909/qgisgdalogr
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
ジオリファレンサー
「ジオリファレン
シングの開始」
をクリック
変換の設定ウィンドウが
現れるので「変換タイ
プ」、「出力ラスタ」、
「ターゲットSRS」を指定
する。この場合、「線形」
変換を指定
最低でも3点この
作業を繰り返す
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/quantumgis/wiki/HomeRange_plugin#Homerange_analyses_in_QGIS_using_R_through_Python
• SDA4PP
– 空間解析プラグイン
• Basic Stats Plugin
– http://www.maths.lancs.ac.uk/~rowlings/Software/S
pqr/
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
値 0.1
値 0.5
• 値は0~10で指定
• 0は、標準偏差使用
を無効にする
標準偏差値2.00の場合
色1: 平均値-標準偏差x2.00
色2: 平均値
色3: 平均値+標準偏差x2.00
値 5.0
値 1.0
値 10
値 2.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
プリントコンポーザー
6.方位記号を貼り
付ける
1.ドラッグアンドド
ロップでキャンバスに
地図を貼り付ける
4.タイトルを貼り付
ける
3.凡例を貼り付ける
5.縮尺を貼り付ける
2.地図の範囲、描
画フレームの位置の
調整
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_%28
Japanese%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
id
population
1
日光
1
10000
2
今市
2
50000
3
鹿沼
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による情報検索
• 空間検索
– アドインを使った空間検索