サーチ…


XYデータセットから空間点を作成する

地理データに関しては、Rはデータ処理、分析、視覚化のための強力なツールであることを示しています。

多くの場合、空間データは、表形式のXY座標データとして使用できます。この例では、XYデータセットから空間データセットを作成する方法を示します。

パッケージrgdalspは強力な機能を提供します。 Rの空間データとして記憶することができるSpatial*DataFrame*することができるPointsLines又はPolygons )。

この例では、 OpenGeocodeでダウンロードできるデータを使用しています。

最初に、作業ディレクトリをダウンロードしたCSVデータセットのフォルダに設定する必要があります。さらに、パッケージrgdalをロードする必要があります。

setwd("D:/GeocodeExample/")
library(rgdal)

その後、都市とその地理的座標を格納しているCSVファイルがdata.frameとしてRにロードされdata.frame

xy <- read.csv("worldcities.csv", stringsAsFactors = FALSE)

多くの場合、データとその構造(カラム名、データタイプなど)を垣間見ることが有用です。

head(xy)
str(xy)

これは、 "-33.532"のようなエントリを保持しているので、緯度と経度の列は文字値として解釈されることを示しています。空間データセットを作成する後で使用される関数SpatialPointsDataFrame()では、データ型numeric座標値が必要です。したがって、2つの列を変換する必要があります。

xy$latitude <- as.numeric(xy$latitude)
xy$longitude <- as.numeric(xy$longitude)

値のうちのいくつかを数値データに変換できないため、 NA値が作成されます。それらは削除する必要があります。

xy <- xy[!is.na(xy$longitude),]

最後に、XYデータセットを空間データセットに変換することができます。これには、座標が格納されている座標参照系(CRS)の座標と指定が必要です。

xySPoints <- SpatialPointsDataFrame(coords = c(xy[,c("longitude", "latitude")]),
proj4string = CRS("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"),
data = xy
)

基本的なプロット関数を使用すると、生成された空間点のピークを簡単に突き止めることができます。

plot(xySPoints, pch = ".")

ここに画像の説明を入力

シェイプファイル(.shp)のインポート

rgdal

ESRIシェイプファイルは、 rgdalパッケージからreadOGR()関数を使用してRに簡単にインポートできます。

library(rgdal)
shp <- readORG(dsn = "/path/to/your/file", layer = "filename")

重要なのは、 dsn/で終わるべきではなく、 layerがファイルの終了を許可していないこと(例えば.shp )です。

ラスター

シェイプファイルをインポートするもう1つの方法は、 rasterライブラリとshapefile関数です。

library(raster)
shp <- shapefile("path/to/your/file.shp")

パス定義がrgdal import文とどのように異なるかに注意してください。

tmap

tmapパッケージは、 rgdal::readORG関数の素晴らしいラッパーを提供します。

library(tmap)    
sph <- read_shape("path/to/your/file.shp")


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow