原标题:R实现地理位置与经纬度相互转换
本实例要实现目标通过输入城市名或者地名,然后找出其经度纬度值,以及通过可视化展现其线路流向以及周边地图展示
address_list数据:
山西省太原市小店区亲贤北街77号
贵州省贵阳市云岩区书香门第B栋3单元
北京市通州区神树商业街168号
贵州省贵阳市南明区兴关路51
北京市东城区长巷二条乙5号
山西省太原市杏花岭区北肖墙12号
北京
北京市通州区
北京市的的的的的
天津市武清区
1、生成可视化地图
library(devtools)
#install_github('lchiffon/REmap')
library(REmap)
city_vec = c( "北京", "Shanghai", "广州")
get_city_coord( "Shanghai")
get_geo_position (city_vec)
set.seed( 125)
origin = rep( "杭州", 5)
destination = c( '台州', '丽水', '金华', '温州', '乡宁')
dat = data.frame(origin,destination)
out= remap(dat,title = "REmap实例数据",subtitle = "theme:Dark")
plot( out)
mapNames( "杭州")
结果:
2、根据地名,生成其经纬度
#############使用百度API######################
############地理位置→经纬度###################
##############################################
library(REmap)
#library(RCurl)
#library(rjson)
#get_city_coord('杭州')
#导入地址列表
address
address
head(address)
#建立备用向量,包括空向量及百度地图api秘钥
baidu_lng
baidu_lat
ak
#加载包
library(rjson)
library(RCurl)
location
#循环解析过程
for(location in address) {
#生成规则的url地址(具体参数可参考Geocoding API文档)
url
#利用URLencode()转换为可解析的URL地址
url_string
#通过readLines读取URL地址,并解析JSON格式的结果
json
geo
#在解析结果中提取经纬度
lng
lat
#存储到已经建好的字段中
baidu_lng
baidu_lat
}
#整理结果
result
result
结果(对应address_list文件位置经纬度):
3、获取输入名字的百度地图展现
library(devtools)
#install_github('badbye/baidumap')
#install_github('lchiffon/REmap')
library(baidumap)
library(ggmap)
## Loading required package: ggplot2
#获取浙江中医药大学的地图信息
####http://www.gpsspg.com/maps.htm
q
ggmap(q) #绘制地图
q
ggmap(q) #绘制地图
结果:
华青莲日常点滴,方便自己,成长他人!!!
——————————————返回搜狐,查看更多
责任编辑: