R-studio : ( EP#16 ) แสดงแผนที่ Spatial และตาราง Attribute ในรูปแบบ HTML ด้วยโปรแกรม R
R-studio : ( EP#16 ) แสดงแผนที่ Spatial และตาราง Attribute ในรูปแบบ HTML ด้วยโปรแกรม R
ลงทะเบียนเพื่อขอตัวอย่างไฟล์ R script ได้ที่ https://docs.google.com/forms/d/e/1FAIpQLSfiVJN1_4wCShJvyqmgtRb37htOEP-jqz_XjLm60u6UdL0DJg/viewform
🔍 วัตถุประสงค์ของบทเรียน
บทเรียนนี้ออกแบบมาเพื่อให้ผู้เรียนสามารถ:
- แสดงแผนที่เชิงพื้นที่ (Spatial Map) ด้วย
leaflet
แบบ interactive - แสดงตารางข้อมูลคุณลักษณะ (Attribute Table) ควบคู่กันด้วย
DT
- รวมทุกองค์ประกอบในรูปแบบ HTML สำหรับการนำเสนอหรือเผยแพร่ผ่านเว็บไซต์
🧰 เครื่องมือและแพ็กเกจที่ใช้
rCopyEditinstall.packages(c("sf", "leaflet", "DT", "rmarkdown", "htmlwidgets"))
sf
สำหรับโหลดข้อมูล shapefileleaflet
สำหรับแผนที่อินเทอร์แอกทีฟDT
สำหรับตารางข้อมูลrmarkdown
สำหรับจัดหน้า HTMLhtmlwidgets
สำหรับการ export
📁 โครงสร้าง R Markdown (.Rmd) ตัวอย่าง
markdownCopyEdit---
title: "Spatial Map & Attribute Table"
output: html_document
---
```{r setup, include=FALSE}
library(sf)
library(leaflet)
library(DT)
{rCopyEditshp <- st_read("districts.shp", quiet = TRUE)
attr_table <- st_drop_geometry(shp)
🗺️ Interactive Map
{rCopyEditleaflet(shp) %>%
addTiles() %>%
addPolygons(label = ~DISTRICT_NAME, color = "#444444", weight = 1,
fillColor = ~colorNumeric("YlGnBu", shp$AREA)(AREA),
fillOpacity = 0.6)
📊 Attribute Table
{rCopyEditdatatable(attr_table, options = list(pageLength = 10, scrollX = TRUE))
yamlCopyEdit
---
### 💡 ข้อแนะนำการใช้งาน
- **ฟอร์แมตชื่อไฟล์ shapefile** ให้ครบทุกไฟล์ (ต้องมี `.shp`, `.shx`, `.dbf`, `.prj`)
- ข้อมูลภาษาไทยใน `sf` อาจแสดงผิดใน HTML หากไม่ได้บันทึกเป็น UTF-8
- สำหรับผู้เริ่มต้น ควรตั้ง working directory และใช้ `st_read("path/to/file.shp")` แบบเต็มเส้นทาง
---
### 📤 การเผยแพร่
หลังจาก `Knit` ไฟล์ `.Rmd` แล้วจะได้ `.html` ที่สามารถ:
- เปิดด้วย browser ทั่วไป
- แชร์ทางอีเมล
- อัปโหลดขึ้น Google Drive / GitHub Pages
- ฝังบนเว็บไซต์/Google Sites ได้
---
### 📥 ขอรับตัวอย่างไฟล์ R Markdown (.Rmd)
📌 ลงทะเบียนเพื่อขอลิงก์ดาวน์โหลดไฟล์ตัวอย่าง R script:
👉 [Google Form สำหรับขอ R script](https://docs.google.com/forms/d/e/1FAIpQLSfiVJN1_4wCShJvyqmgtRb37htOEP-jqz_XjLm60u6UdL0DJg/viewform)
---
หากต้องการต่อยอดไปยัง **การแสดงหลายชั้นข้อมูล (multi-layer map)**, **เชื่อมข้อมูลกับ Google Sheet**, หรือ **การเขียนแบบ dashboard (Shiny)** — สามารถแจ้งเพื่อขอคำแนะนำเพิ่มเติมได้ครับ.