2014-07-03 34 views
2

我是RgoogleMaps套餐中的新手,我试图将圆圈包含在我的地图中,并且具有精确的半径。这里是我当前的代码:'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

一种可能性(只要规模是这样的,在图中的圆是足够接近的表面上的圆(未失真由投影太多的平面))被绘制使用TeachingDemos软件包中的my.symbols函数圈起圆圈。仍然使用RgoogleMaps包下载并绘制地图,然后根据地图区域的纬度或经度计算2/10英里的距离。然后,您可以使用my.symbolsxsizeysize参数设置为适当的经度或纬度(您可以使用具有大量边的ms.polygon函数来近似一个圆)。

相关问题