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による情報検索
• 空間検索
– アドインを使った空間検索