ออบเจกต์ที่ซับซ้อนมากขึ้น
แพ็กเกจ raster มีออบเจกต์ RasterLayer รวมถึงออบเจกต์ที่ซับซ้อนกว่าอีกสองแบบ ได้แก่ RasterStack และ RasterBrick ออบเจกต์ทั้งสองนี้ออกแบบมาสำหรับจัดเก็บ raster หลายชั้นที่มีขอบเขตและมิติเดียวกัน (เรียกอีกอย่างว่า multi-band หรือ multi-layer raster)
ให้คิดว่า RasterLayer เหมือนกับเมทริกซ์ ส่วน RasterStack และ RasterBrick นั้นคล้ายกับอาร์เรย์สามมิติ สิ่งที่ต้องรู้เพิ่มเติมเพื่อใช้งานออบเจกต์เหล่านี้ คือวิธีระบุเลเยอร์ที่ต้องการ
สามารถใช้ $ หรือ [[ เพื่อ subset RasterStack หรือ RasterBrick และดึงเลเยอร์เดียวออกมาเป็นออบเจกต์ RasterLayer ใหม่ ตัวอย่างเช่น ถ้า x เป็น RasterStack การใช้ x$layer_name หรือ x[["layer_name"]] จะคืนค่า RasterLayer ที่มีเฉพาะเลเยอร์ชื่อ layer_name
มาลองดูออบเจกต์ RasterStack ชื่อ pop_by_age ซึ่งครอบคลุมพื้นที่เดียวกับ pop แต่ประกอบด้วยเลเยอร์ของประชากรที่แบ่งตามกลุ่มอายุต่าง ๆ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้างภาพข้อมูลภูมิสารสนเทศใน R
คำแนะนำการฝึกหัด
- พิมพ์
pop_by_ageลองดูว่าเห็นชื่อเลเยอร์ทั้งหมดไหม? - ดึงเลเยอร์
under_1ออกมาโดยใช้การ subset ด้วย[[ - พล็อตเลเยอร์
under_1โดยส่งโค้ดจากขั้นตอนก่อนหน้าไปยังplot()
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Print pop_by_age
# Subset out the under_1 layer using [[
# Plot the under_1 layer