R-studio : ( EP#04 ) แสดง polygon Shapefile ใน leaflet ด้วยโปรแกรม R
R-studio : ( EP#04 ) แสดง polygon Shapefile ใน leaflet ด้วยโปรแกรม R
การเรียนรู้ EP#04: การแสดงผล Polygon Shapefile บน Leaflet ด้วย R เป็นจุดเริ่มต้นของการสร้าง Web GIS Interactive บนแพลตฟอร์ม R โดยเฉพาะเมื่อใช้ข้อมูลเชิงพื้นที่ (Spatial Data) เช่น Shapefile ซึ่งมีโครงสร้างเชิงภูมิศาสตร์ที่หลากหลาย เช่น ขอบเขตลุ่มน้ำ (Basin), จังหวัด, เขตการใช้ที่ดิน ฯลฯ
R script ประกอบการเรียนรู้ https://bit.ly/2ArQ26w
ตัวอย่าง shapefile [BASIN] https://bit.ly/2WWDDPk
🎯 วัตถุประสงค์ของบทเรียน
- เพื่อ แสดงขอบเขตเชิงพื้นที่ (Polygon) จาก Shapefile ลงบน Leaflet Map
- เพื่อเรียนรู้การจัดการ spatial object ด้วย
sf
และการ render ด้วยleaflet
- เพื่อสื่อสารข้อมูลผ่าน popup, label, custom styling
📥 ดาวน์โหลดไฟล์เรียนรู้
- 📄 R Script ตัวอย่าง: https://bit.ly/2ArQ26w
- 🗺️ Shapefile ลุ่มน้ำ (BASIN): https://bit.ly/2WWDDPk
🛠 ขั้นตอนการแสดงผล Shapefile ใน Leaflet
1. ติดตั้งและเรียกใช้งานแพ็กเกจ
rCopyEditinstall.packages("sf")
install.packages("leaflet")
library(sf)
library(leaflet)
2. อ่านข้อมูล Shapefile (ต้องรวมไฟล์ .shp, .shx, .dbf, .prj)
rCopyEditbasin <- st_read("BASIN.shp") # เปลี่ยน path ให้ตรงกับเครื่อง
3. ตรวจสอบข้อมูลเบื้องต้น
rCopyEdithead(basin)
st_crs(basin)
ควรตรวจสอบว่า CRS เป็น
WGS84 (EPSG:4326)
หากไม่ใช่ ให้แปลงด้วย:
rCopyEditbasin <- st_transform(basin, crs = 4326)
4. แสดงผลด้วย Leaflet
rCopyEditleaflet(data = basin) %>%
addTiles() %>%
addPolygons(
fillColor = "lightgreen",
weight = 1,
color = "darkgreen",
fillOpacity = 0.5,
popup = ~BASIN_NAME # ชื่อฟิลด์ที่ต้องการให้แสดง
)
💡 เทคนิคเพิ่มเติม
ฟีเจอร์ | ตัวอย่าง |
---|---|
แสดง Tooltip | label = ~BASIN_NAME |
เปลี่ยนสีตามค่าฟิลด์ | ใช้ colorBin() หรือ colorFactor() จาก RColorBrewer |
เพิ่ม Layer Control | addLayersControl() เพื่อเปลี่ยนเปิด-ปิดชั้นข้อมูล |
ใช้ GeoJSON แทน SHP | ใช้ geojsonio::geojson_read() |
🌍 การประยุกต์ใช้งาน
- แสดง ขอบเขตลุ่มน้ำ เพื่อวิเคราะห์เชิงนิเวศหรืออุทกวิทยา
- แสดง พื้นที่เสี่ยงน้ำท่วม หรือ พื้นที่เพาะปลูก
- สร้าง WebGIS Dashboard สำหรับผู้ใช้งานทั่วไป
🔗 แหล่งเรียนรู้เสริม
- ติดตั้ง R และ RStudio บน Windows
- แหล่งข้อมูล GIS เปิด เช่น จาก GISTDA, ONEP, สสนก.
- R Spatial Cheat Sheet by RStudio
📌 สรุป
การแสดงผล Polygon Shapefile ใน Leaflet ด้วย R เป็นพื้นฐานของการสร้างแผนที่โต้ตอบเชิงพื้นที่สำหรับการวิจัย การเรียนการสอน และระบบข้อมูลภูมิศาสตร์บนเว็บ ช่วยเปิดโอกาสในการสร้างระบบ GIS สำหรับหน่วยงานท้องถิ่นหรือชุมชนด้วยเทคโนโลยีโอเพนซอร์ส