讀取柵格數據
引言
很多非地理專業的同學會在使用天氣、地理、自然災害、溫度溼度等數據時遇到一種數據格式。.nc
格式。也稱爲柵格數據,但是讀入之後確讀不明白他的數據結構。下面我以2019華爲杯的數據爲例,爲大家分析一下這種數據的數據結構。非專業解讀,僅供參考。
1、數據讀入
# 載入包
> library(raster)
> library(ncdf4)
> library(rasterVis)
> library(lattice)
# 數據讀取
r = stack("數據/data.nc")
2、參數解讀
> r
class : RasterStack
dimensions : 89, 180, 16020, 1985 (nrow, ncol, ncell, nlayers)
resolution : 2, 2 (x, y)
extent : -1, 359, -89, 89 (xmin, xmax, ymin, ymax)
crs : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
names : X1854.01.01, X1854.02.01, X1854.03.01, X1854.04.01, X1854.05.01, X1854.06.01, X1854.07.01, X1854.08.01, X1854.09.01, X1854.10.01, X1854.11.01, X1854.12.01, X1855.01.01, X1855.02.01, X1855.03.01, ...
2.1 class (類)
數據的類型,柵格數據
2.2 dimensions(維度)
dimensions : 89, 180, 16020, 1985 (nrow, ncol, ncell, nlayers)
數據的維度,(行數,列數、行函數乘以列數、層數)
。上述這個數據共有89行,180列,16020個數據,1985層。
每一層可以通過列表索引取出類似於矩陣格式的數據。當然取出的類還是柵格數據。下面的命令進行查看。
> Data <- r[[1]] # 取出第一層
> class(Data)
[1] "RasterLayer"
attr(,"package")
[1] "raster"
> dim(Data) # 第一層的維度
[1] 89 180 1
下面畫一下第一層的效果圖:
plot(Data)
2.3 resolution (像素)
數據的像素resolution :2, 2 (x, y)
,這個是數據的像素,決定x軸y軸的經緯度的間隔。這個數x
和y
間隔都是2。下個參描說具體怎麼用。
2.4 extent(範圍)
這個的含義應該很明確,-1, 359, -89, 89 (xmin, xmax, ymin, ymax)
,x
是從-1到359間隔爲2,即:-1,1,3,5,…。
2.5 names
這個參數是每一層的名字,我猜想可以通過每一層的名字索引試試:
> Data2 <- r$X1854.01.01
> class(Data2)
[1] "RasterLayer"
attr(,"package")
[1] "raster"
> dim(Data2)
確認過眼神,確實可以。
2.6 band(波段)
這個數據沒有這個參數,沒有感性的認識,咱也不知道。有知道的大神歡迎評論區留言學習。
3、總結
希望對一些剛剛上手的人有用。總結不專業,有問題評論區見。謝謝支持了。