《R語言資料高效處理指南》(黃天元)【摘要 書評 試讀】- 京東圖書
)。知乎專欄:R語言資料挖掘。
郵箱:[email protected].歡迎合作交流。HopeR:R語言空間資料分析(零):總目錄zhuanlan.zhihu.com
在地理空間資料中,一般都有一個坐标系,常用的是WGS 84。如果我們已經讀入了一個地理資料資訊,比如儲存在data中,那麼可以這樣檢視它的坐标系:
library(sf)
st_crs(data)$proj4string
如果資料中沒有坐标系,則可以使用st_set_crs函數來指定它的坐标系。坐标系的表示方法有兩種,一種叫做Proj4,會由一長串字元串構成,比如“+proj=longlat +datum=WGS84 +no_defs”。另一種叫做EPSG(EPSG.io: Coordinate Systems Worldwide),由數字編碼構成,如4326。後者要更友善一些,比如對于一個沒有坐标系的編碼,我們可以這樣設定其成為WGS84坐标系:
data <- data %>%
st_set_crs(., 4326)
如果地理資訊已經有坐标系,但是需要轉換的話,可以使用st_transform函數。比如我們要把上面的data轉化為GDA94坐标系,可以這樣操作:
dataPROJECTED <- data %>%
st_transform(.,3112)
通常,我們讀取的資料為sf格式的,sf和sp格式可以通過一定的方法互相轉換,例子如下(假設Ausoutline為我們的地理資料):
#From sf to sp
AusoutlineSP <- Ausoutline %>%
as(., "Spatial")
#From sp to sf
AusoutlineSF <- AusoutlineSP %>%
st_as_sf()
對于栅格資料,則需要用raster包來加載,raster函數可以載入資料,stack函數可以堆疊圖層,而 projectRaster函數則可以根據其proj4的字元串來進行不同形式的投影。詳細的操作可參考:https://andrewmaclachlan.github.io/CASA0005repo/rasters-descriptive-statistics-and-interpolation.html#worldclim-data