Re: [問題] 反向地理編碼(用座標查行政區)

作者: locka (locka)   2017-04-14 16:56:50
剛好有做過同樣的事情
可以使用sp package 的 SpatialPointsDataFrame()跟over()
(誠如cywhale大大提到的,先匯入台灣行政區shape file檔案)
df為所求經緯度的data frame
twn_shp為匯入的shape file (class為SpatialPolygonsDataFrame)
spdf <- SpatialPointsDataFrame(coords=(df$lng,df$lat), data=df,
proj4string = CRS("+proj=longlat +ellps=GRS80 +no_defs"))
result <- over(spdf, twn_shp)
over會回傳一個新的SpatialPointsDataFrame
其中
result$Substitute為村里
result$T_Name為行政區
result$C_Name為都市...
之前研究這個的時候才發現sp的over很強大
(help over會看到一整份pdf檔...有很多有趣的用法)
這應該是更快更直接的方法,分享給大家~
ps.
是說有人知道可以幫忙解釋proj4string那段嗎 哈哈
那裏是我上網看別人的範例這樣下參數,
應該跟指定座標系統有關 不過不清楚其含義
※ 引述《BUQ (固執又暴燥)》之銘言:
: [問題類型]:
:
: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
:
: [軟體熟悉度]:
: 請把以下不需要的部份刪除
: 一個月新手(沒寫過程式,R 是我的第一次)
: [問題敘述]:
:
: 小弟有41*86=3526筆資料
: 每個資料都是 WGS84座標系統
: 要如何知道每個座標所在的行政區...例如:新北市 土城區
: 各方高手有什麼解法比較快的....
: 小弟現在是一個解法都沒有
: 或者 相關的套件 關鍵字 也行
: 座標格式如下 一行經度 一行緯度
: [1] 121.998
: [1] 21.52036
:
: [程式範例]:
:
:
: [環境敘述]:
:
: 請提供 sessionInfo() 的輸出結果,
: R version 3.3.3 (2017-03-06)
: Platform: x86_64-w64-mingw32/x64 (64-bit)
: Running under: Windows >= 8 x64 (build 9200)
:
: [關鍵字]: 反向地理編碼
作者: BUQ (固執又暴燥)   2017-04-14 22:52:00
謝謝請問匯入是用哪個套件的哪個函數?感恩~~~
作者: cywhale (cywhale)   2017-04-15 10:03:00
只知道%over% 原來over可以傳回這些結果~
作者: locka (locka)   2017-04-17 17:41:00
cywhale大,over跟%over%好像是一樣的意思噢!

Links booklink

Contact Us: admin [ a t ] ucptt.com