我是RgoogleMaps套餐的新用户,我正在尝试将圆圈包含在具有精确半径的地图中。这是我目前的代码:
library(RgoogleMaps)
data <- read.csv("test.csv", header = TRUE, sep = ",", quote = "\"",
dec = ".", fill = TRUE, comment.char = "")
lat <- data$Latitude
lon <- data$Longitude
PlotOnStaticMap(lat = lat, lon = lon, zoom = 10, maptype ="satellite",
size = c(480, 480), cex = 0.2, pch = 19, col = "red", FUN = points, add = F)
这里对于每个“坐标点”,即对于地图上的每个点来自具有纬度和经度信息的“数据”数据帧,我想绘制以“坐标点”为中心的2英里半径圆。因此,如果我在数据框中有10行具有纬度和经度信息,我想绘制10个圆,每行为中心,半径为2英里。是否有可能做到这一点? RgoogleMaps包中是否有此功能?如果没有,我可以做任何其他包吗?
我想使用左下角和右上角纬度和经度($ BBOX $ ll和$ BBOX $ ur)并将此信息与地图尺寸$ 480 480相结合,以确定应该是什么2英里点的cex值。但是,如果有一个方法,我会非常感激。
谢谢。
SO
答案 0 :(得分:0)
一种可能性(只要刻度使得绘图中的圆足够接近表面上的圆(不会被投影到平面扭曲太多))是使用{{1绘制圆圈在TeachingDemos包中的函数。仍然使用RgoogleMaps包下载并绘制地图,然后计算出地图区域的纬度或经度2/10英里的距离。然后,您可以使用my.symbols
将my.symbols
或xsize
参数设置为适当的经度或纬度(您可以使用带有大量边的ms.polygon函数来近似圆)。