摘要
API前缀都是 http://xzqh.mca.gov.cn/data/,
获取全国省级地图,则加后缀quanguo.json;
获取全国县级地图,则加后缀xian_quanguo.json;
获取部分地区,如某个市的县级地图,则加该行政区域代码,再加.json;
区划代码:2020年12月中华人民共和国县以上行政区划代码https://www.mca.gov.cn/mzsj/xzqh/2020/20201201.html
如果要获取市级地图,需要按遍历行政区域代码获取所有市的地图,然后合并县级区域;
全国主要山脉,南海十段线数据,则加后缀quanguo_Line.geojson;
注:县级地图数据不包括香港和澳门特别行政区,市级地图数据不包括台湾省。
全国-省级地图数据
library(geojsonsf)
library(sf)
library(ggplot2)
library(RColorBrewer)
API_pre = "http://xzqh.mca.gov.cn/data/"
## 1.全国
China = st_read(dsn = paste0(API_pre, "quanguo.json"),stringsAsFactors=FALSE)
st_crs(China) = 4326
## 1.主要山脉、南海十段线
China_line = st_read(dsn = paste0(API_pre, "quanguo_Line.geojson"),stringsAsFactors=FALSE)
st_crs(China_line) = 4326
gjx <- China_line[China_line$QUHUADAIMA == "guojiexian",]
ggplot(China,aes(group=QUHUADAIMA,fill=QUHUADAIMA))+
geom_sf()+
geom_sf(data=gjx)
全国_县级地图数据
## 2.全国_县级
China_Xian = st_read(dsn = paste0(API_pre, "xian_quanguo.json"),stringsAsFactors=FALSE)
st_crs(China_Xian) = 4326
ggplot(China_Xian)+
geom_sf()
省级_市级地图数据(河南省)
library(geojsonsf)
library(sf)
library(ggplot2)
library(RColorBrewer)
API_pre = "http://xzqh.mca.gov.cn/data/"
j="410000"
xj <- st_read(dsn = paste0(API_pre,j,".json"),stringsAsFactors=FALSE)
st_crs(xj) = 4326
xj_sh <- xj[which(substr(xj$QUHUADAIMA,1,2)=="41"),]
ggplot(xj_sh,aes(group=QUHUADAIMA,fill=FillColor))+
geom_sf()
省级_市级地图数据(上海市)
API_pre = "http://xzqh.mca.gov.cn/data/"
j="310000"
xj <- st_read(dsn = paste0(API_pre,j,".json"),stringsAsFactors=FALSE)
st_crs(xj) = 4326
xj_sh <- xj[which(substr(xj$QUHUADAIMA,1,2)=="31"),]
xj_hai <- xj[which(xj$QUHUADAIMA=="hai"),]
ggplot(st_difference(xj_sh, xj_hai),aes(group=QUHUADAIMA,fill=factor(QUHUADAIMA)))+
geom_sf()