查看原文
其他

R语言与地图(三)

2017-01-24 ecnu刘洋 R语言中文社区

Hello,

       大家好!欢迎收听 每周五分钟 与您分享 一点儿数据分析 的那些事。

作为背包客来讲,青年旅舍当然是大部分学生群体的首选了。而且国际青年旅舍也逐步火热。本周,我们将讲解如何利用 baidumap 包 和 leaflet 包以交互的形式展现上海市青年旅舍的信息。

1. 获取上海市青旅的信息:

library(baidumap)    # 加载 baidumap 包 ql<-getPlace(place='青年旅舍', city='上海') head(ql)

dim(ql)     # 共搜索出172家青旅 x<-ql$lon; y<-ql$lat    # 获取青旅的横纵坐标

2. 绘制交互的地图:

library(maptools)    # 加载 maptools 包 shape<-readShapePoly('~/县级行政界线/BOUNT_poly.shp') center<-getCoordinate('上海', formatted=T)


       a<-as.numeric(center[1])          b<-as.numeric(center[2]) popup <- paste0("<strong><font color='red'> Name: </font>  </strong>", ql$name, "<br>", "<strong><font color='red'>Telphone: </font></strong>", ql$telephone) library(leaflet)     # 加载 leaflet 包 leaflet(shape) %>% addTiles() %>% setView(a,b,zoom = 9) %>% addMarkers(lng=~x,lat=~y,popup=~popup)



3. 编写函数,拓展查找内容:

ql_finder<- function(city='上海', place='青年旅舍', zoom = 9){        lapply(c('baidumap','maptools','leaflet'), function(x) library(x,character.only = TRUE))               shape<-readShapePoly('~/县级行政界线/BOUNT_poly.shp')               ql<-getPlace(place = place, city = city)               lon<-ql$lon; lat<-ql$lat               center<-getCoordinate(city,formatted=T)               a<-as.numeric(center[1])               b<-as.numeric(center[2])               popup <- paste0("<strong><font color='red'> Name: </font>  </strong>", ql$name, "<br>", "<strong><font color='red'>Telphone: </font></strong>", ql$telephone)               leaflet(shape) %>% addTiles() %>% setView(a,b,zoom = zoom) %>%  addMarkers(lng=~lon,lat=~lat,popup=~popup)         }         ql_finder(city='上海', place='小杨生煎', zoom = 10)



4. 县级边界数据:

链接: https://pan.baidu.com/s/1kU7uIsn 密码: cjq9

Okay, that‘s all. 感谢您的收听,咱们下期再见,再见,再见~

不过,真到了那一天,恐怕不光是分析师失业的问题吧……


ecnu刘洋,天善智能社区专家。

Blog:

微信回复关键字即可学习

回复 R              R语言快速入门免费视频 
回复 统计          统计方法及其在R中的实现
回复 用户画像   民生银行客户画像搭建与应用 
回复 大数据      大数据系列免费视频教程
回复 可视化      利用R语言做数据可视化
回复 数据挖掘   数据挖掘算法原理解释与应用
回复 机器学习   R&Python机器学习入门 

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存