การอ่านไฟล์ Shapefile
Shapefile เป็นหนึ่งในรูปแบบที่นิยมใช้แชร์ข้อมูลเชิงพื้นที่มากที่สุด และสามารถอ่านเข้าสู่ R ได้ง่ายด้วย readOGR() จากแพ็กเกจ rgdal โดย readOGR() มีอาร์กิวเมนต์สำคัญสองตัว คือ dsn และ layer ค่าที่ส่งให้กับอาร์กิวเมนต์แต่ละตัวจะขึ้นอยู่กับประเภทของข้อมูลที่อ่านเข้ามา จากที่ได้เรียนในวิดีโอ สำหรับ Shapefile นั้น dsn ควรเป็น path ไปยังโฟลเดอร์ที่เก็บไฟล์ทั้งหมดของ Shapefile และ layer คือชื่อไฟล์ Shapefile นั้น (ไม่ต้องใส่นามสกุลไฟล์)
สำหรับแผนที่ที่จะสร้าง เราต้องการขอบเขตของย่านต่าง ๆ ในนิวยอร์ก ซึ่งดาวน์โหลดข้อมูล Neighborhood Tabulation Areas ตามที่นิยามโดยเมืองนิวยอร์กมาจาก Open Data Platform of the Department of City Planning ไฟล์ที่ดาวน์โหลดอยู่ในรูปแบบ zip archive และเราได้แตกไฟล์ไว้ใน working directory ของคุณแล้ว
จะใช้ฟังก์ชัน dir() จาก base R เพื่อตรวจสอบเนื้อหาใน working directory จากนั้นจึงอ่าน Shapefile เข้าสู่ R
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้างภาพข้อมูลภูมิสารสนเทศใน R
คำแนะนำการฝึกหัด
- เรียก
dir()โดยไม่ส่งอาร์กิวเมนต์ใด ๆ เพื่อดูชื่อโฟลเดอร์ของ Shapefile - เรียก
dir()โดยส่ง path ไปยังโฟลเดอร์ของ Shapefile เพื่อดูไฟล์ที่อยู่ภายใน - เมื่อทราบชื่อโฟลเดอร์และชื่อไฟล์แล้ว ให้ใช้
readOGR()อ่าน Shapefile ของย่านต่าง ๆ เก็บไว้ในออบเจกต์ชื่อneighborhoods - ตรวจสอบเนื้อหาโดยเรียก
summary()บนneighborhoods - ตรวจสอบเนื้อหาโดย plot
neighborhoods
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
library(sp)
library(rgdal)
# Use dir() to find directory name
# Call dir() with directory name
# Read in shapefile with readOGR(): neighborhoods
# summary() of neighborhoods
# Plot neighborhoods