18, พ.ค. 2020
R-studio : ( EP#08 ) การนำเข้าพิกัด GPS จาก google sheet ด้วยโปรแกรม R

R-studio : ( EP#08 ) การนำเข้าพิกัด GPS จาก google sheet ด้วยโปรแกรม R
ในตอน R-Studio (EP#08) นี้ เราจะเรียนรู้การ นำเข้าพิกัด GPS จาก Google Sheet เพื่อแสดงผลเชิงพื้นที่ใน R โดยเฉพาะเมื่อต้องการใช้ข้อมูลจากฟอร์มออนไลน์ เช่น Google Forms แล้วนำค่าพิกัดมาสร้างแผนที่แบบ Interactive ผ่านแพ็กเกจอย่าง leaflet, googlesheets4, และ sf ในโปรแกรม RStudio

R-studio : ( EP#08 ) การนำเข้าพิกัด GPS จาก google sheet ด้วยโปรแกรม R

แหล่งข้อมูล R script และตัวอย่างไฟล์ google sheet https://docs.google.com/forms/u/1/d/e/1FAIpQLSc6J4E8IJ8OUqcO9UnLYt4iIG4kQTQTTfL-b9IfaDm5YWsOTg/viewform

    

🎯 วัตถุประสงค์ของบทเรียน

  • เชื่อมต่อ Google Sheet ที่เก็บค่าพิกัด (Latitude / Longitude)
  • แปลงข้อมูลให้อยู่ในรูป sf (simple feature) สำหรับใช้ใน GIS
  • แสดงผลข้อมูลตำแหน่ง (point) บนแผนที่ Leaflet

🔗 ดาวน์โหลดชุดข้อมูลและ R script

สามารถกรอกแบบฟอร์มและดาวน์โหลดตัวอย่างได้ที่
👉 Google Form สำหรับ R script และ Google Sheet ตัวอย่าง


🧪 ตัวอย่าง R Code

rCopyEdit# ติดตั้งและเรียกใช้งานแพ็กเกจ
install.packages(c("googlesheets4", "dplyr", "sf", "leaflet"))

library(googlesheets4)
library(dplyr)
library(sf)
library(leaflet)

# เชื่อมต่อ Google Sheet (ใช้ public หรือ OAuth login)
sheet_url <- "https://docs.google.com/spreadsheets/d/1xyz1234567890abcd/edit#gid=0"

# อ่านข้อมูลจาก Google Sheet
gps_data <- read_sheet(sheet_url)

# ตรวจสอบชื่อฟิลด์ ควรมี latitude และ longitude
head(gps_data)

# แปลงให้อยู่ในรูป sf (Simple Features)
gps_sf <- st_as_sf(gps_data,
                   coords = c("longitude", "latitude"),
                   crs = 4326)  # WGS84

# แสดงผลบนแผนที่ leaflet
leaflet(data = gps_sf) %>%
  addTiles() %>%
  addCircleMarkers(radius = 5, color = "red", label = ~as.character(name))

🧭 ข้อแนะนำทางเทคนิค

หัวข้อคำอธิบาย
🔐 การเข้าถึงต้องเปิด Google Sheet ให้ แชร์แบบ public หรือให้สิทธิ์กับ googlesheets4 ผ่าน OAuth
📌 CRSกำหนด crs = 4326 สำหรับพิกัด GPS ทั่วไป (WGS 84)
🗂 Field nameควรตั้งชื่อคอลัมน์ใน Google Sheet เป็น latitude, longitude, name, description เป็นต้น
🖼 Labelใช้ label ใน leaflet เพื่อแสดงชื่อจุด เช่น ชื่อโรงพยาบาลหรือแปลงเกษตร

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

  • สร้างแผนที่จากข้อมูลการสำรวจภาคสนามที่เก็บจาก Google Forms
  • ติดตามการเคลื่อนไหวของผู้ป่วย หรือโครงการภาคสนาม
  • สร้าง Dashboard ภาคสนาม สำหรับงาน GIS ด้วย R และ R-Shiny

ใส่ความเห็น

Related Posts