Ho uno shapefile (SpatialLinesDataFrame) contenente tutte le strade di Colonia, che possono essere scaricate da here. Ho unito questo @ data con i dati di una fonte esterna. Come posso tracciare queste strade (se possibile su una mappa di google usando ggmaps), in modo che ogni strada abbia un diverso colore (o spessore), a seconda del suo valore individuale?Come stampare e colorare le strade in SpatialLinesDataFrame con ggplot/ggmap?
Finora, ho fatto questo:
shapefile <- readOGR(shapfile, "Strasse", stringsAsFactors=FALSE,
encoding="latin-9")
shp <- spTransform(shapefile, CRS("+proj=longlat +datum=WGS84"))
a questo punto aggiungo un'altra colonna al telaio dei dati dei dati SHP @, che contiene un certo valore per ogni strada. Poi ho fortifiy lo shapefile in modo che possa essere tracciata utilizzando ggplot:
shp$id <- rownames([email protected])
shp.df <- as.data.frame(shp)
data_fort <- fortify(shp, region = "id")
data_merged <- join(data_fort, shp.df, by="id")
Quando uso geom_lines, le linee non vanno bene e non sono facili da identificare:
ggplot(data_merged, aes(x=long, y=lat,
group=group,
colour=values)) +
geom_line()
Here ho visto che uno potrebbe trasformare lo shapefile in modo che geom_segement (o in questo caso una funzione modificata "geom_segment2") possa essere usato, ma poi perderebbe i miei valori specifici per la strada.
Il tuo shapefile sembra avere> 5500 strade. Vuoi che ognuno di loro sia di un colore diverso? Inoltre, la tabella degli attributi non ha una colonna 'values'. – jlhoward
Ho confrontato la @data con un file di dati esterno (che non posso caricare per motivi di privacy). Solo quelle strade sono ancora lasciate nello shapefile, che sono nel mio file di dati originale. Quindi aggiungo i valori dal file esterno allo shapefile @ data dataframe. In questo momento mi rendo conto che posso caricare lo shapefile modificato, lo farò domani. La colonna dei valori è nel mio shapefile, contiene ad esempio valori da 1 a 10, ma questo è simulato. Quando uso geom_line() alcune parti di certe linee (strade) sono piene di forme simili al colore, sai perché? –
Per i principianti, è necessario utilizzare 'geom_path (...)', non 'geom_line (...). – jlhoward