使用r

时间:2017-10-03 18:44:55

标签: r google-maps reverse-geocoding googleway

我使用googleway库通过Google Maps API运行了一大堆google_reverse_geocode调用,我有几个问题。

我的初次致电如下:

loczip <- lapply(seq(nrow(LonLat)), function(i){
google_reverse_geocode(location = c(LonLat$`Centerlat`[i],LonLat$`Center Long`[i]),
                       result_type=c("street_address"),
                       location_type="rooftop",
                       key = "**API KEY HERE**",
                       simplify = TRUE)
})

其中LonLat是包含12,207个观测值和2个变量的列表,中心纬度和中心长度。此调用基于我找到的答案here

我的输出是12,207个元素的大型列表。到目前为止,我一直在将这些数据导出为干净的格式时遇到问题。

我想知道是否有更好的格式化输出的方法,因此我得到的值不是列表,而是数据框或矩阵。亲爱的,我想知道是否有一种很好的方法可以将现有输出解析为数据框或类似的用途。我的最终目标是将此数据导出为.csv。

我的输出示例如下:

> loczipShort[5]
[[1]]
[[1]]$results
address_components
1 1309, South Cushman Avenue, Central Tacoma, Tacoma, Pierce County,
Washington, United States, 98405, 3527, 1309, S Cushman Ave, Central
Tacoma, Tacoma, Pierce County, WA, US, 98405, 3527, street_number,
route, neighborhood, political, locality, political,
administrative_area_level_2, political, administrative_area_level_1,
political, country, political, postal_code, postal_code_suffix
formatted_address geometry.location.lat
geometry.location.lng geometry.location_type

1 1309 S Cushman Ave, Tacoma, WA 98405, USA              47.24899            
-122.4566                ROOFTOP
geometry.viewport.northeast.lat geometry.viewport.northeast.lng
geometry.viewport.southwest.lat

1                        47.25034                       -122.4552                       
47.24764
geometry.viewport.southwest.lng                    place_id     
types

1                       -122.4579 ChIJccNG8BJVkFQRUvDLCQI9Qtc
street_address
[[1]]$status
[1] "OK"

另一个复杂因素是使用&#34;屋顶&#34;位置类型有些输出包含&#34; ZERO RESULTS&#34;所以我想确保我要么返回一个空行,或者其他一些填充物,以便我可以在以后清理它们。

有关此项目的更多背景信息:我已经支付了API访问权限,因此拨打12k电话并不是问题所在。出于某种原因,我的帐户没有设置,以便我可以使用ggmaps及其revgeocode()函数,即使使用ggmaps 2.7,并且目前无法更改我的帐户状态。

如果有任何我可以澄清的内容,请告诉我,并提前感谢您!

编辑:

df <- structure(list(Longitude = c(-122.4568254, -122.4568254, -122.4568254, 
-122.4568254), Latitude = c(47.249256, 47.249256, 47.24917901, 
47.24910202)), .Names = c("Longitude", "Latitude"), class = "data.frame", row.names = c(NA, 
-4L))

我的数据中有4个样本点。前两个应该产生零结果,第二个应该有数据。据我所知,前两个有零结果,因为这些点不在&#34;屋顶&#34;任何规范地址的范围。

0 个答案:

没有答案