RからWFSを利用する(2)
(承前)
ogr2ogr で保存した GMLファイルを R 上に読み込んでみよう。 それには readOGR を用いる。
R の GIS データ用クラスはジオメトリ型ごとに異なっているらしい。 型ごとに別のオブジェクトに格納する。
> library(gdalUtils)
> library(rgdal)
> pnt <- readOGR("test.gml", "mylayer", require_geomType="wkbPoint")
> lines <- readOGR("test.gml", "mylayer", require_geomType="wkbLineString")
> poly <- readOGR("test.gml", "mylayer", require_geomType="wkbPolygon")
> plot(pnt)
R オブジェクトのクラス名はそれぞれ SpatialPointsDataFrame, SpatialLinesDataFrame, SpatialPolygonsDataFrame のようだ。 plot() に渡すと点や線が表示される。
ローカルファイルに保存せずに R に取り込む
readOGR のデータソースに WFS の URL を指定すれば、WFS サーバから データを直接 R 上に取り込むこともできる。
> mypoints <- readOGR("WFS:http://hogehoge/wfs?version=1.0.0&request=getfeature&typename=mylayer&srsname=EPSG:4326", "mylayer", require_geomType="wkbPoint")
> plot(mypoint)
SpatialPointsDataFrame 等のクラスがどの程度汎用的なのかは 今の私には判らない。ただローカルに GML形式で保存できさえすれば 後はなんとでもなるだろう。