R for map (3中):ggmap
每一个地图资源都有相应的API,指定API的get_*函数可以从它们对应的资源上下载更多的功能。
先以get_googlemap为例,它可以调用用Google Static Maps API的几乎全部功能。下面这个图形描绘的是我在
2012年夏天的旅行路线。
library(plyr)
library(ggmap)
travel<-c("bei jing","tai yuan","yan an","xi an","xining,qinghai","qinghai lake","zhangye","dunhuang shi","urumqi","ili")
travel1<-adply(travel,1,geocode)
travel2<-data.frame(travel1$lon,travel1$lat)
map<-get_googlemap('china', zoom=4,maptype='roadmap',markers = travel2,path = travel2,scale=2)
ggmap(map, extent='device')+
annotate("text",x=81.2,y=43,label="Ili",alpha=0.8)
和在google地图上描绘路线的效果是非常接近的。
(4)get_map( )的风格参数:source 和 maptype
不同的地图资源具有不同的风格,比如强调路线,水体或者行政区域,表现形式也各有千秋。
Google 有四种常见的形式:terrain (地形,默认的), satellite (卫星), roadmap(道路),
and hybrid (混合)。上面那张图的卫星图版本是这样的:
相比之下,Stamen Maps和Cloudmade Maps的风格要炫得多。
Stamen Maps提供了
三种风格:terrain ,watercolor(水彩)和toner(色粉)。
比如,水彩风格的北京城:
qmap("beijing", zoom = 11, source = "stamen",maptype = "watercolor")
Cloudmade Maps的风格走的更远,它允许用户利用一个在线编辑器,自己“创作地图风格”,或者使用数千种已被创造出的风格。这种自定义的风格可以被ggmap引用,但是使用
Cloudmade Maps必须注册。注册是免费的,在使用get_map 函数的时候要带有 api_key 参数。
下面这张图来自网络(#我还没注册:))
先以get_googlemap为例,它可以调用用Google Static Maps API的几乎全部功能。下面这个图形描绘的是我在
2012年夏天的旅行路线。
library(plyr)
library(ggmap)
travel<-c("bei jing","tai yuan","yan an","xi an","xining,qinghai","qinghai lake","zhangye","dunhuang shi","urumqi","ili")
travel1<-adply(travel,1,geocode)
travel2<-data.frame(travel1$lon,travel1$lat)
map<-get_googlemap('china', zoom=4,maptype='roadmap',markers = travel2,path = travel2,scale=2)
ggmap(map, extent='device')+
annotate("text",x=81.2,y=43,label="Ili",alpha=0.8)
2012旅行路线,终点是伊犁 |
和在google地图上描绘路线的效果是非常接近的。
(4)get_map( )的风格参数:source 和 maptype
不同的地图资源具有不同的风格,比如强调路线,水体或者行政区域,表现形式也各有千秋。
Google 有四种常见的形式:terrain (地形,默认的), satellite (卫星), roadmap(道路),
and hybrid (混合)。上面那张图的卫星图版本是这样的:
相比之下,Stamen Maps和Cloudmade Maps的风格要炫得多。
Stamen Maps提供了
三种风格:terrain ,watercolor(水彩)和toner(色粉)。
比如,水彩风格的北京城:
qmap("beijing", zoom = 11, source = "stamen",maptype = "watercolor")
Cloudmade Maps的风格走的更远,它允许用户利用一个在线编辑器,自己“创作地图风格”,或者使用数千种已被创造出的风格。这种自定义的风格可以被ggmap引用,但是使用
Cloudmade Maps必须注册。注册是免费的,在使用get_map 函数的时候要带有 api_key 参数。
下面这张图来自网络(#我还没注册:))
用ggmap从googlemap下载的地图一些争议的地界是用虚线标出来的,不知道有没好的办法处理这个问题?毕竟政治问题还是比较要命的
googlemap在这里就相当于一张画布,ggmap就是在这张画布上作画,画布本身修改不了的吧。变通的方法可以考虑作图之后用其它方式去修图吧。
一旦涉及学术出版或发表,地图审查还是非常严的。。不知道是否能有相关的解决方案产生
这个不了解啊
你好,这个案例中,我使用你上面的代码得不出你给的图像(本页第一张图,实际上绘不出图),你能确认一下吗?我是新手,好不容易找到你的教程。
第一张图是能画的。
谢谢你呀,这么快给回复,我已经发现了,是我自己的问题,不好意思哦!
你好,请问ggmap能按线路绘图吗(比如,铁路线、公路之类的)?
给个提示就行!
没画过。不过有坐标应该可以画吧?
哦,还以为你做过呢,小白学起来太难
问一个问题 画水彩风格的 报这个错误
Error in readPNG(destfile) : file is not in PNG format
这个应该怎么处理?
你好,像您的第一个旅游路线图,如果我想画多条路线怎么做?
> 我来回应