18, ก.ค. 2020
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 สำหรับโหลดข้อมูล shapefile
  • leaflet สำหรับแผนที่อินเทอร์แอกทีฟ
  • DT สำหรับตารางข้อมูล
  • rmarkdown สำหรับจัดหน้า HTML
  • htmlwidgets สำหรับการ 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)** — สามารถแจ้งเพื่อขอคำแนะนำเพิ่มเติมได้ครับ.

ใส่ความเห็น

Related Posts