แพ็กเกจที่ใช้งาน Raster objects
คุณได้เห็นแล้วว่าแพ็กเกจ tmap ช่วยให้การแสดงผล spatial classes ใน sp เป็นเรื่องง่าย ข่าวดีคือ tmap ยังรองรับ raster classes ด้วย! เพียงส่งออบเจ็กต์ Raster___ เป็นอาร์กิวเมนต์ shp ให้กับฟังก์ชัน tm_shape() แล้วเพิ่มเลเยอร์ tm_raster() ดังนี้:
tm_shape(raster_object) +
tm_raster()
เมื่อทำงานกับออบเจ็กต์ประเภท RasterStack หรือ RasterBrick เช่น ออบเจ็กต์ pop_by_age ที่สร้างในแบบฝึกหัดที่แล้ว คุณสามารถแสดงผลเลเยอร์ใดเลเยอร์หนึ่งได้โดยใช้อาร์กิวเมนต์ col (ย่อมาจาก "color") ใน tm_raster() โดยระบุชื่อเลเยอร์ในเครื่องหมายคำพูด
เราจะใช้ tmap ตลอดทั้งคอร์ส แต่ยังอยากแนะนำแพ็กเกจอีกตัวหนึ่งด้วย นั่นคือ rasterVis ซึ่งออกแบบมาสำหรับการแสดงผล raster objects โดยเฉพาะ rasterVis มีฟังก์ชันให้เลือกใช้หลายตัว แต่ตอนนี้ขอลองใช้ฟังก์ชัน levelplot() กันก่อน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้างภาพข้อมูลภูมิสารสนเทศใน R
คำแนะนำการฝึกหัด
- ใช้
tmapพล็อตออบเจ็กต์popโดยระบุpopเป็นอาร์กิวเมนต์shpให้กับtm_shape()และเพิ่มเลเยอร์tm_raster() - ใช้
tmapพล็อตเลเยอร์under_1ของpop_by_ageซึ่งเป็นออบเจ็กต์ประเภทRasterStack - เรียกใช้ฟังก์ชัน
levelplot()จากrasterVisกับออบเจ็กต์pop
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
library(tmap)
# Specify pop as the shp and add a tm_raster() layer
tm_shape(___) +
___
# Plot the under_1 layer in pop_by_age
library(rasterVis)
# Call levelplot() on pop