COLOR(red){SIZE(30){RとPostGIS }}

 ここでは、[[Open GIS Simple Features Specification for SQL:http://www.opengis.org/docs/99-049.pdf]] に準拠した[[PostGIS:http://postgis.refractions.net/]] を R 内より利用して、GISの空間検索、空間解析および空間分析の方法を説明していくことにする。

#contents

*PostGIS とは [#k93f27ae]
PostgreSQL 用のオープンソースの空間データベースエンジン。カナダの [[Refractions 社:http://www.refractions.net/]]が開発。PostgreSQL 上で大容量の地理空間ベクトルデータの蓄積・検索・解析・地図投影変換が可能。WKT を格納するフィールドのデフォルト名は"the_geom"。

*WKT(Well Known Text) [#mbc7b627]

PostGIS は国際標準の地理情報格納形式であるOpenGIS シンプルフィーチャをベースにしたWKTというテキスト形式で図形情報を格納している((WKB(Well Known Binary)というバイナリ形式もあり、PostGIS はこれもサポートしている))。
*シェープファイルの変換 [#o79b49c8]
PostGISのユーティリティツール shp2pgsql を利用してSQL 文を生成する。

 shp2pgsql シェープファイル名 テーブル名 データベース名 > SQLファイル 

使用例((例に使用した columbus のシェープファイルは maptools パッケージに含まれている))
 createdb columbusdb #データベース作成
 createland plpgsql columbusdb #PL/PGSQL の利用を可能にする
 psql -d columbusdb -f <PostgreSQLのインストール先のディレクトリ>/share/contrib/postgis.sql #PostGIS の利用を可能にする
 shp2pgsql columbus columbus columbusdb > columbus.sql #SQL文生成
 psql -d columbusdb -f columbus.sql                    #テーブル作成 

*[[Rとの接続:http://wiki.intamap.org/index.php/PostGIS#Connecting_PostGIS_with_R]] [#e6a55873]
**rgdal [#z49bb5ac]
***読み込み [#x263e5c4]
 library(rgdal)
 meuse = readOGR("PG:dbname=postgis", "meuse2")
 meuse[1:10,] # first ten rows
 proj4string(meuse)

**WKT(Well Known Text) [#r944988c]
 rgeos の利用

*** 書込み [#s7a9747b]

**RODBC + rgeos --- [[[R-sig-Geo] Connection between R and PostGIS:https://stat.ethz.ch/pipermail/r-sig-geo/2012-March/014694.html]]より引用[#ha256287]

ここではRODBC を利用して、PostgreSQL に接続する。ただし、この方法は
処理できるサイズの小さなものに限られる。

 library(rodbc) #パッケージのロード
 con <- odbcConnect("gisdb")
  ## query
  sql <- "SELECT ST_AsText(the_geom) from gis_data.gadm2 where name_2='Berlin'"
  ## execute query
 d <- readWKT(sqlQuery(con, sql, stringsAsFactors=F)[1,1])

***関連リンク [#a0d25f54]
-[[feature request: rpostgresql does not support wkb/wkt:http://code.google.com/p/rpostgresql/issues/detail?id=22]]

**RPostgreSQL [#je4973c7]

**Rdbi/RdbiPgSQL [#c2376dad]
[[なかまさんのWin32 バイナリ:http://www.nakama.ne.jp/memo/cran-R/Rdbi.PgSQL/]]があるが、PostgreSQL のバージョンが違うので利用できない?
ビルドも面倒なので今はパス。

**凸包 [#n80109d9]
convexhull

**ユニオン [#q5f38bab]
GeomUnion または memGeomUnion

**ディゾルブ [#r924c6a0]
ユニオンの応用

**オーバーレイ解析 [#x53f71a9]

***ポリゴン [#m801a448]
-intersection
-symdifference
-difference

*オンデマンド・トポロジー [#v9f7f8ce]
α版でサポート予定

*道路ネットワーク解析 [#r8205d38]

*空間ウェイトマトリックス [#s8f2e25e]
オンデマンド・トポロジーを利用

*空間データマイニング [#k7782fa6]

*リンク [#afbfae53]
-[[PL/R & PostGIS:http://www.bostongis.com/PrinterFriendly.aspx?content_name=postgresql_plr_tut02]]
--[[Boston GIS: Tutorial Booklet:http://www.pelagis.net/gis_con/paper/TutBook%20GIS%20open%20source.pdf]]  上記の PDF 版
-[[Open Source Online Geospatial Interfaces to Multiscale Indicators:http://www.oecd.org/dataoecd/6/19/40051707.pdf?contentId=40051708]] WebGIS での利用
-[[Connecting PostGIS with R :http://wiki.intamap.org/index.php/PostGIS#Connecting_PostGIS_with_R]]ODBC と OGR の利用例
-[[An example of using PostGIS from R:http://duncanjg.wordpress.com/2008/04/19/an-example-of-using-postgis-from-r/]] ODBC & QGIS
--countries share a common boundary
-[[PostGIS-R - How to use R functions from PostgreSQL :http://www.geopacific.org/opensourcegis/postgis/postgis-r]]
--[[How to use R functions from PostgreSQL:http://www.geopacific.org/opensourcegis/postgis/postgis-r]] deldir

-[[Quick Intro to R and PL/R - Part 1 - Postgres OnLine Journal:http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=17&cad=rja&ved=0CEwQFjAGOAo&url=http%3A%2F%2Fwww.postgresonline.com%2Fjournal%2Farchives%2F188-plr_part1.html&ei=tZWEUMrmCc7umAWdv4DADQ&usg=AFQjCNF7r2zfubmlVByl3zCDhLFEuLdG8w]]


*参考書 [#l2b08056]
-[[PostGIS in Action:http://www.manning.com/obe/]] PLR が取り上げられる予定。2011年2月発行。//www.amazon.co.jp/Postgis-Action-Regina/dp/1935182269]] でも入手可能。Early Access 版は全章が完了。ソースコードも公開。[[翻訳の話:http://www.geopacific.org/]]もあるような。
--[[Chapter 10:http://www.postgis.us/chapter_10]] rgdal, sp, spatial dataframe への PostGIS データの読み込み、R による作図など。
--[[第2版:http://www.bostongis.com/blog/index.php?/archives/197-What-will-be-in-PostGIS-In-Action-Second-Edition.html]] R 関連は?

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS