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