R语言/Python 将地址标记在地图上

R语言实现

首先是将地址转换为经纬度坐标

这个可以用在线经纬度查询,直接百度在线经纬度,就可以使用

比如

在这里插入图片描述

批量查询

在这里插入图片描述
或者用百度、高德等API

参考:https://mp.weixin.qq.com/s/fEFOR-r95iDVGd4byGTKng


经纬度准备好之后,下面就可以绘图了

代码的细节不在讲解,可以自己调试,可以参考
https://blog.csdn.net/qq_42374697/article/details/110476955

library(ggplot2)
library(maps)
library(mapdata)
library(maptools)
library(plyr)
library(rgdal)
library(mapproj)


cq <- rgdal::readOGR("重庆.shp")
plot(cq)


# 有可能乱码,看一下那些字段乱码了
head(cq@data)
# 逐一修改
Encoding(cq@data$name) <- "UTF-8" ##转换格式为UTF-8
# 再检查一次
head(cq@data)


data1 <- cq@data         
data2 <- data.frame(id=row.names(data1),data1)  


cq_ <- fortify(cq) #转化为数据框
cq_map_data <- join(cq_, data2, type = "full") 
head(cq_map_data)


library(readxl)
library(xlsx)
# 把城市名称保存为excel表,这样就不用了自己写城市名,或者如果业务数据本身有城市名,也可以跳过这步
write.xlsx(cq@data$name,'b.xls',row.names = F)


#读取数据
mydata1 <- read_excel("C:/Users/Administrator/Desktop/b.xls")
mydata1


#读取业务指标数据,并与地图数据合并
cq_data <- join(cq_map_data, mydata1, type="full") #合并两个数据框


# 绘图
windowsFonts(myFont = windowsFont("微软雅黑")) 
p=ggplot(
	cq_data, 
	aes(x = long, y = lat, group = group, fill = number)) +
geom_polygon(colour="grey40") +ggtitle("")+
scale_fill_gradient(low="#e3f9fd",high="#a4e2c6") +
theme(plot.title=element_text(family="myFont",size=19,hjust = 0.5), 
)


sf = data.frame(site_name=c('涪陵北站','黔江机场','重庆邮电大学'),lan =c(29.776429,29.517508,29.537621),lon =c(107.284263,108.842114,106.614389))

p+geom_point(data=sf,aes(x=lon,y=lan),colour = '#ff2121',size=3, inherit.aes = FALSE)+
geom_text(data=sf,aes(x=lon,y=lan+0.15,label=site_name),size=3, inherit.aes = FALSE)

最终效果
在这里插入图片描述

Python实现

还是基于前面的数据,使用pyecharts实现

例如

addr = ‘涪陵北站’

longitude = 107.39642

latitude = 29.709278

在这里插入图片描述

from pyecharts.charts import Geo
from pyecharts import options
from pyecharts.globals import GeoType

addr = '涪陵北站'
longitude = 107.39642
latitude = 29.709278
g = Geo().add_schema(maptype="重庆")
g.add_coordinate(addr, longitude, latitude)
data_pair = [(addr,1)]
g.add('',data_pair, type_=GeoType.EFFECT_SCATTER, symbol_size=10)
g.set_series_opts(label_opts=options.LabelOpts(is_show=False))
g.set_global_opts(title_opts=options.TitleOpts(title=""))

g.render_notebook()

在这里插入图片描述
参考:https://mp.weixin.qq.com/s/fEFOR-r95iDVGd4byGTKng

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值