由于世界卫生组织的IARC将草甘膦列为可能的致癌物质,草甘膦最近引起了人们的关注。我对美国的农药使用方式感到好奇,例如使用传单在R-Shiny中使用交互式地图绘制此数据。
可在以下位置找到县的农药使用量估算值:https://water.usgs.gov/nawqa/pnsp/usage/maps/county-level/
使用州/县FIPS代码报告数据。我需要经纬度坐标才能显示数据。
似乎很容易从经纬度转换为FIPS,如此处的API所示:https://geo.fcc.gov/api/census/
如何反向行驶?
答案 0 :(得分:0)
我发现需要使用来自here.com的五个选项中的REST API(以下)的解决方案。我首先使用fips_codes
中的表library(tigris)
将USGS表中的FIPS代码与县名和州名进行了交叉引用。这给了我一些名字,像Boulder County, CO
一样放在地址行中。接下来,我编写了一个小函数here_now
,其示例用法为:
here_now("Boulder+County,+CO") # $lat: 40.08791; $lon: -105.3447
实现是使用fromJSON
中的library(jsonlite)
到REST API的调用
here_now <- function(searchtext) {
AppCode <- getOption("hereAppCode")
AppID <- getOption("hereAppID")
rootURL <- "https://geocoder.api.here.com/6.2/geocode.json?"
app_id = paste("app_id", AppID, sep="=")
app_code = paste("app_code", AppCode, sep="=")
searchtext = paste("searchtext", searchtext, sep="=")
request <- paste(paste(rootURL, app_id, sep=''), app_code, searchtext, sep="&")
response = fromJSON(request)
res <- list()
res$lat <- response$Response$View$Result[[1]]$Location$NavigationPosition[[1]]$Latitude
res$lon <- response$Response$View$Result[[1]]$Location$NavigationPosition[[1]]$Longitude
res
}
此外,我使用了FCC的反向地理编码API进行验证:https://geo.fcc.gov/api/census/
我尝试过的地理编码选项包括: -通过ggmap的Google API(需要API密钥,需要信用卡) -mapquest API(需要API密钥,无需信用卡) -数据科学工具包的RDSK实施 -通过同名的R包进行地名服务 -此处的API(需要AppID和AppCode,免费增值模式)