從 XY 資料集建立空間點

在地理資料方面,R 表明它是資料處理,分析和視覺化的強大工具。

通常,空間資料可作為表格形式的 XY 座標資料集。此示例將說明如何從 XY 資料集建立空間資料集。

rgdalsp 提供強大的功能。R 中的空間資料可以儲存為 Spatial*DataFrame(其中*可以是 PointsLinesPolygons)。

此示例使用可在 OpenGeocode 下載的資料

首先,必須將工作目錄設定為下載的 CSV 資料集的資料夾。此外,必須載入 rgdal 包。

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

之後,儲存城市及其地理座標的 CSV 檔案將作為 data.frame 載入到 R 中

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

通常,瞭解資料及其結構(例如列名,資料型別等)非常有用。

head(xy)
str(xy)

這表明緯度和經度列被解釋為字元值,因為它們儲存類似“-33.532”的條目。然而,後來使用的建立空間資料集的函式 SpatialPointsDataFrame() 要求座標值為資料型別 numeric。因此必須轉換兩列。

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 = ".")

StackOverflow 文件