18, ม.ค. 2020
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

📥 ดาวน์โหลดไฟล์เรียนรู้


🛠 ขั้นตอนการแสดงผล 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  # ชื่อฟิลด์ที่ต้องการให้แสดง
  )

💡 เทคนิคเพิ่มเติม

ฟีเจอร์ตัวอย่าง
แสดง Tooltiplabel = ~BASIN_NAME
เปลี่ยนสีตามค่าฟิลด์ใช้ colorBin() หรือ colorFactor() จาก RColorBrewer
เพิ่ม Layer ControladdLayersControl() เพื่อเปลี่ยนเปิด-ปิดชั้นข้อมูล
ใช้ GeoJSON แทน SHPใช้ geojsonio::geojson_read()

🌍 การประยุกต์ใช้งาน

  • แสดง ขอบเขตลุ่มน้ำ เพื่อวิเคราะห์เชิงนิเวศหรืออุทกวิทยา
  • แสดง พื้นที่เสี่ยงน้ำท่วม หรือ พื้นที่เพาะปลูก
  • สร้าง WebGIS Dashboard สำหรับผู้ใช้งานทั่วไป

🔗 แหล่งเรียนรู้เสริม

  1. ติดตั้ง R และ RStudio บน Windows
  2. แหล่งข้อมูล GIS เปิด เช่น จาก GISTDA, ONEP, สสนก.
  3. R Spatial Cheat Sheet by RStudio

📌 สรุป

การแสดงผล Polygon Shapefile ใน Leaflet ด้วย R เป็นพื้นฐานของการสร้างแผนที่โต้ตอบเชิงพื้นที่สำหรับการวิจัย การเรียนการสอน และระบบข้อมูลภูมิศาสตร์บนเว็บ ช่วยเปิดโอกาสในการสร้างระบบ GIS สำหรับหน่วยงานท้องถิ่นหรือชุมชนด้วยเทคโนโลยีโอเพนซอร์ส

ใส่ความเห็น

Related Posts