これに使用できるおよびパッケージSpatial
内のオブジェクトのコンバーター関数があります。シェープファイルは、少なくとも各オブジェクトのポイント (またはラインまたはポリゴン) と属性で構成されます。spatstat
maptools
library(spatstat)
library(sp)
library(maptools)
data(bei)
オブジェクトに強制bei
します。オブジェクトSpatial
には「マーク」がないため、ここでは属性のないポイントのみppp
です。
spPoints <- as(bei, "SpatialPoints")
シェープファイルには少なくとも 1 列の属性データが必要なので、ダミーを作成します。
dummyData <- data.frame(dummy = rep(0, npoints(bei)))
SpatialPoints
オブジェクトとダミー データを使用して、 を生成しSpatialPointsDataFrame
ます。
spDF <- SpatialPointsDataFrame(spPoints, dummyData)
この時点で、によって使用される座標系が何であるか、およびそれを(既知のテキスト座標参照系)bei
で表現できるかどうかを確実に検討する必要があります。の別の引数として、または create with の後で、それをオブジェクトWKT CRS
に割り当てることができます(ただし、これは、ページを書き込むことができるすべての問題です)。Spatial
SpatialPointsDataFrame
proj4string(spDF) <- CRS("+proj=etc...")
パッケージをロードしrgdal
ます (これは多くの形式をサポートし、GDAL ライブラリを使用するため、最も一般的なオプションですが、システムの依存関係のために利用できない場合があります。
library(rgdal)
(利用できない場合はwritePolyShape
、maptools
パッケージで使用しrgdal
ます)。
構文は、オブジェクト、「データ ソース名」(ここでは現在のディレクトリ、これは .shp またはフォルダーへのフル パス)、レイヤー (シェープファイルの場合は拡張子なしのファイル名) です。次に、出力ドライバーの名前。
writeOGR(obj = spDF, dsn = ".", layer = "bei", driver = "ESRI Shapefile")
「bei.shp」がすでに存在する場合、書き込みは失敗するため、最初に削除する必要があることに注意してくださいunlink("bei.shp")
。
「bei」で始まるファイルを一覧表示します。
list.files(pattern = "^bei")
[1] "bei.dbf" "bei.shp" "bei.shx"
オブジェクトの一般的な「as.Spatial」コンバーターはないことに注意してください。ppp
これは、これがマークなどを含むポイント パターンであるかどうかを判断する必要があるためです。ダミー データが必須など。
これらのデータ表現の違いの詳細と詳細については、次のビネットを参照してください。
ライブラリ (sp); vignette("sp") ライブラリ(spatstat); vignette("spatstat")