我的数据框df
有三个变量:city
,state
和country
。我想计算3件事
我可以将dismo包用于1,但无法找到从df
“批量处理”的方法,而不是直接复制和粘贴城市,州和国家/地区名称geocode(c())
代码。至于2和3,我完全被难住了。任何帮助将不胜感激。
编辑注:对于这篇文章的其他读者......我很感谢Paul和Spacedman的帮助。系统不允许我将多个响应标记为正确。我给了保罗竖起大拇指,因为他在太空人面前回应。请阅读他们两人花时间写的内容。感谢。
答案 0 :(得分:3)
我将分享我对每一点的看法:
对于1.您可以使用paste
为地理编码创建输入向量:
df$geocode_string = with(df, paste(city, state, country, sep = ", "))
coords_latlong = geocode(df$geocode_string)
关于第2点,在将df
转换为sp
包SpatialPointsDataFrame
提供的类之后,请查看coordinates
中的sp
函数}},你可以使用spDistsN1找到所有点到另一个点的距离。
决赛有点棘手,找到你需要DEM(数字高程模型)的高度。也许有一种更为简单的方法geocode
,我不知道。
答案 1 :(得分:2)
您可以使用geonames.org服务查询SRTM或ASTER高程数据库中的位置:
http://www.geonames.org/export/web-services.html
你甚至可以使用我的geonames包:
https://r-forge.r-project.org/projects/geonames/
让生活更轻松。