我想使用 ggplot2 制作水深图。我将栅格文件转换为数据框,裁剪并将其转换为数据框:
library(raster)
##Import a raster file
Bathymetry_dat <- raster("w001000.adf")
##Clop the raster file
Bathy_clopped <- crop(Bathymetry_dat, extent(84.11236, 108.4594, -4.046979, 24.09534))
##Convert it to a dataframe
datframe_bathy<-as.data.frame(Bathy_clopped, xy = TRUE)
然后,我检查了数据框中的值(即深度,以 m 为单位):
> summary(datframe_bathy)
x y w001000_COUNT
Min. : 84.11 Min. :-4.046 Min. : 9945
1st Qu.: 90.20 1st Qu.: 2.987 1st Qu.: 81618
Median : 96.28 Median :10.021 Median : 168447
Mean : 96.28 Mean :10.021 Mean : 210212
3rd Qu.:102.37 3rd Qu.:17.054 3rd Qu.: 336718
Max. :108.45 Max. :24.087 Max. :1205362
NA's :3449125
深度 (m) 值应该是负数,不应该这么大。然后,我检查了在 R 中导入的测深文件。
> Bathy_clopped
class : RasterLayer
dimensions : 3377, 2922, 9867594 (nrow, ncol, ncell)
resolution : 0.008333333, 0.008333333 (x, y)
extent : 84.10833, 108.4583, -4.05, 24.09167 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0
data source : in memory
names : w001000
values : -6138, -1 (min, max)
attributes :
ID COUNT
from: -11584 1
to : -1 676804
有两个属性:ID 和 COUNT。我想 ID 是深度(m)并且不知道 COUNT 是什么。奇怪的是 COUNT 的范围从 1 到 676804,但 summary() 显示的值从 9945 到 1205362。
所以我的问题是如何将栅格文件转换为包含我想要的值的数据框?
使用“COUNT”值,我能够生成测深图,但图例中的值不正确..
提前致谢。