首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用FCC API将经度/经度转换为县代码

使用FCC API将经度/经度转换为县代码
EN

Stack Overflow用户
提问于 2020-11-05 15:23:57
回答 1查看 180关注 0票数 0

我之前知道如何使用FCC API (Apply an API Function over 2 columns of Dataframe, Output a Third Column)将经纬度转换为县FIPS代码,这要归功于@caldwellst和@rohit。不幸的是,FCC修改了API,我不知道如何修复代码才能再次工作。

这里有一个指向新接口的链接:https://geo.fcc.gov/api/census/

这是我的数据框架:

代码语言:javascript
运行
AI代码解释
复制
> head(df_coords)

# A tibble: 6 x 3
     lon   lat censusYear
   <dbl> <dbl>      <dbl>
1 -112.   33.4       2010
2  -73.2  44.5       2010
3  -88.2  41.9       2010
4  -88.2  41.9       2010
5  -88.4  41.9       2010
6  -77.1  39.0       2010

下面是我之前借用/改编的函数以及运行它的命令:

代码语言:javascript
运行
AI代码解释
复制
geo2fips <- function(latitude, longitude) { 
  url <- "https://geo.fcc.gov/api/census/block/find?format=json&latitude=%f&longitude=%f"
  url <- sprintf(url, latitude, longitude)
  json <- RCurl::getURL(url)
  json <- RJSONIO::fromJSON(json)
  as.character(json$County['FIPS'])
}

df_fips$county_fips <- mapply(geo2fips, df_fips$lat, df_fips$lon)

下面是我在运行它时得到的错误消息:

代码语言:javascript
运行
AI代码解释
复制
 Error in function (type, msg, asError = TRUE)  : 
  Unknown SSL protocol error in connection to geo.fcc.gov:443 

有人能帮我解决这个问题吗?我认为这可能与人口普查年份的要求有关,所以我尝试修改代码,如下所示,但它返回了相同的错误消息:

代码语言:javascript
运行
AI代码解释
复制
 geo2fips <- function(latitude, longitude, censusYear) { 
+   url <- "https://geo.fcc.gov/api/census/block/find?format=json&latitude=%f&longitude=%f&censusYear=%f"
+   url <- sprintf(url, latitude, longitude, censusYear)
+   json <- RCurl::getURL(url)
+   json <- RJSONIO::fromJSON(json)
+   as.character(json$County['FIPS'])
+ }
> df_coords$county_fips <- mapply(geo2fips, df_coords$lat, df_coords$lon, df_coords$censusYear)
 Error in function (type, msg, asError = TRUE)  : 
  Unknown SSL protocol error in connection to geo.fcc.gov:443 
> 

非常感谢任何能帮上忙的人。-Mike

EN

回答 1

Stack Overflow用户

发布于 2020-11-05 15:43:49

对URL和参数做了一些细微的更改-您可以使用:

代码语言:javascript
运行
AI代码解释
复制
geo2fips <- function(latitude, longitude) { 
  url <- "https://geo.fcc.gov/api/census/area?lat=%f&lon=%f&format=json"
  res <- jsonlite::fromJSON(sprintf(url, latitude, longitude))[["results"]][["county_fips"]]
  unique(res)
}

如果使用jsonlite包而不是RSJONIO,也可以稍微简化一些,因为前者直接接受连接。

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

https://stackoverflow.com/questions/64700195

复制
相关文章
[随缘一题]排序数组中的单个元素
因为我发现每日一题太难了,,,总会出现一些加班已经很累了(懒得不想动)的时候,而且周末有事多做两道题都叫做同一天的每日一题也让我这个强迫症贼难受.
呼延十
2019/07/01
2.4K0
怎样从数组中删除给定元素_java数组包含某个元素
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/169528.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/22
5.5K0
怎样从数组中删除给定元素_java数组包含某个元素
java打印数组元素_java Arrays快速打印数组的数据元素列表案例
public static strictfp void main(String[] args) {
全栈程序员站长
2022/08/23
1.8K0
java打印数组元素_java Arrays快速打印数组的数据元素列表案例
寻找旋转排序数组中的最小值
题意 假设一个旋转排序的数组其起始位置是未知的(比如 0 1 2 4 5 6 7 可能变成是 4 5 6 7 0 1 2)。 你需要找到其中最小的元素。 你可以假设数组中不存在重复的元素。 样例 给出 [4,5,6,7,0,1,2] 返回 0。 代码实现: 顺序查找 public class Solution { /** * @param nums: a rotated sorted array * @return: the minimum number in the arra
一份执着✘
2018/06/04
1.7K0
python打印数组的全部元素
学习Python的人都知道数组是最常用的的数据类型,为了保证程序的正确性,需要调试程序。因此,需要在程序中控制台中打印数组的全部元素,如果数组的容量较小,例如 只含有10个元素,采用print命令或print函数可以答应出数组中的每个元素;如果数组的容量过大,只能打印出数组的部分元素,打印结果只包含开始部分元素和结尾部分元素,中间元素省略。省略的部分不利于程序的调试,因此,为了方便调试程序,需要将数组中的元素全部打印出来。
py3study
2020/01/13
4.2K0
java如何打印数组的值,Java打印数组元素的值[通俗易懂]
本篇文章帮大家学习java打印数组元素的值,包含了Java打印数组元素的值使用方法、操作技巧、实例演示和注意事项,有一定的学习价值,大家可以用来参考。
全栈程序员站长
2022/08/11
4.8K0
旋转排序数组的最小数
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。
你的益达
2020/08/05
3740
删除排序数组中重复元素的方法
在上一篇文章中讨论了关于如何删除排序链表中重复元素的方法。那么如果底层数据结构是数组又将如何处理呢?
冬天里的懒猫
2020/08/03
2K0
java去重复元素并打印_Java打印数组中重复元素
在此程序中,我们需要打印数组中存在的重复元素。这可以通过两个循环来完成。第一个循环将选择一个元素,第二个循环将通过将所选元素与其他元素进行比较来遍历整个数组。如果找到匹配项,则打印重复的元素。
全栈程序员站长
2022/08/13
1.5K0
java去重复元素并打印_Java打印数组中重复元素
JavaScript数组元素排序
使用for循环遍历出数组;然后判断i号元素和i+1号大小,如果判断大于,存储小的元素,如果判断小于存储大的元素
十月梦想
2018/08/29
9980
寻找旋转排序数组中的最小值 II
leecode 154 package main import "fmt" /* 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 请找出其中最小的元素。 注意数组中可能存在重复的元素。 示例 1: 输入: [1,3,5] 输出: 1 示例 2: 输入: [2,2,2,0,1] 输出: 0 */ func main() { fmt.Printf("%+v",findMin([]in
用户7962184
2020/11/20
1.1K0
求大于n的最小质数
hash取模运算时选取比较大的质数,就可以有效减少冲突。 有定理,一个数如果不能被2到它的平方根的所有数整除,它就是质数。
Michael阿明
2021/02/20
1.2K0
153. 寻找旋转排序数组中的最小值
( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。
张伦聪zhangluncong
2022/10/26
7210
153. 寻找旋转排序数组中的最小值
已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到: 若旋转 4 次,则可以得到 [4,5,6,7,0,1,2] 若旋转 7 次,则可以得到 [0,1,2,4,5,6,7] 给你一个元素值 互不相同 的数组 nums 示例 1: 输入:nums = [3,4,5,1,2] 输出:1 解释:原数组为 [1,2,3,4,5] ,旋转 3 次得到输入数组。 示例 2: 输入:n
编程张无忌
2021/06/22
7740
153. 寻找旋转排序数组中的最小值
153. 寻找旋转排序数组中的最小值
( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。
早起的鸟儿有虫吃
2023/03/28
7420
153. 寻找旋转排序数组中的最小值
查找排序数组的最小值(js)
在由小到大已排序的未知数组中,以某个元素为支点旋转(好比将序列沿着前后顺序围成环移动)得到了一个数组,请找出该数组的最小值。比如倘若原数组(对我们而言,并不知道原数组是什么)为0,1,2,3,4,5,6,7,可能经过旋转后得到数组 3,4,5,6,7,0,1,2。请找出旋转后数组的最小值(假定数组中没有重复数字)。
用户1332428
2018/07/30
3.1K0
LeetCode: 153. 寻找旋转排序数组中的最小值
链接: https://leetcode.cn/problems/find-minimum-in-rotated-sorted-array/
用户3578099
2022/11/25
1K0
LintCode-159. 寻找旋转排序数组中的最小值
假设一个排好序的数组在其某一未知点发生了旋转(比如0 1 2 4 5 6 7 可能在第3和第4个元素间发生旋转变成4 5 6 7 0 1 2)。
悠扬前奏
2019/05/29
6860
LeetCode51|寻找旋转排序数组中的最小值
( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。
码农王同学
2020/09/10
5090
点击加载更多

相似问题

计算数组中大于给定的int x的最小元素的程序(使用递归)。

13

在未排序的数组中查找第X个最小元素

313

排序数组中最小数大于给定数的数组索引

31

树中大于x的最小元素

20

java中未排序数组中的最小元素

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