- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含科隆所有街道的形状文件(SpatialLinesDataFrame),可以从here下载。 。我将此@data 与来自外部源的数据合并。我如何绘制这些街道(如果可能的话,使用 ggmaps 在谷歌地图上),以便每条街道都有不同的颜色(或厚度),具体取决于其各自的值?
到目前为止,我已经做到了:
shapefile <- readOGR(shapfile, "Strasse", stringsAsFactors=FALSE,
encoding="latin-9")
shp <- spTransform(shapefile, CRS("+proj=longlat +datum=WGS84"))
此时,我向 shp@data 数据框中添加另一列,其中包含每条街道的特定值。然后我强化 shapefile,以便可以使用 ggplot 绘制它:
shp$id <- rownames(shp@data)
shp.df <- as.data.frame(shp)
data_fort <- fortify(shp, region = "id")
data_merged <- join(data_fort, shp.df, by="id")
当我使用geom_lines时,线条看起来不太好并且不容易识别:
ggplot(data_merged, aes(x=long, y=lat,
group=group,
colour=values)) +
geom_line()
Here我看到可以转换 shapefile,以便可以使用 geom_segment (或者在本例中是修改后的函数“geom_segment2”),但随后会丢失街道特定值。
最佳答案
因此,此代码从 shapefile 中获取 100 条最长的道路,在 (1,10) 上随机分配“值”,并在科隆的 Google 光栅图像之上使用基于值的颜色进行绘制。
library(ggplot2)
library(ggmap) # for ggmap(...) and get_map(...)
library(rgdal) # for readOGR(...)
library(plyr) # for join(...)
set.seed(1) # for reproducible example
setwd(" <directory with your shapefiles> ")
spl <- readOGR(dsn=".", "Strasse", encoding="latin-9")
spl <- spl[spl$SHAPE_LEN %in% tail(sort(spl$SHAPE_LEN),100),]
shp <- spTransform(spl, CRS("+proj=longlat +datum=WGS84"))
shp.df <- data.frame(id=rownames(shp@data),
values=sample(1:10,length(shp),replace=T),
shp@data, stringsAsFactors=F)
data_fort <- fortify(shp)
data_merged <- join(data_fort, shp.df, by="id")
ggmap(get_map(unlist(geocode("Cologne")),zoom=11))+
geom_path(data=data_merged,size=1,
aes(x=long,y=lat,group=group,color=factor(values)))+
labs(x="",y="")+
theme(axis.text=element_blank(),axis.ticks=element_blank())
可以使用例如,使 ggmap(...)
调用更简单
ggmap(get_map("Cologne"))
但有一个问题:zoom=...
参数的解释不同,我无法充分缩放 map 。
关于r - 如何使用 ggplot/ggmap 在 SpatialLinesDataFrame 中绘制街道并为其着色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24760992/
我想在具有 wgs84 坐标的线形文件周围创建一个缓冲区。 我准备了一个包含单线段和基准的形状文件:D_WGS_1984。之后,我使用“readOGR”命令将 .shp 加载到 R 中。 之后我尝试了
我有一个带有街道的 SpatialLinesDataFrame,我有一个 GPS 坐标列表。我需要做的是为每个单独的 GPS 坐标找出 10 个最近的街道名称。 R 中是否有一个函数/包可以计算 Sp
我想知道是否可以做到这一点 R 。 我有一个数据作为SpatialLinesDataFrame,另一个数据作为spatialPolygonDataFrame。是否可以叠加这两个数据? 当我尝试覆盖这些
使用 leaflet ,我正在尝试绘制一些线条并根据“速度”变量设置它们的颜色。我的数据从编码的折线级别开始(即一系列纬度/经度点,编码为字母数字字符串),每个 EPL 都有一个速度值。 我能够解码折
我尝试将具有多行的空间对象(从 OSM 检索到的河流)转换为 KML。对于具有单行的对象,使用 kmlLine 很容易。但是,对于多行,以下方法不起作用,我尝试改编 the documentation
我正在使用 HURDAT 数据集绘制飓风轨迹。 我目前在 R 中生成了一个 SpatialPointsDataFrame 对象,它在 2004 年看起来像这样。 > str(cluster.2
我有一个包含科隆所有街道的形状文件(SpatialLinesDataFrame),可以从here下载。 。我将此@data 与来自外部源的数据合并。我如何绘制这些街道(如果可能的话,使用 ggmaps
我正在尝试在 Google map 上绘制线层。 数据 > dput(map) new("SpatialLinesDataFrame" , data = structure(list(
我正在尝试使用 R 包 tmap 绘制 SpatialLinesDataFrame。但是我不断收到此错误消息: Error in CPL_geos_is_empty(st_geometry(x)):
我是一名优秀的程序员,十分优秀!