一个更复杂的对象
raster 包不仅提供 RasterLayer 对象,还提供了更复杂的对象:RasterStack 和 RasterBrick。这两种对象用于存储多个栅格,它们具有相同的范围和维度(也称为"多波段"或"多层"栅格)。
您可以把 RasterLayer 想象成一个矩阵,而 RasterStack 和 RasterBrick 更像三维数组。要处理它们,您还需要知道如何指定某一层。
您可以在 RasterStack 或 RasterBrick 上使用 $ 或 [[ 来提取单个图层,并返回一个新的 RasterLayer 对象。例如,如果 x 是一个 RasterStack,那么 x$layer_name 或 x[["layer_name"]] 将返回仅包含名为 layer_name 这一层的 RasterLayer。
下面来看一个名为 pop_by_age 的 RasterStack 对象。它覆盖的区域与 pop 相同,但现在包含按不同年龄段划分的人口图层。
本练习是课程的一部分
在 R 中可视化地理空间数据
练习说明
- 打印
pop_by_age。您能看到所有图层的名称吗? - 使用
[[子集提取under_1图层。 - 将上一步得到的代码传给
plot(),绘制under_1图层。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Print pop_by_age
# Subset out the under_1 layer using [[
# Plot the under_1 layer