地理编码和反向地理编码
注:示例改编自潮汐编码器包裹
在第一个示例中,我们将使用arc_geo()
功能。请注意电弧编码器可以立即工作,并且您不需要提供任何API密钥即可开始地理编码!
图书馆(电弧编码器)
图书馆(dplyr公司)
#用地址创建数据帧
一些地址(_A) <- 三叉戟(
~名称,~地址,
“白宫”,“华盛顿特区宾夕法尼亚大道西北1600号”,
“泛美金字塔”,加利福尼亚州旧金山蒙哥马利街600号,邮编94111,
“威利斯大厦”,“233 S Wacker Dr,芝加哥,IL 60606”
)
#地理编码地址
纬度长度(_L) <- 圆弧几何(_G)(某些地址$地址,纬度= “纬度”,长= “经度”)
#> | | | 0% | |================= | 33% | |================================= | 67% | |==================================================| 100%
在本例中,只从geocoder服务返回了几个字段,但是full_results=真
可用于从geocoder服务返回所有数据。
华盛顿特区宾夕法尼亚大道西北1600号 |
38.89768 |
-77.03655 |
哥伦比亚特区华盛顿宾夕法尼亚大道西北1600号,20500 |
100 |
-77.03655 |
38.89768 |
-77.03755 |
38.89668 |
-77.03555 |
38.89868 |
4326 |
4326 |
加利福尼亚州旧金山蒙哥马利街600号,邮编94111 |
37.79517 |
-122.40278 |
加利福尼亚州旧金山蒙哥马利街600号,94111 |
100 |
-122.40278 |
37.79517 |
-122.40378 |
37.79417 |
-122.40178 |
37.79617 |
4326 |
4326 |
伊利诺伊州芝加哥S Wacker Dr 233号,邮编60606 |
41.87877 |
-87.63580 |
伊利诺伊州芝加哥S Wacker Dr 233号,邮编60606 |
100 |
-87.63580 |
41.87877 |
-87.63680 |
41.87777 |
-87.63480 |
41.87977 |
4326 |
4326 |
要执行反向地理编码(从地理坐标中获取地址),可以使用arc_reverse_geo()
功能。参数类似于arc_geo()
函数,但现在我们用x个
和年
论据。这里使用的数据集来自上面的geocoder查询。在由地址
.
颠倒 <- 弧反向几何(
x个= 锁定(_L)$经度,
年= 纬度长度(_L)$纬度,
地址= “找到地址”
)
#> | | | 0% | |================= | 33% | |================================= | 67% | |==================================================| 100%
-77.03655 |
38.89768 |
白宫,1600 Pennsylvania Ave NW,Washington,DC,20500,USA |
-122.40278 |
37.79517 |
Mbia保险公司,美国加利福尼亚州旧金山蒙哥马利街600号,邮编94111 |
-87.63580 |
41.87877 |
Mary Kim博士,233 S Wacker博士,Lowr Level,芝加哥,伊利诺伊州,60606,美国 |
也可以使用以下命令搜索参考区域内或附近的特定位置类别筛选。请参阅数据库文档中的更多信息弧类别(_C)
.
在下面的示例中,我们将查找法国埃菲尔铁塔附近与食品相关的POI(即餐厅、咖啡店、面包店)。
图书馆(ggplot2) #用于绘图
#步骤1:使用多字段查询定位埃菲尔铁塔
埃菲尔铁塔 <- 弧_地理_多重(
地址= “埃菲尔铁塔之旅”,
城市= “巴黎”,
国家代码= “法国”,
语言代码= “法国”,
自定义查询= 列表(outFields(外场)= “长标签”)
)
#显示结果
埃菲尔铁塔 %>%
选择(离子,纬度,长标签)
#>#A台:1×3
#>lon-lat长标签
#><dbl><dbl><chr>
#>1 2.29 48.9 Tour Eiffel,Avenue Gustave Eiffel,75007,7e区,Par…
#使用lon、lat启动搜索并使用category=Food
食物埃菲尔 <- 弧地理类别(“食物”,
x个= 埃菲尔铁塔$离子,
年= 埃菲尔铁塔$纬度,
限制= 50,完整结果(_R)= 真的
)
#按食物类型绘制
ggplot图(埃菲尔铁塔,原子发射光谱(x个,年)) +
地理点(形状= 17,颜色= “红色”,大小= 4) +
地理点(数据= 食物埃菲尔,原子发射光谱(x个,年,颜色= 类型)) +
实验室(
标题= “埃菲尔铁塔附近的食物”,
字幕= “使用电弧编码器”,
颜色= “地点类型”,
x个= "",
年= "",
标题= “来自ArcGIS REST API服务的数据”
)
电弧编码器和r-空间
转换电弧编码器到平方英尺对象(地理空间格式):
图书馆(平方英尺)
食品安全 <- st_as_sf(食物埃菲尔,
坐标= c(c)(“lon”(长),“纬度”),
#结果坐标的CRS在这里
阴极射线管= 埃菲尔铁塔$工作狂
)
食品安全
#>包含50个功能和75个字段的简单功能集合
#>几何图形类型:POINT
#>尺寸:XY
#>边界框:xmin:2.289018 ymin:48.85511 xmax:2.299797 ymax:48.86257
#>大地测量CRS:WGS 84
#>#A台:50×76
#>q_类别q_x q_y q_bbox_xmin q_bbos_ymin q_bboxmax q_bb箱_ymax
#>*<chr><dbl><dbl><lgl><lgl>
#>1食品2.29 48.9 NA NA NA NA
#>2食品2.29 48.9 NA NA NA NA
#>3食物2.29 48.9 NA NA NA NA
#>4食物2.29 48.9 NA NA NA NA
#>5食物2.29 48.9 NA NA NA NA
#>6食物2.29 48.9 NA NA NA NA
#>7食品2.29 48.9 NA NA NA NA
#>8食品2.29 48.9 NA NA NA NA
#>9食品2.29 48.9 NA NA NA NA
#>10食品2.29 48.9 NA NA NA NA
#> # ℹ 40多行
#> # ℹ 还有69个变量:地址<chr>、分数<int>、x<dbl>、y<dbl]、,
#>#Loc_name<chr>,状态<chr],分数<int>,匹配地址<chr>,
#>#长标签<chr>,短标签<chr>,地址_类型<chr,
#>#PlaceName<chr>、Place_addr<chr>>、Phone<chr]、URL<chr>、Rank<int>、,
#>#AddBldg<chr>、AddNum<chr>AddNumFrom<chr、AddNum To<chr,
#>#添加范围<chr>、侧面<chr>>、StPreDir<chr]、StPreType<chr>…
ggplot图(食品安全) +
地理msf(原子发射光谱(颜色= 类型)) +
坐标_sf(阴极射线管= 3035)
请参阅其他文章,说明如何电弧编码器可以与结合使用传单创建动态地图和平方英尺和特拉创建静态地图.