これに使用できるおよびパッケージSpatial内のオブジェクトのコンバーター関数があります。シェープファイルは、少なくとも各オブジェクトのポイント (またはラインまたはポリゴン) と属性で構成されます。spatstatmaptools
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に割り当てることができます(ただし、これは、ページを書き込むことができるすべての問題です)。SpatialSpatialPointsDataFrameproj4string(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")