Weitere ähnliche Inhalte Ähnlich wie PostGIS Handson | FOSS4G Tokyo 2014 (20) PostGIS Handson | FOSS4G Tokyo 20142. • 代表的な空間情報DBMSであるPostGISを使用して、構築と解析の初歩までを学びます。
• 本セッションはDBMS、GISについての基礎知識を必要とします。
(質問は随時どうぞ!)
• PDF資料からコードをコピー&ペーストすると正しく動作しないことがあります。適宜タイプしなおしてくだ
さい。
• 本資料はクリエイティブ・コモンズ表示-継承3.0非移植ライセンスの下に提供されています。
商用利用、改変もOKですが、頒布するには原著作者クレジット(FOSS4G Tokyo)を表示し、本資
料と同一の許諾条件としてください。
• 本ハンズオンは事前に以下の準備を行ってください
• PostgreSQL & PostGISのインストール
• QGISのインストール
はじめに
FOSS4G 2014 Tokyo PostGIS入門2
3. • フォルダ:docs
• PostGIS入門.pdf (本文書)
• PostGIS 2.2.0devマニュアル日本語訳.pdf
• PostgreSQL&PostGISのインストール.pdf (事前準備マニュアル)
• フォルダ:data
• N03-130401_01_GML.zip : 国土数値情報- 行政区域(H26) - 千葉県
• P02-06_12_GML.zip : 国土数値情報- 公共施設(H18) - 千葉県
• N01-07L-12-01.0a_GML.zip : 国土数値情報- 道路(統一フォーマットH7) - 千葉県
• chiba-hinan.csv :
千葉市のオープンデータ「避難場所・避難所・広域避難場所・津波避難ビル一覧」CSV
http://www.city.chiba.jp/somu/kikikanri/hinanbasyoichiran.html
の座標を投影変換したCSV
• command.txt : この資料のSQL、コマンドを記載
• フォルダ:shapefiles
• 前記zipを展開したデータ
配布データについて
Slideshareでご覧の方は
各サイトからダウンロードしてください
FOSS4G 2014 Tokyo PostGIS入門3
4. PostGIS概説
・・・PostGISについての説明、導入するメリットなど
PostGISの準備
・・・実際に使い始めるまでの説明
テーブルと図形の作成
・・・基礎的なジオメトリ(図形)の作成と表示
データのインポート/エクスポート
・・・CSV、Shapefileなどから大量にデータをインポート、DBから外部形式にエクスポート
検索する
・・・条件指定(Where)の説明、空間インデックスの説明
加工する
・・・図形の合成、切り出しをSQLで実行する
本セッションの内容
FOSS4G 2014 Tokyo PostGIS入門4
6. PostGISとは?
PostGISとは
オープンソースのDBMSであるPostgreSQLで地理空間情報を扱うための拡張機能(PostgreSQL
Extension)。
Refractions Research社によりGPLライセンスでリリースされている。
地理空間情報の管理、編集、検索、演算をSQLで行うことができる。
PHP、Java、PythonなどDBへのインターフェイスを持つ言語からも特別な拡張無しに利用できる。
今ではMapServer、GeoServer、QGIS、GRASSなどのOSS GISツールの他、ArcGIS、SISな
どの商用GISのバックエンドとしても利用できる。
2012年の1.5から2.0へのバージョンアップでは、モジュールからエクステンションに変更(PostgreSQL
9.1以降が対応)、地理データ列の定義方法変更、非推奨関数の多数削除など大きな変更が加え
られた。
FOSS4G 2014 Tokyo PostGIS入門6
7. PostGISについて学ぶにはここをチェック
• PostGISオフィシャルサイト(Refractions Research)
• http://www.refractions.net/products/postgis/
• PostGISマニュアル日本語訳(農研機構)
• http://www.finds.jp/docs/pgisman/
• PostgreSQLオフィシャルサイト
• http://www.postgresql.org/
• 日本PostgreSQLユーザ会
• https://www.postgresql.jp/
• Linuxのパッケージはhttp://postgis.net/install/ を参照
(標準パッケージは古いことが多々あるようです)
• WindowsはOSGeo4W(http://trac.osgeo.org/osgeo4w/)でGDAL/OGRも使えるように
すると便利
PostGISについて学ぶ
FOSS4G 2014 Tokyo PostGIS入門7
8. 主なDBMSのGIS拡張
PostGIS
PostgreSQL標準の幾何データ対応
SpatiaLite(スペイシャライト、ファイルDBであるSQLiteの拡張)
MySQL(5.6) OpenGIS対応
Oracle Spatial(スペイシャル)
SQL Server Spatialサポート
ArcGIS ジオデータベース
主なGISファイル形式
ESRI Shapefile(デファクトスタンダード)
MapInfo(TAB、MIF/MID)
GeoJSON(JavaScriptのオブジェクト配列)
GML、KML(XMLの拡張)
DBMSとGIS
FOSS4G 2014 Tokyo PostGIS入門8
9. PostGIS(PostgreSQL)のメリット
PostGIS(GIS DB)を使うべき理由
• オープンソース(GPL)
• 標準規格への対応(OpenGIS Consortium、標準SQL)
• マルチプラットフォーム
• ネットワーク共有が簡単便利(TCP/IP、トランザクショナル)
• 豊富な連携ソフトウェア(GDAL/OGRなど)
• 情報・知見が得やすい
• 拡張性、可用性、保守性に優れる
☆つまり使いやすい
PostGIS(PostgreSQL)のデメリット
• ファイルベースのデータは手軽(インストール、運用、データコピーetc)
• サーバに負荷がかかり易い
FOSS4G 2014 Tokyo PostGIS入門9
10. スタンダードフォーマットであるShapefileとの比較
Shapefileとの比較
PostGIS Shapefile
サイズ制限十分に大きい.shp(形状)と.dbf(属性)は2GBまで
座標点数制限十分に大きい7,000万ポイントが目安(2GB)
フィールド名制限63バイト10バイト
フィールド数制限十分に大きい255
文字列属性TEXT、VARCHAR2など固定長のみ(無駄が多い)
文字コード(日本語) 内部はUTF-8、EUC_JP
Shift-JIS(cp932)はクライアントのみ
Shift-JISが推奨、UTF-8のサポートが拡
がるが...
※本来はANSI
空間インデックスサポート(汎用検索ツリー) サポート(性能は良くないとされる、アプ
リ毎に異なるファイル)
共有アクセス同テーブルへの読み書き可能
トランザクション、ロックが可能
高度で安全な共有は期待出来ない
FOSS4G 2014 Tokyo PostGIS入門10
11. 図形タイプ(ジオメトリタイプ)
(シングル・シンプル)ポイント、ライン、ポリゴン
マルチポイント、マルチライン、マルチポリゴン
ジオメトリコレクション、TIN、多面体サーフェイス
空間参照系(SRID)
座標系、測地系、投影法、ジオイドなどの定義
SRIDはQGISなどと共通
spatial_ref_sysテーブルに格納されている
WKT(Well-Known Text)形式
ベクタ図形情報をテキスト形式で表現するフォーマット
OpenGIS Consortium(OGC)による標準定義
DB(ジオメトリ)にはバイナリ形式(WKB)で格納されている
PostGISで使われる用語
FOSS4G 2014 Tokyo PostGIS入門11
14. 作業用ログインロール(ユーザ)を追加します
今回は説明の都合上、セキュリティ甘めの設定なことをご了承ください
1. pgAdminⅢを起動(インストール資料のp17を参照)
2. 「ログインロール」を右クリック、「新しいログインロール」を選択
3. 名前とパスワードを入力。今回はdemoを作成
(スーパーユーザー特権と、データベース作成特権を与える)
4. pgAdminⅢで「データベース」を右クリック、「新しいデータベース」を選択
5. 名前はhandson、オーナーはdemo、他はデフォルトのまま
注)運用では他の設定を変更しても構いません
6. pgAdminⅢの接続を切断し(Dissconnet server)、サーバ(localhost)を右クリックし、「プロパ
ティ」を選択
7. 「DBメンテナンス」をhandson、「ユーザ名」をdemoに変更
ログインロール(ユーザ)を追加
FOSS4G 2014 Tokyo PostGIS入門14
18. PostGISエクステンションのインストール
作成したデータベースにPostGISエクステンションを追加します
1. 作成したデータベース(handson)の「Extensions」を右クリック、「New Extension」を選択
2. 「名前」からpostgisを選択(もし見つからなければPostGISを再インストール)
3. データベースの「スキーマ」- publicで関数、テーブル、トリガ、ビューが追加されていることを確認
4. テーブルspatial_ref_sysの内容を確認
PostGISエクステンションはデータベース毎に追加します
PostgreSQLサービス
ロール(ユーザ) ロール(ユーザ)
データベース
PL/pgSQL
PostGIS
データベース
PL/pgSQL
PostgreSQLの概念図
FOSS4G 2014 Tokyo PostGIS入門18
22. 主キー(serial)idを持つポイントのテーブルを作成します
CREATE TABLE sample_point (
id SERIAL PRIMARY KEY,
geom GEOMETRY (POINT, 4612)
);
「ジオメトリ型」を使用し、図形タイプと空間参照系を指定する
ラインは(MULTI)LINESTRING、ポリゴンは(MULTI)POLYGON
このテーブルの空間参照系はJGD2000緯度経度(SRID:4612)
ジオメトリ(座標)の列名はgeomにするのが一般的
テーブルの作成
FOSS4G 2014 Tokyo PostGIS入門22
23. ちなみにPostGIS 1.xでは...
CREATE TABLE sample_point (
id SERIAL PRIMARY KEY
);
SELECT AddGeometryColumn ('sample_point', 'the_geom', 4612, 'POINT', 2);
AddGeometryCoumn関数は後方互換のため残されている
ツールによっては、まだこちらが使われている
ツールが古いなどの理由で互換性が必要な場合、PostGISに同梱されているlegacy.sqlを実行
する。
テーブルの作成(PostGIS 1.x)
FOSS4G 2014 Tokyo PostGIS入門23
24. よく使われる空間参照系のSRID一覧
よく使われるSRID一覧
測地系座標系SRID
日本測地系
緯度経度4301
UTM座標系51N - 55N 102151 - 102156
平面直角座標系1 - 19系30161 - 30179
世界測地系
JGD2000
緯度経度4612
UTM座標系51N - 55N 3097 - 3101
平面直角座標系1 - 19系2443 - 2461
WGS84 緯度経度4326
Google 球体メルカトル(m) 900913
3857 (EPSG)
FOSS4G 2014 Tokyo PostGIS入門24
25. INSERT文で図形を作成してみます
INSERT INTO sample_point (geom)
VALUES (
ST_GeomFromText('POINT(141.347 43.071)', 4612)
);
テキストをジオメトリ型に変換空間参照系を指定する
SELECT geom FROM sample_point;
SELECT ST_asText(geom) FROM sample_point;
• 文字列'POINT(141.347 43.071)' がWKT
• 対になっているXとYはスペースで区切る
• [geom]の出力はバイナリ形式(普通の人には読めない)
• ST_asText関数により読みやすい形式にする
図形の作成
FOSS4G 2014 Tokyo PostGIS入門25
26. ラインジオメトリを持つテーブルを作成します
図形の作成
CREATE TABLE sample_line (
id SERIAL PRIMARY KEY,
geom GEOMETRY (LINESTRING, 4612)
);
INSERT INTO sample_line (geom)
VALUES (
ST_GeomFromText('LINESTRING(
141.347 43.071,
141.349 43.075,
141.342 43.075,
141.345 43.071
)', 4612)
);
頂点の区切りはカンマ(,)
FOSS4G 2014 Tokyo PostGIS入門26
27. ポリゴンジオメトリを持つテーブルを作成、図形を作成します
図形の作成
CREATE TABLE sample_polygon (
id SERIAL PRIMARY KEY,
geom GEOMETRY (POLYGON, 4612)
);
INSERT INTO sample_polygon (geom)
VALUES (
ST_GeomFromText('POLYGON(
(
ポリゴンは()が増える
141.347 43.071, 141.349 43.075, 141.342 43.075, 141.345 43.071,
141.347 43.071
)
)', 4612)
);
始点終点は一致させる(閉じる)
INSERT INTO sample_polygon (geom)
VALUES (
ST_GeomFromText('POLYGON(
右回り・左回りどちらでもよい
(141.353 43.072, 141.345 43.070, 141.351 43.076,
141.353 43.072),
(141.351 43.072, 141.351 43.073, 141.350 43.073, 141.351 43.072)
)', 4612)
);
穴あきポリゴン
FOSS4G 2014 Tokyo PostGIS入門27
28. ジオメトリ出力関数で図形を確認してみます
図形を確認する(ジオメトリ出力)
WKT表現(ポピュラー)
SELECT id, ST_asText(geom) FROM sample_polygon;
→ 1, POLYGON((141.347 43.071,141.349 43.075, ...))
→ 2, POLYGON((141.347 43.071,...),(141.347 43.072,...))
KML、GeoJSON表現(ジオアプリ向け)
SELECT ST_asKML(geom) FROM sample_line;
→ <LineString><coordinates>141.347,... </coordinates></LineString>
SELECT ST_asGeoJSON(geom) FROM sample_line;
→"{"type":"LineString","coordinates":[141.347,43.071], ...[141.345,43.071]]}
KML、GeoJSONとも属性値は含められないのでogr2ogrや自作プログラムで対処する
FOSS4G 2014 Tokyo PostGIS入門28
29. ジオメトリアクセサ関数で図形の構成を確認します
図形を確認する(ジオメトリアクセサ)
座標を取り出す
SELECT ST_X(geom), ST_Y(geom), ST_SRID(geom) FROM sample_point;
→ 141.347, 43.071, 4612
N番目の図形を取り出す
SELECT ST_asText(ST_PointN(geom, 3)) FROM sample_line;
→ POINT(141.342 43.075)
ポリゴンは少し複雑です
始点:1から始まる
SELECT ST_NRings(geom), ST_X(ST_StartPoint(ST_ExteriorRing (geom)))
FROM sample_polygon;
→1, 141.347
→2, 141.347
始点(Start Point) 外環(LINESTRING)
FOSS4G 2014 Tokyo PostGIS入門29
33. データをインポート・エクスポート(Shapefile)
• デファクトスタンダードであるShapefileをインポート&エクスポートします
• 今回はPostGIS付属のshp2pgsql/pgsql2shpを使用します
• WindowsではスタートメニューのPostGIS - PostGIS 2.0 Shapefile and DBF Loader
ExporterでGUIが起動できます
• CUIで使いたいときはインストールフォルダのbinにあるshp2pgsql.exe、pgsql2shp.exeを使用し
ます
• GUIはちょっと使いにくいかも(^_^;
• ↑GUIがかなり使いにくくなってるのでCUI(コマンドプロンプト)で作業します・・・
FOSS4G 2014 Tokyo PostGIS入門33
34. 1. コマンドプロンプトを起動し、PostgreSQLのインストールフォルダ(C:Program
FilesPostgreSQL9.3)にあるpg_env.batを実行
(binフォルダのプログラムが実行出来るようになる)
2. shp2pgsql とタイプして実行出来ることを確認
3. Shapefileのあるフォルダに移動(cd)
4. Prepareモードで実行してテーブル定義作成確認
5. Createモード(デフォルト)で実行してSQLを作成
shp2pgsqlはDBにアクセスしない
6. SQLを実行してDBにデータを投入
shp2pgsqlの使い方(コマンドプロンプト)
ファイル・フォルダの指定は
エクスプローラからコマンドプロンプトに
ドラッグドロップすると便利です
内容Shapefile名テーブル名
行政区域(Polygon) N03-14_12_140401 polygon_adm
公共施設(Point) P02-06_12-g_PublicFacility point_public
道路(Line) N01-07L-2K-12_Road line_road
FOSS4G 2014 Tokyo PostGIS入門34
35. 1. "C:Program FilesPostgreSQL9.3pg_env.bat" (を実行)
2. shp2pgsql
3. cd <配布のShapefilesフォルダ>
文字コード変換(SJIS→UTF8)
4. shp2pgsql -p -I -S -s 4612 -W cp932 N03-14_12_140401 polygon_adm
-p Prepareモード
-I 空間インデックス作成
-S シンプルジオメトリで定義(デフォルトはマルチジオメトリ)
-s SRID ShapefileのSRID指定
-W encoding Shapefileの文字コード(通常のShapefileはcp932 or UTF-8)
テーブル名
ファイル名を指定
.shpは省略しても良い
インデックスについては後ほど
5.shp2pgsql -c -D -I -S -s 4612 -W cp932 N03-14_12_140401 polygon_adm > polygon_adm.sql
-c Createモード(デフォルト)
-D データはダンプ形式(指定しないとINSERT文になるので遅い)
6. psql -U demo -d handson -f polygon_adm.sql
施設と道路データもインポートする
7. shp2pgsql -c -D -I -S -s 4612 -W cp932 P02-06_12-g_PublicFacility point_public | psql -U
demo -d handson
8. shp2pgsql -c -D -I -S -s 4612 -W cp932 N01-07L-2K-12_Road line_road | psql -U demo -d
handson
•-p,-cの代わりに-aで追記モードになります。
同じテーブルに異なるファイルの内容を次々に入力したい場合に便利です。
•Linux(OSGeo4W)も全く同じ使用方法です
shp2pgsqlの使い方(コマンドプロンプト)
パイプラインで
渡しても良い
FOSS4G 2014 Tokyo PostGIS入門35
37. pgsql2shpの使い方(エクスポート)
• PostGISからShapefileをエクスポートするにはpgsql2shp が良く使われます
• テーブルまたはビューを指定、あるいはSQLクエリ()が利用できます
• 文字コードはクライアントのエンコーディングに依存します(注意が必要)
• テーブル/ビューをエクスポート
SETしないエクスポートも
試してみましょう
1. SET PGCLIENTENCODING=SJIS
2. pgsql2shp -u demo handson point_public
• SQLクエリを利用
ファイル名を指定
• pgsql2shp -u demo -f choshi_adm handson
データベースとテーブル名を指定
"select * from polygon_adm where n03_007 = '12202'"
デSQLクエリを記述銚子市の行政コード
FOSS4G 2014 Tokyo PostGIS入門37
38. XYデータをインポート(変換)
• CSVなどをPostgreSQLにインポートしてからジオメトリを作成してみます
• 今回は千葉市の避難所データを加工したCSVを使用します
• 文字コードはUTF-8
• 平面直角9系(JGD2000)に投影変換
1. ジオメトリを持たないテーブルを作成(SQL)
CREATE TABLE hinan_point (
id integer PRIMARY KEY,
cls text, pname text, address text, x numeric, y numeric
);
2. CSVをインポート(コマンドプロンプト)
データをインポート
1. SET PGCLIENTENCODING=UTF8
2. psql -U demo -d handson -c "COPY hinan_point FROM STDIN CSV HEADER" < chiba-hinan.csv
標準入力を使用する
平面直角9系(JGD2000)
X:東西、Y:南北
FOSS4G 2014 Tokyo PostGIS入門38
39. XY列をポイントジオメトリに変換、更に緯度経度に変換します
1. 数値をポイントジオメトリに変換し、空間参照系を付与する
SELECT ST_asEWKT(ST_setSRID(ST_MakePoint(x, y), 2446)) FROM hinan_point;
空間参照系の付与平面直角(9)
2. JGD2000緯度経度に投影変換する
SELECT ST_asEWKT(ST_Transform(ST_setSRID(ST_MakePoint(x, y), 2446), 4612))
FROM hinan_point;
座標変換(投影変換) 緯度経度
3. 今のテーブルにジオメトリを追加する
ALTER TABLE hinan_point ADD geom GEOMETRY(POINT, 4612);
4. ジオメトリ属性をアップデートする
add しただけなので
geomはNULL
UPDATE hinan_point
SET geom = ST_Transform(ST_setSRID(ST_MakePoint(x, y), 2446), 4612);
5. QGISで確認する
XYからジオメトリ(投影変換)
FOSS4G 2014 Tokyo PostGIS入門39
40. • ST_setSRID()は空間参照系のメタ情報を付与するだけ。投影変換(座標変換)はされません
• ジオメトリ型にINSERT/UPDATEするときは自動的に投影変換されない
• 別の空間参照系に変換するにはST_Transform()を使う
• 平面直角座標系もPostGISではPOINT(東西(X) 南北(Y))。
生データを扱うときは気をつけましょう
• GPSログをラインにしたいときは・・・
変換のポイント
SELECT
gps_track,
ST_MakeLine(gps.geom ORDER BY gps_time) geom
FROM gps_points
GROUP BY gps_track;
FOSS4G 2014 Tokyo PostGIS入門40
42. 前セクションでインポートした国土数値情報の簡単な説明
テーブル定義
行政区域
n03_001 都道府県名
n03_002 支庁名(市はNULL)
n03_003 郡・政令市名
n03_004 市区町村名
n03_007 行政区域コード(5桁)
公共施設
p02_001 行政区域コード
p02_002 公共施設大分類
p02_003 公共施設小分類
p02_004 名称
p02_005 所在地
P02_006 管理者コード
p02_007 原典資料名
道路
n01_001 道路種別コード
n01_002 路線名
n01_003 線名
n01_004 通称
FOSS4G 2014 Tokyo PostGIS入門42
43. PostGISを利用することにより、データベースで行える通常の属性検索に加えて、豊富な空間検索が利
用できます。
• 属性により千葉市の各区を検索し、面積を計算する
SELECT n03_003, n03_004, n03_007,
ST_Area(ST_Transform(geom, 2446)),
ST_Area(ST_Transform(geom, 32654))
FROM polygon_adm
WHERE n03_003 = '千葉市';
2446:平面直角(9)
32654:UTM54
• 千葉市内の郵便局を区毎に数える(図形的に)
PostGISの検索機能
SELECT
n03_004,
count(*)
FROM polygon_adm a, point_public p
WHERE n03_003 = '千葉市'
郵便局:p02_002 = '18'
AND st_contains(a.geom, p.geom)
AND p.p02_002 = '18'
GROUP BY n03_004
st_contains(a, b)
aがbを完全に含むならTRUE
FOSS4G 2014 Tokyo PostGIS入門43
44. 空間インデックスの有無による検索速度を体験してみます
1. ○○市にある福祉施設をカウント
SELECT count(*)
FROM polygon_adm a, point_public p
WHERE n03_004 like '%市' AND st_contains(a.geom, p.geom) AND p.p02_002 = '19'
2. 空間インデックスを削除
DROP INDEX point_public_geom_gist;
DROP INDEX polygon_adm_geom_gist;
3. ふたたび1.で検索すると遅くなっているはず
4. 空間インデックスを再作成
空間インデックスの効果を体験する
CREATE INDEX point_public_geom_gist ON point_public USING GiST (geom);
CREATE INDEX polygon_adm_geom_gist ON polygon_adm USING GiST (geom);
5. ふたたび1.で検索する
6. 1.のSELECTの前にEXPLAIN句をつけて、2.~5.を実行してみる
EXPLAIN SELECT count(*)
FROM polygon_adm a, point_public p
WHERE n03_004 like '%市' AND st_contains(a.geom, p.geom) AND p.p02_002 = '19'
FOSS4G 2014 Tokyo PostGIS入門44
46. • 図形を合成してみます。このSQLそれぞれ結果が1件のみになります(合成の結果)
SELECT n03_003, ST_Collect(geom)
FROM polygon_adm
WHERE n03_003 = '千葉市'
GROUP BY n03_003;
集合条件の指定
• ST_Collect()とST_Union()の違い
図形の集合
SELECT n03_003, ST_Union(geom)
FROM polygon_adm
WHERE n03_003 = '千葉市'
GROUP BY n03_003;
CREATE VIEW collect_polygon as
SELECT max(id) id, ST_Collect(geom)
FROM sample_polygon;
CREATE VIEW union_polygon as
SELECT max(id) id, ST_Union(geom)
FROM sample_polygon;
重複部の座標はそのまま重複部の座標は無くなる
FOSS4G 2014 Tokyo PostGIS入門46
47. 図形の切り出し
ある領域に含まれる部分だけを切り出してみます
• 千葉市の行政界線で道路を切り出します
1. line_roadテーブルは行政界で分割されているので、路線毎にマージされた作業用テーブルを作成
します。
CREATE TABLE union_road AS
SELECT
定型文として覚えておくと便利
ジオメトリが、シンプル→マルチ→マルチ→シンプルと変換される
n01_002 roadname,
(ST_Dump(ST_LineMerge(ST_Union(geom)))).Geom geom
FROM line_road
GROUP BY n01_002;
空間インデックスも忘れずに
CREATE INDEX union_line_geom_gist ON union_road USING GiST (geom);
2. ジオメトリ間の共有部分を求めるビュー(テーブル)を作成し、Shapefileにエクスポートします。
CREATE VIEW chiba_road AS
SELECT
l.roadname, p.n03_004,
ST_Intersection(p.geom, l.geom) geom
FROM polygon_adm p, union_road l
WHERE St_Intersects(p.geom, l.geom)
AND n03_003 = '千葉市';
QGISでこのViewを参照すると
エラーになってしまう・・・
FOSS4G 2014 Tokyo PostGIS入門47
49. • 外部データのインポート/エクスポートを頻繁に行うならLinuxがお勧めです
(Windows + GUIでやってみたら結構大変でした・・・)
• OSGeo4Wというパッケージを使うとWindowsでもFOSS4GツールがCUIで利用出来ます
• PostGISマニュアル日本語訳は日本特有の問題点、Tipsについても追記されているので
教科書として最適です(農研機構様に感謝)
ハンズオンは以上です
お疲れ様でした!
終わりに
FOSS4G 2014 Tokyo PostGIS入門49