實戰教學:如何使用鄉鎮邊界圖資篩選特定區域的空間資料

更新 發佈閱讀 8 分鐘

在資料分析工作中,我們經常需要根據地理邊界來篩選資料。本文將完整示範如何下載鄉鎮邊界圖資,提取特定區域(以雲林縣斗六市為例),並篩選出落在該區域內的資料點。

前言:為什麼需要空間篩選?

在氣象資料、社會經濟調查、商業分析等領域,我們常常需要將資料點對應到特定的行政區域。例如:

  • 找出特定城市內的氣象觀測站資料
  • 分析某區域內的商業活動分布
  • 統計鄉鎮層級的社會經濟指標

傳統的經緯度範圍篩選往往不夠精確,使用正式的行政邊界圖資可以確保篩選結果的準確性。

步驟一:環境準備

  1. 首先安裝及載入必要的 R 套件:
install.packages(c("sf", "dplyr", "ggplot2"))

library(sf) # 空間資料處理
library(dplyr) # 資料處理
library(ggplot2) # 資料視覺化
  1. 至政府資料開放平台,下載鄉鎮市區邊界圖資(網址:https://data.gov.tw/dataset/7441)

步驟二:讀取並篩選斗六市邊界

# 讀取鄉鎮市區界線檔案
town <- st_read("town_shapefile/TOWN_MOI_1120825.shp") %>%
# 篩選雲林縣斗六市
filter(COUNTYNAME == "雲林縣" & TOWNNAME == "斗六市") %>%
# 轉換座標系統為 WGS84 (經緯度)
st_transform(4326)

# 查看斗六市的基本資訊
print(paste("斗六市面積:", round(as.numeric(st_area(town))/1000000, 2), "平方公里"))
print(paste("村里數:", nrow(town)))

步驟三:準備範例資料集

假設我們有一個包含經緯度和溫度的資料集:

# 建立範例資料(實際應用中這可能是你的觀測資料)
set.seed(123)
data <- tibble(
year = rep(2023, 1000),
LON = runif(1000, 120.4, 120.7), # 斗六市周邊經度範圍
LAT = runif(1000, 23.6, 23.8), # 斗六市周邊緯度範圍
年平均溫度 = runif(1000, 22, 28)
)

print(paste("原始資料筆數:", nrow(data)))

步驟四:將資料轉換為空間物件

# 將普通資料框轉換為空間資料
data_sf <- st_as_sf(data,
coords = c("LON", "LAT"), # 指定經緯度欄位
crs = 4326) # 設定座標系統

# 確認座標系統一致
st_crs(data_sf) == st_crs(town)

步驟五:進行空間篩選

有幾種方法可以篩選落在斗六市內的點:

方法1:使用 st_join

# st_join() 會找出所有落在 town 多邊形範圍內的點位 
# left = FALSE 確保只保留落在範圍內的點

data1 <- st_join(data_sf, town, left = FALSE)

方法2:使用 st_intersects

# 找出與斗六市邊界相交的點
data2 <- st_intersects(data_sf, town, sparse = FALSE)
data2 <- data_sf[data2, ]

print(paste("斗六市內的資料筆數:", nrow(data2)))

步驟六:視覺化驗證結果

# 建立地圖驗證篩選結果
ggplot() +
# 繪製斗六市邊界
geom_sf(data = town, fill = "lightblue", alpha = 0.5) +
# 繪製所有原始資料點
geom_sf(data = data_sf, color = "gray", size = 1, alpha = 0.5) +
# 繪製斗六市內的點
geom_sf(data = data1, color = "red", size = 1) +
# 設定標題
labs(title = "斗六市範圍內資料點篩選結果",
subtitle = paste("總點數:", nrow(data_sf), ",斗六市內:", nrow(douliu_data))) +
theme_minimal()

步驟七:轉回一般資料框進行後續分析

# 將空間資料轉回普通資料框
data1_df <- data1 %>%
st_drop_geometry() # 移除空間資訊

# 現在可以進行一般的資料分析了
summary(data1_df$年平均溫度)

# 計算斗六市內的年平均溫度統計
data1_summary <- data1_df %>%
group_by(year) %>%
summarise(
平均溫度 = mean(年平均溫度),
最高溫度 = max(年平均溫度),
最低溫度 = min(年平均溫度),
資料點數 = n()
)

print(data1_summary)

實際應用案例

案例1:氣象資料分析

# 篩選特定年份的氣象觀測站資料
weather_stations <- read.csv("氣象站資料.csv") %>%
st_as_sf(coords = c("經度", "緯度"), crs = 4326)

douliu_stations <- weather_stations[st_intersects(weather_stations, town, sparse = FALSE), ]

案例2:商業據點分析

# 分析斗六市內的便利商店分布
convenience_stores <- read.csv("便利商店位置.csv") %>%
st_as_sf(coords = c("LON", "LAT"), crs = 4326)

douliu_stores <- convenience_stores[st_intersects(convenience_stores, town, sparse = FALSE), ]

常見問題與解決方案

Q1:座標系統不一致怎麼辦?

# 確認兩者的座標系統
st_crs(data_sf)
st_crs(town)

# 如果不一致,進行轉換
town <- st_transform(town, st_crs(data_sf))

Q2:如何處理跨邊界的點?

# 如果需要精確計算點在區域內的面積比例
area_ratio <- st_intersection(data_sf, town) %>%
mutate(area_ratio = as.numeric(st_area(geometry)) / as.numeric(st_area(data_sf)))
留言
avatar-img
留言分享你的想法!
avatar-img
慵懶貓系的小墨魚:數據外的日常觀察
2會員
39內容數
小墨魚,一位白天擅長資料分析與統計建模的數據工作者,夜裡則沉浸在書本與文字裡,透過閱讀與寫作與世界對話。工作之餘,也兼職統計家教,協助學生理解複雜的統計概念與軟體操作。這裡記錄我的書評、生活觀察、科技碎念,有時也寫下關於時間與情緒的小片段。願這些文字,成為我們在日常中相遇的溫柔片刻。
2025/09/24
在資料分析的世界裡,「相關」這個詞看似簡單,背後卻藏著許多細節。當我們想探討兩個變數的關係時,如果忽略了其他潛在的干擾因素,很容易得出錯誤的結論。 這篇文章將深入探討兩個容易混淆的統計概念:「半淨相關」和「淨相關」,並解釋為何在閱讀學術文獻時,需要特別留意它們的用法。
Thumbnail
2025/09/24
在資料分析的世界裡,「相關」這個詞看似簡單,背後卻藏著許多細節。當我們想探討兩個變數的關係時,如果忽略了其他潛在的干擾因素,很容易得出錯誤的結論。 這篇文章將深入探討兩個容易混淆的統計概念:「半淨相關」和「淨相關」,並解釋為何在閱讀學術文獻時,需要特別留意它們的用法。
Thumbnail
2025/09/11
你是否曾經看過這樣的新聞:「冰淇淋銷量越高,溺水人數也越高!」然後開始胡思亂想,難道吃冰淇淋會導致溺水嗎? 當然不是!我們都能直覺地想到,是因為「天氣熱」這個共同因素,導致冰淇淋熱賣,同時也讓更多人跑去游泳,從而增加了溺水機率。 在數據分析的世界裡,我們時常會遇到這種「虛假相關」的陷阱。而幫助我
Thumbnail
2025/09/11
你是否曾經看過這樣的新聞:「冰淇淋銷量越高,溺水人數也越高!」然後開始胡思亂想,難道吃冰淇淋會導致溺水嗎? 當然不是!我們都能直覺地想到,是因為「天氣熱」這個共同因素,導致冰淇淋熱賣,同時也讓更多人跑去游泳,從而增加了溺水機率。 在數據分析的世界裡,我們時常會遇到這種「虛假相關」的陷阱。而幫助我
Thumbnail
2025/09/11
你是否曾看過兩個完全相反的統計結論,卻不知道該相信哪一個?這可能不是因為數據造假,而是你遇到了統計學上最著名的陷阱之一——「辛普森悖論」。 什麼是辛普森悖論? 辛普森悖論描述的是一種讓人瞠目結舌的現象:當我們把數據分組來看時,每一組都顯示出同一種趨勢;但當我們把這些組的數據合并起來看整體時,趨
2025/09/11
你是否曾看過兩個完全相反的統計結論,卻不知道該相信哪一個?這可能不是因為數據造假,而是你遇到了統計學上最著名的陷阱之一——「辛普森悖論」。 什麼是辛普森悖論? 辛普森悖論描述的是一種讓人瞠目結舌的現象:當我們把數據分組來看時,每一組都顯示出同一種趨勢;但當我們把這些組的數據合并起來看整體時,趨
看更多
你可能也想看
Thumbnail
嗨~我是夢夢 ♡ 每年到這個時候,我都會默默開始列購物清單 畢竟「蝦皮雙11」真的太好買啦 🛒✨ 這次就想跟大家分享幾樣我自己平常有在用、也準備趁雙11補貨的好物, 順便聊聊我最近開始玩的「蝦皮分潤計畫」,怎麼讓分享變成小小被動收入 💰
Thumbnail
嗨~我是夢夢 ♡ 每年到這個時候,我都會默默開始列購物清單 畢竟「蝦皮雙11」真的太好買啦 🛒✨ 這次就想跟大家分享幾樣我自己平常有在用、也準備趁雙11補貨的好物, 順便聊聊我最近開始玩的「蝦皮分潤計畫」,怎麼讓分享變成小小被動收入 💰
Thumbnail
分享如何透過蝦皮解決毛孩(多芬)因換季和食物引發的皮膚過敏問題,從選用單一蛋白質的火雞肉主食,到利用寵物防舔衣舒緩傷口,並結合蝦皮雙11購物節的優惠資訊與蝦皮分潤計畫的實用教學。
Thumbnail
分享如何透過蝦皮解決毛孩(多芬)因換季和食物引發的皮膚過敏問題,從選用單一蛋白質的火雞肉主食,到利用寵物防舔衣舒緩傷口,並結合蝦皮雙11購物節的優惠資訊與蝦皮分潤計畫的實用教學。
Thumbnail
台中搬家服務的主要區域包括台中市所有行政區,如中區、東區、南區、西區、北區、北屯區、西屯區、南屯區、太平區、大里區、霧峰區、烏日區、豐原區、后里區、石岡區、東勢區、和平區、新社區、潭子區、大雅區、神岡區、大肚區、沙鹿區、龍井區、大甲區、外埔區和大安區。
Thumbnail
台中搬家服務的主要區域包括台中市所有行政區,如中區、東區、南區、西區、北區、北屯區、西屯區、南屯區、太平區、大里區、霧峰區、烏日區、豐原區、后里區、石岡區、東勢區、和平區、新社區、潭子區、大雅區、神岡區、大肚區、沙鹿區、龍井區、大甲區、外埔區和大安區。
Thumbnail
圖解/地震防災不慌張! 家戶必備「緊急避難包」 桃園買房筆記【14】織未來.醫療文教+未來捷運宅,附近有遠雄要蓋百貨唷(環境+格局+價格)
Thumbnail
圖解/地震防災不慌張! 家戶必備「緊急避難包」 桃園買房筆記【14】織未來.醫療文教+未來捷運宅,附近有遠雄要蓋百貨唷(環境+格局+價格)
Thumbnail
這是一份從 2023 年開始的記錄,捕捉當年度我看到的台灣土地重要大事。
Thumbnail
這是一份從 2023 年開始的記錄,捕捉當年度我看到的台灣土地重要大事。
Thumbnail
標題很聳動,結論先行:我覺得普通。因為我不想當內容農場標題黨,所以先寫前面摘要會出現的地方哈哈哈。老粉應該都知道,我在空閒的時候會上博碩士論文網,看看最近有沒有什麼值得分享且有學理基礎的系統性新知。今天找到一份《房地產文案模式:自然語言處理方法》論文,簡化後加上自己的心得與讀者們分享。
Thumbnail
標題很聳動,結論先行:我覺得普通。因為我不想當內容農場標題黨,所以先寫前面摘要會出現的地方哈哈哈。老粉應該都知道,我在空閒的時候會上博碩士論文網,看看最近有沒有什麼值得分享且有學理基礎的系統性新知。今天找到一份《房地產文案模式:自然語言處理方法》論文,簡化後加上自己的心得與讀者們分享。
Thumbnail
你知道不同類型的土地劃分,有不同的土地使用分區嗎?住宅區、商業區及工業區是什麼差異?本文就也來告訴你,該如何針對每一塊土地,做最適合用途的規劃喔!並且快速瞭解土地使用分區查詢的2種狀況,讓你可以更瞭解的喔! 土地使用分區是什麼? 在房地產市場中,所謂的「土地使用分區」就是指地方政府在規劃都市
Thumbnail
你知道不同類型的土地劃分,有不同的土地使用分區嗎?住宅區、商業區及工業區是什麼差異?本文就也來告訴你,該如何針對每一塊土地,做最適合用途的規劃喔!並且快速瞭解土地使用分區查詢的2種狀況,讓你可以更瞭解的喔! 土地使用分區是什麼? 在房地產市場中,所謂的「土地使用分區」就是指地方政府在規劃都市
Thumbnail
最近看到了一個新聞說到有一個以觀光業為主的縣巿某一建物的牆面設計案,是用中國的免費圖庫的二十四孝的圖,完全沒有經過設計就完全被搬到牆面使用了,而這面牆則是花了施工含設計192萬元的公帑。 原文出處如下:https://news.ltn.com.tw/news/life/breakingnews
Thumbnail
最近看到了一個新聞說到有一個以觀光業為主的縣巿某一建物的牆面設計案,是用中國的免費圖庫的二十四孝的圖,完全沒有經過設計就完全被搬到牆面使用了,而這面牆則是花了施工含設計192萬元的公帑。 原文出處如下:https://news.ltn.com.tw/news/life/breakingnews
Thumbnail
區段徵收是指政府以公共利益為目的,徵收一個區域內的土地,並將其重新規劃分配給原土地所有權人或其他受益者。市地重劃則是指由土地所有權人自願參與,將一個區域內的土地集中辦理重劃,並按比例分配給各參與者。但其執行主體、適用範圍、分配原則、補償方式等都有所差異。
Thumbnail
區段徵收是指政府以公共利益為目的,徵收一個區域內的土地,並將其重新規劃分配給原土地所有權人或其他受益者。市地重劃則是指由土地所有權人自願參與,將一個區域內的土地集中辦理重劃,並按比例分配給各參與者。但其執行主體、適用範圍、分配原則、補償方式等都有所差異。
Thumbnail
近期與身邊的伙伴們談起什麼是地方創生,總覺得需要留下一些簡單的紀錄做為未來的參考使用。 首先是「定義」為何;另外就是近年興起的地方創生品牌顧問的「品質保證」甚至獲得各大企業基金會的聘僱肯認與提供不少資源。除了社區總體營造資源左手換右手的問題之外,後者的狀況也顯示各方基金會高度需要地方創生相關績效。
Thumbnail
近期與身邊的伙伴們談起什麼是地方創生,總覺得需要留下一些簡單的紀錄做為未來的參考使用。 首先是「定義」為何;另外就是近年興起的地方創生品牌顧問的「品質保證」甚至獲得各大企業基金會的聘僱肯認與提供不少資源。除了社區總體營造資源左手換右手的問題之外,後者的狀況也顯示各方基金會高度需要地方創生相關績效。
Thumbnail
最近地政事務所都在發地籍重測的通知 很多民眾接到通知 很擔心自已的土地 權益是否受到影響 甚至會以為地籍重測就是土地重劃 擔心到睡不著覺 一、為什麼要實施地籍重測? 地籍圖重測為推動智慧國土發展策略 3D 國家底圖之重要空間基礎圖資,為各級政府推動公共建設生命週期導入數位孿生機
Thumbnail
最近地政事務所都在發地籍重測的通知 很多民眾接到通知 很擔心自已的土地 權益是否受到影響 甚至會以為地籍重測就是土地重劃 擔心到睡不著覺 一、為什麼要實施地籍重測? 地籍圖重測為推動智慧國土發展策略 3D 國家底圖之重要空間基礎圖資,為各級政府推動公共建設生命週期導入數位孿生機
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News