Ich arbeite an Looping durch lange und breite Punkte für die Googleways API. Ich habe mit zwei Möglichkeiten, um zu, dass die Punkte Abschnitte in dem folgenden Link gezeigt zuzugreifen in dem Bemühen zu tun:Listen aus dem Google-Paket für Google-Wegbeschreibungen zusammenführen?
https://cran.r-project.org/web/packages/googleway/vignettes/googleway-vignette.html
Unforuntaely da dies einen eindeutigen Schlüssel verwendet, kann ich nicht ein reproduzierbares Beispiel biete aber Unten sind meine Versuche, einer mit Mapply und der andere mit einer Schleife. Beide arbeiten in einer Antwort im Listenformat produzieren, aber ich bin nicht sicher, wie es entpacken Sie die Punkte Weg zu ziehen, wie Sie es, wenn nur ein Punkt vorbei:
df$routes$overview_polyline$points
Irgendwelche Vorschläge?
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 **
Die beabsichtigte Ausgabe wie unten ein Datenrahmen würde. Wobei "id" die ursprüngliche Reise in
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 gespeist repräsentiert zur Beantwortung der Frage auf dem Datenframe zur Paarliste:
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")
sql code is basic l ooks wie solche:
feed = sqlQuery(con, paste("select top 10
longitude as px,
latitude as py,
dlongitude as dx ,
dlatitude as dy,
from mydb"))
und dann, bevor es mein Datenrahmen-Feed sieht aus wie so Fütterung (u kann ignorieren Abfahrt war ich, dass für den Abstand api verwenden):
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
Added eine Bearbeitung mit dem beabsichtigten Ausgabe – LoF10
und sind die Koordinaten alle Punkte in der Polylinie? – SymbolixAU
genau so stellt das lat lon die Punkte in der Polylinie dar – LoF10