使用 R 中的 PlotGoogleMaps 包将空间点与定向线连接起来
Connecting Spatial points with directed lines using PlotGoogleMaps package in R
我一直在尝试使用 PlotGoogleMaps
包从 R 中绘制一些动态 Google 地图。使用此包在 google 地图上绘制空间点没有问题。
我想连接几对用线绘制的空间点。我找不到任何方法在 R 中使用包来做到这一点。 Google 地图似乎在 API: google.maps.Polyline
中有一个功能。
任何人都可以帮助解决如何在 R 中完成的问题吗?我参考了 之类的链接,以确保我的基本情节工作正常。我怎样才能加入他们来显示路径?
我运行下面的代码
library(plotGoogleMaps)
vessels = data.frame(id = c(1:10)
, lat = c(22.0959, 22.5684, 21.9189, 21.8409, 22.4663, 22.7434, 22.1658, 24.5691, 22.4787, 22.3039)
, lon = c(114.021, 114.252, 113.210, 113.128, 113.894, 114.613, 113.803, 119.730, 113.910, 114.147))
group1 = vessels[1:5,]
group2 = vessels[6:10,]
coordinates(group1) = ~ lon + lat
proj4string(group1) = CRS("+proj=longlat +datum=WGS84")
group1 <- SpatialPointsDataFrame( group1 , data = data.frame( ID = row.names( group1 ) ))
coordinates(group2) = ~ lon + lat
proj4string(group2) = CRS("+proj=longlat +datum=WGS84")
group2 <- SpatialPointsDataFrame( group2 , data = data.frame( ID = row.names( group1 ) ))
m <- plotGoogleMaps(group1, legend = FALSE, layerName = "Vessels 1"
, add =T,
iconMarker=rep('http://maps.google.com/mapfiles/kml/shapes/placemark_circle.png',nrow(group1) ),
mapTypeId='ROADMAP', filename = "out.htm")
m <- plotGoogleMaps(group2,legend = FALSE, layerName = "Vessels 2"
, previousMap = m , add = F
, iconMarker = rep('http://maps.google.com/mapfiles/kml/shapes/placemark_circle.png',nrow(group2) )
, filename = "out.htm")
它工作正常。但我不知道如何连接标绘点以在地图上选定的一对点之间建立路径。
这并没有直接回答您的问题,但我将其发布为一个潜在的替代方案。
我构建了 googleway
包,其中包括一个 Google 地图小部件。
要使用 Google 地图,您需要 Google Maps API key
library(googleway)
vessels = data.frame(id = c(1:10)
, lat = c(22.0959, 22.5684, 21.9189, 21.8409, 22.4663, 22.7434, 22.1658, 24.5691, 22.4787, 22.3039)
, lon = c(114.021, 114.252, 113.210, 113.128, 113.894, 114.613, 113.803, 119.730, 113.910, 114.147))
vessels$group <- c(rep(1, 5), rep(2, 5))
## a google maps api key
map_key <- "your_api_key"
google_map(key = map_key, data = vessels) %>%
add_circles(radius = 1000) %>%
add_polylines(lat = 'lat', lon = 'lon', id = 'group',
mouse_over_group = 'group')
我一直在尝试使用 PlotGoogleMaps
包从 R 中绘制一些动态 Google 地图。使用此包在 google 地图上绘制空间点没有问题。
我想连接几对用线绘制的空间点。我找不到任何方法在 R 中使用包来做到这一点。 Google 地图似乎在 API: google.maps.Polyline
中有一个功能。
任何人都可以帮助解决如何在 R 中完成的问题吗?我参考了
我运行下面的代码
library(plotGoogleMaps)
vessels = data.frame(id = c(1:10)
, lat = c(22.0959, 22.5684, 21.9189, 21.8409, 22.4663, 22.7434, 22.1658, 24.5691, 22.4787, 22.3039)
, lon = c(114.021, 114.252, 113.210, 113.128, 113.894, 114.613, 113.803, 119.730, 113.910, 114.147))
group1 = vessels[1:5,]
group2 = vessels[6:10,]
coordinates(group1) = ~ lon + lat
proj4string(group1) = CRS("+proj=longlat +datum=WGS84")
group1 <- SpatialPointsDataFrame( group1 , data = data.frame( ID = row.names( group1 ) ))
coordinates(group2) = ~ lon + lat
proj4string(group2) = CRS("+proj=longlat +datum=WGS84")
group2 <- SpatialPointsDataFrame( group2 , data = data.frame( ID = row.names( group1 ) ))
m <- plotGoogleMaps(group1, legend = FALSE, layerName = "Vessels 1"
, add =T,
iconMarker=rep('http://maps.google.com/mapfiles/kml/shapes/placemark_circle.png',nrow(group1) ),
mapTypeId='ROADMAP', filename = "out.htm")
m <- plotGoogleMaps(group2,legend = FALSE, layerName = "Vessels 2"
, previousMap = m , add = F
, iconMarker = rep('http://maps.google.com/mapfiles/kml/shapes/placemark_circle.png',nrow(group2) )
, filename = "out.htm")
它工作正常。但我不知道如何连接标绘点以在地图上选定的一对点之间建立路径。
这并没有直接回答您的问题,但我将其发布为一个潜在的替代方案。
我构建了 googleway
包,其中包括一个 Google 地图小部件。
要使用 Google 地图,您需要 Google Maps API key
library(googleway)
vessels = data.frame(id = c(1:10)
, lat = c(22.0959, 22.5684, 21.9189, 21.8409, 22.4663, 22.7434, 22.1658, 24.5691, 22.4787, 22.3039)
, lon = c(114.021, 114.252, 113.210, 113.128, 113.894, 114.613, 113.803, 119.730, 113.910, 114.147))
vessels$group <- c(rep(1, 5), rep(2, 5))
## a google maps api key
map_key <- "your_api_key"
google_map(key = map_key, data = vessels) %>%
add_circles(radius = 1000) %>%
add_polylines(lat = 'lat', lon = 'lon', id = 'group',
mouse_over_group = 'group')