Je travaille sur la boucle à travers des points longs et de latitude pour l'API googleways. Je suis venu avec deux façons de le faire dans un effort pour accéder aux points de sections indiquées dans le lien suivant:lier les listes sur le paquet googleways pour google directions?
https://cran.r-project.org/web/packages/googleway/vignettes/googleway-vignette.html
Unforuntaely car cela utilise une clé unique que je ne peux pas donner un exemple reproductible mais Voici mes tentatives, l'une utilisant mapply et l'autre avec une boucle. Les deux travaillent dans la production d'une réponse sous forme de liste, mais je ne suis pas sûr comment déballer à tirer sur la route des points que vous en passant un seul point:
df$routes$overview_polyline$points
Toutes les suggestions?
library(googleway)
dir_results = mapply(
myfunction,
origin = feed$origin,
destination = feed$destination,
departure = feed$departure
)
OR
empty_df = NULL
for (i in 1:nrow(feed)) {
print(i)
output = google_directions(feed[i,"origin"],
feed[i,"destination"],
mode = c("driving"),
departure_time = feed[i,"departure"],
arrival_time = NULL,
waypoints = NULL, alternatives = FALSE, avoid = NULL,
units = c("metric"), key = chi_directions, simplify = T)
empty_df = rbind(empty_df, output)
}
EDIT **
La sortie envisagée est une trame de données comme ci-dessous:. Où "id" représente le voyage d'origine alimenté dans
lat lon id
1 40.71938 -73.99323 40.7193908691406+-73.9932174682617 40.7096214294434+-73.9497909545898
2 40.71992 -73.99292 40.7193908691406+-73.9932174682617 40.7096214294434+-73.9497909545898
3 40.71984 -73.99266 40.7193908691406+-73.9932174682617 40.7096214294434+-73.9497909545898
4 40.71932 -73.99095 40.7193908691406+-73.9932174682617 40.7096214294434+-73.9497909545898
5 40.71896 -73.98981 40.7193908691406+-73.9932174682617 40.7096214294434+-73.9497909545898
6 40.71824 -73.98745 40.7193908691406+-73.9932174682617 40.7096214294434+-73.9497909545898
7 40.71799 -73.98674 40.7193908691406+-73.9932174682617 40.7096214294434+-73.9497909545898
8 40.71763 -73.98582 40.7193908691406+-73.9932174682617 40.7096214294434+-73.9497909545898
EDIT **** dput fourni pour répondre à la question sur la liste de données à la liste de paires:
structure(list(origin = c("40.7193908691406 -73.9932174682617",
"40.7641792297363 -73.9734268188477", "40.7507591247559 -73.9739990234375"
), destination = c("40.7096214294434-73.9497909545898", "40.7707366943359-73.9031448364258",
"40.7711143493652-73.9871368408203")), .Names = c("origin", "destination"
), row.names = c(NA, 3L), class = "data.frame")
le code sql est basique l ooks comme par exemple:
feed = sqlQuery(con, paste("select top 10
longitude as px,
latitude as py,
dlongitude as dx ,
dlatitude as dy,
from mydb"))
puis avant de le nourrir mon flux de trames de données ressemble donc (u peut ignorer le départ que j'utilisais que pour la api à distance):
origin destination departure
1 40.7439613342285 -73.9958724975586 40.716911315918-74.0121383666992 2017-03-03 01:00:32
2 40.7990493774414 -73.9685516357422 40.8066520690918-73.9610137939453 2017-03-03 01:00:33
3 40.7406234741211 -74.0055618286133 40.7496566772461-73.9834671020508 2017-03-03 01:00:33
4 40.7172813415527 -73.9953765869141 40.7503852844238-73.9811019897461 2017-03-03 01:00:33
5 40.7603607177734 -73.9817123413086 40.7416114807129-73.9795761108398 2017-03-03 01:00:34
Ajout d'une modification avec la sortie prévue – LoF10
et les coordonnées de tous les points de la polyligne? – SymbolixAU
exactement de sorte que le lat lon représente les points dans la polyligne – LoF10