首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在R或Python中将County FIPS坐标转换为经度坐标?

如何在R或Python中将County FIPS坐标转换为经度坐标?
EN

Stack Overflow用户
提问于 2019-06-18 05:48:18
回答 1查看 2K关注 0票数 0

由于被世界卫生组织的IARC列为可能的致癌物,草甘磷最近成为了聚光灯下的焦点。我对美国的杀虫剂使用模式感到好奇,并用R-Shiny中的交互式地图绘制了这些数据,例如,使用leaflet。

可以在这里找到县一级对杀虫剂使用的估计:https://water.usgs.gov/nawqa/pnsp/usage/maps/county-level/

数据使用州/县FIPS代码进行报告。我需要使用经纬度坐标来显示数据。

从lat-long转换到FIPS似乎很容易,如下面的API所示:https://geo.fcc.gov/api/census/

如何反其道而行?

EN

回答 1

Stack Overflow用户

发布于 2019-06-24 11:35:21

我发现的解决方案需要使用以下五个选项中的一个来自here.com的REST API。我首先使用library(tigris)中的fips_codes表交叉引用了来自美国地质调查局表与县和州名称的FIPS代码。这为我提供了要放在地址行中的名称,如Boulder County, CO。接下来,我编写了一个小函数here_now,示例用法如下:

代码语言:javascript
复制
here_now("Boulder+County,+CO") # $lat: 40.08791; $lon: -105.3447

实现是使用library(jsonlite)中的fromJSON调用REST API

代码语言:javascript
复制
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密钥,不需要信用卡)- Data Science Toolkit的RDSK实现-通过同名R包的Geonames服务-这里API(需要AppID和AppCode,免费增值模型)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56639306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档