r - 从 R 中的位置字符串中查找城市、州和国家/地区信息
问题描述
我有一个带有位置信息的字符串向量。这是我的字符串的一部分
location_information = c("Hartville, Ohio","Malaysia,Johor Bahru","Culpeper, irginia",
"MD", "Atlanta","Granada Hills CA","Kansas City, mo")
使用这个字符串向量,我想获取城市、州和国家信息。这是示例的所需输出。
desired_out = data.frame( Country = c("US","Malaysia",rep("US",5)),
State = c("Ohio",NA,"Virginia","Maryland","Georgia","California","Missouri"),
City = c("Hartville","Johor Bahru","Culpeper",NA, "Atlanta","Granada Hills","Kansas City"))
如何以一致的字符串格式获取该信息?
我想我可能需要使用 Google API 什么的。我怎样才能在 R 中做到这一点?
解决方案
这是一个使用来自openstreetmap 的地理编码来获取所需附加信息的解决方案。
请注意,您(可能)将无法一次性解析数百/数千个位置。
library(tmap)
library(tmaptools)
library(dplyr)
# sample data of locations
location_information = c("Hartville, Ohio","Malaysia,Johor Bahru","Culpeper, Virginia",
"MD", "Atlanta","Granada Hills CA","Kansas City, mo")
# geocode the locations
loc.data <- tmaptools::geocode_OSM(location_information, as.sf = TRUE)
# reverse geocode the locations for additional OSM data
tmaptools::rev_geocode_OSM(loc.data) %>%
dplyr::select(country, state, city, town, village, city_district)
# country state city town village city_district
# 1 United States Ohio <NA> <NA> Hartville <NA>
# 2 Malaysia Johor Johor Bahru <NA> <NA> <NA>
# 3 United States Virginia <NA> Culpeper <NA> <NA>
# 4 United States Maryland <NA> <NA> <NA> <NA>
# 5 United States Georgia Atlanta <NA> <NA> <NA>
# 6 United States California Los Angeles <NA> <NA> Granada Hills
# 7 United States Missouri Kansas City <NA> <NA> <NA>
推荐阅读
- drupal - Drupal 8 块和类型类
- python - Python:使类本身可调用
- linux - 项目错误:QT 中的未知模块:数据可视化
- reactjs - 使用 window.location.href 在反应中重定向页面时,Axios 无法正常工作
- javascript - 为什么从循环内部调用的回调处理程序没有从调用者那里获取适当的变量?
- javascript - 如何在 Netlify lambda 函数中从 Hugo 网站上的 Google Calendar API 获取请求
- sql - 使用 PASSWORD_VERIFY_FUNCTION 更改配置文件返回无效的函数名称
- reactjs - 使用 Material UI 进行主题嵌套
- java - Java 等价于 C++ Botan 函数调用
- r - 文件处理时间长