「SpatialPolygonsDataFrame」を含むデータセットをシェープファイルとしてエクスポートする方法


12

パッケージtornados内のデータセットなど、R内の空間データセットGISToolsを、まったく同じ空間参照と正確な値を持つシェープファイルとしてエクスポートするにはどうすればよいですか?

library(GISTools)

data(tornados)

望ましい:

  • 「SpatialPolygonsDataFrame」から「shapefile」へ
  • 「(強制)SpatialPointsDataFrame」から「shapefile」へ
  • 「(強制されない)SpatialPointsDataFrame」から「shapefile」へ
  • 「SpatialLinesDataFrame」から「shapefile」に。

1
rgdal::writeOGR
hrbrmstr 2015

ここでの強制とはどういう意味ですか?
mdsumner 2015

「強制」の意味はわかりませんが、トルネードデータタイプの「GISTools」ドキュメントに記載されています。
Mokhless、2015

回答:


16

ウェズリーの答えは正しいです。したがって、トルネードデータを具体的にエクスポートするには、次のことを行う必要があります。

library(GISTools)
library(rgdal)
data(tornados)

writeOGR(obj=torn, dsn="tempdir", layer="torn", driver="ESRI Shapefile") # this is in geographical projection

writeOGR(obj=torn2, dsn="tempdir", layer="torn2", driver="ESRI Shapefile") # this is in equal area projection

Rの場合、これらのデータセットはどちらもSpatialPointsDataFramesとして扱われます。

> class(torn)
[1] "SpatialPointsDataFrame"
attr(,"package")
[1] "sp"

> class(torn2)
[1] "SpatialPointsDataFrame"
attr(,"package")
[1] "sp"

8

maptoolsこれを実現するためのパッケージ内の関数もあることに注意してくださいwriteSpatialShape

library(maptools)
writeSpatialShape(torn, "torn").

?writeSpatialShapeオプションについては、を参照してください。


2
この関数は、proj4string情報を保持しません。
Jeffrey Evans

@JeffreyEvans:それでそれを渡す方法はありますか?おそらく、それをGISパッケージに再割り当てします。
val

@valだけを使用writeOGR
MichaelChirico

@MichaelChirico:thxですが、私が始めたのはそれで、問題は、エラーに切り捨てられるということです...重複フィールド。それに関する投稿があります。
val '11

6

rgdalパッケージ、特にwriteOGR関数を確認する必要があります。

たとえば、最初に110m解像度の「州と地方」のシェープファイルをNatural Earthからダウンロードし、に解凍しました~/scratch/ne_110m_admin_1_states_provinces。私はそれらをRに読み込みます:

library(rgdal)
setwd("~/scratch")
states <- readOGR(dsn="ne_110m_admin_1_states_provinces",
    layer="ne_110m_admin_1_states_provinces")

この時点で、オブジェクトstatesSpatialPolygonsDataFrameです。次に、新しいディレクトリ( " tempdir")を作成し、そこにシェープファイルを保存します。

dir.create("tempdir")
writeOGR(obj=states, dsn="tempdir", layer="states", driver="ESRI Shapefile")

形状は~/scratch/tempdir、states.shpなどのファイルとしてディレクトリに保存されます。同じことをで行うことができます。関数のSpatialPointsDataFrameドキュメントの最初の例を参照してくださいwriteOGR


4
library(raster)
shapefile(tornados, filename='path/to/file.shp')

ディレクトリへの書き込み権限がある(または自分に付与している)ことを確認してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.