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