使用ggplot2在R中绘制SpatialLine

时间:2018-06-20 13:36:14

标签: r ggplot2

我已经在这个主题上进行了大量搜索,但是还没有找到任何可以解决我问题的方法。我正在绘制路段并叠加一些雷达数据。以下是我正在工作的示例。

enter image description here

我用以下代码生成了上面的情节...

map <- get_map(
location = c(-86.34, 39.94),
source = "google", zoom = 13, maptype = "roadmap"
)

lon <- c(-86.355750256169358, -86.357100144855735, -86.359359890246708)
lat <- c(39.949089789262416, 39.950209921850444, 39.952050262109935)
roadDf <- data.frame(lon, lat)

ggmap(map) + geom_tile(data = mrms_sub, aes(x = longitude, y = latitude, fill = palmer)) + 
geom_point(data = mrms_sub, aes(x = longitude, y = latitude)) +
geom_point(data = roadDf, col = "red")

我目前将路段显示为WKT LINESTRING中的三个点,以可视化它,但最终我想将其显示为地图上的线段。我试过使用rgeos readWKT函数,该函数可以创建“正式类SpatialLine”。如果我使用它进行绘制,

plot(roadSegment)

它可以工作,但是我无法使其与ggplot一起工作。我尝试使用geom_lines和geom_segments,但是会引发以下错误。

geom_segment(roadSegment, aes(x=longitude, y=latitude))
#Error: ggplot2 doesn't know how to deal with data of class uneval

geom_line(line, aes(x=longitude, y=latitude))
#Error: Mapping must be created by `aes()` or `aes_()`

我的线串如下被读入...

#define roads
road1 <-("LINESTRING(-86.355750256169358 39.949089789262416, -86.357100144855735 39.950209921850444, -86.359359890246708 39.952050262109935)")
roadSegment <- rgeos::readWKT(road1)

任何帮助将不胜感激!

0 个答案:

没有答案