gpt4 book ai didi

r - 在 map 上绘制绕纬度/经度的时间半径

转载 作者:行者123 更新时间:2023-12-01 17:40:24 25 4
gpt4 key购买 nike

我正在使用 R 中的 gmapsdistance 包。我有 API key ,并且熟悉该包中的功能。

但是,我想从相反的方向解决一个问题。我不想只是找到纬度/经度之间的时间距离状态作为纬度/经度的向量,我想输入一个纬度/long,绘制一个包含 3 小时或更短时间可到达的所有点的区域。然后我想在谷歌地图上画这个。首先,最好使用佛罗里达州 Marimar:25.9840、-80.2821。

有人有解决此类问题的经验吗?

最佳答案

根据评论中的建议,您可以注册类似 Travel Time Platform 的服务(我在本例中使用的)并使用他们的 API 来获取给定起点的可能目的地。

然后你可以使用 Google map (在我的 googleway 包中)将其绘制在 map 上

appId <- "TravelTime_APP_ID"
apiKey <- "TravelTime_API_KEY"
mapKey <- "GOOGLE_MAPS_API_KEY"

library(httr)
library(googleway)
library(jsonlite)

location <- c(25.9840, -80.2821)
driveTime <- 2 * 60 * 60

## London example
## location <- c(51.507609, -0.128315)

## sign up to http://www.traveltimeplatform.com/ and get an API key
## and use their 'Time Map' API

url <- "http://api.traveltimeapp.com/v4/time-map"

requestBody <- paste0('{
"departure_searches" : [
{"id" : "test",
"coords": {"lat":', location[1], ', "lng":', location[2],' },
"transportation" : {"type" : "driving"} ,
"travel_time" : ', driveTime, ',
"departure_time" : "2017-05-03T08:00:00z"
}
]
}')

res <- httr::POST(url = url,
httr::add_headers('Content-Type' = 'application/json'),
httr::add_headers('Accept' = 'application/json'),
httr::add_headers('X-Application-Id' = appId),
httr::add_headers('X-Api-Key' = apiKey),
body = requestBody,
encode = "json")

res <- jsonlite::fromJSON(as.character(res))

pl <- lapply(res$results$shapes[[1]]$shell, function(x){
googleway::encode_pl(lat = x[['lat']], lon = x[['lng']])
})

df <- data.frame(polyline = unlist(pl))

df_marker <- data.frame(lat = location[1], lon = location[2])

google_map(key = mapKey) %>%
add_markers(data = df_marker) %>%
add_polylines(data = df, polyline = "polyline")

enter image description here

关于r - 在 map 上绘制绕纬度/经度的时间半径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40489162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com