介紹
今天盖呼,給大家介紹一下儒鹿,如何利用R語(yǔ)言獲取中國(guó)地圖。有一點(diǎn)大家清楚几晤,網(wǎng)絡(luò)上很多教程關(guān)于R繪制中國(guó)地圖约炎。
但是中國(guó)地圖的繪制涉及到國(guó)家主權(quán)
,及以前舊版本地圖,西藏領(lǐng)地不全圾浅,沒(méi)有臺(tái)灣掠手,也沒(méi)有南海九段線(xiàn)。中國(guó)地圖最常見(jiàn)的問(wèn)題有四個(gè):
- 1 中國(guó)臺(tái)灣部分的缺失狸捕;
- 2 南海與九段線(xiàn)的缺失喷鸽;
- 3 西藏交界的中印邊界劃分有誤;
- 4 新疆與西藏交界的中印邊界劃分有誤灸拍;
這里介紹的是標(biāo)準(zhǔn)的中國(guó)地圖做祝,標(biāo)準(zhǔn)地圖依據(jù)中國(guó)和世界各國(guó)國(guó)界線(xiàn)畫(huà)法標(biāo)準(zhǔn)編制而成,可用于新聞宣傳用圖鸡岗、書(shū)刊報(bào)紙插圖混槐、廣告展示背景圖、工藝品設(shè)計(jì)底圖等轩性,也可作為編制公開(kāi)版地圖的參考底圖声登。是需要被官方認(rèn)證的。以下鏈接是官方地圖來(lái)源標(biāo)準(zhǔn)地圖
揣苏;國(guó)家地理信息公共服務(wù)平臺(tái)天地圖
各位在以后的發(fā)表及展示時(shí)候悯嗓,是有強(qiáng)有力的官方來(lái)源基礎(chǔ)支持。
因?yàn)閬?lái)源的渠道有很多種卸察,這里主要介紹三種方法
獲取方式1
這里的數(shù)據(jù)源是引用微信公眾號(hào)R-sf包: 中國(guó)民政部官網(wǎng)官網(wǎng)中國(guó)地圖
,
中國(guó)民政部官網(wǎng)提供了省級(jí)與縣級(jí)兩種類(lèi)型的地圖脯厨,其審圖號(hào)為:GS(2018)2512. 我們直接上代碼:
library(geojsonsf)
library(sf)
library(ggplot2)
######################################
# source1 民政部
# link: https://mp.weixin.qq.com/s/qj1SRc6D8sgYJYaZzDux6Q
######################################
## API前綴
API_pre = "http://xzqh.mca.gov.cn/data/"
## 1.全國(guó)
China = st_read(dsn = paste0(API_pre, "quanguo.json"),
stringsAsFactors=FALSE)
st_crs(China) = 4326
# plot
ggplot(China)+
geom_sf()+
labs(title="Ministry of Civil of PRC",x="Lon",y="Lat")
## 2.全國(guó)縣
xian_quanguo = st_read(dsn = paste0(API_pre, "xian_quanguo.json"),
stringsAsFactors=FALSE)
st_crs(xian_quanguo) = 4326
# save
geo_map = sf_geojson(xian_quanguo,atomise = T)
write(geo_map,"China_xian_MZB.json")
- API前綴都是 http://xzqh.mca.gov.cn/data/,
- 獲取全國(guó)
省
級(jí)地圖,則加后綴quanguo.json; - 獲取全國(guó)
縣
級(jí)地圖蛾派,則加后綴xian_quanguo.json; - 獲取部分地區(qū)俄认,如某個(gè)市的縣級(jí)地圖,則加該行政區(qū)域代碼洪乍,再加.json;
- 如果要獲取市級(jí)地圖眯杏,需要按遍歷行政區(qū)域代碼獲取所有市的地圖,然后合并縣級(jí)區(qū)域壳澳;
- 全國(guó)主要山脈岂贩,南海
九段線(xiàn)
數(shù)據(jù),則加后綴quanguo_Line.geojson;
注:縣級(jí)地圖數(shù)據(jù)不包括香港和澳門(mén)特別行政區(qū)巷波,市級(jí)地圖數(shù)據(jù)不包括臺(tái)灣省萎津。
獲取方式2
數(shù)據(jù)來(lái)源2是基于地圖服務(wù)公司簡(jiǎn)數(shù)科技,
里面包含了數(shù)據(jù)如何下載抹镊,這里的下載簡(jiǎn)數(shù)科技
包含九段線(xiàn)的中國(guó)省級(jí)地圖 China.json
點(diǎn)進(jìn)去以后锉屈,這是json文件,里面的內(nèi)容復(fù)制到txt垮耳,保存好颈渊,改名為Chinamapdata.json遂黍。
,當(dāng)然根據(jù)提示俊嗽,也可下載各個(gè)省的地圖文件雾家。
注意:這里復(fù)制時(shí)候?({"title":
前面的?(
與最后的)
都要去除。
######################################
#source2 簡(jiǎn)數(shù)數(shù)據(jù)
# http://data.jianshukeji.com/
# remove the ?() in Json file
######################################
China_map = read_sf("ChinaJson/Chinamapdata.json")
ggplot(China_map)+
geom_sf() +
labs(title="Jianshu-CRS:3415",x="Lon",y="Lat") ->p1
# 轉(zhuǎn)至CRS 4326
China_map1 = st_transform(China_map,crs = 4326)
ggplot(China_map1)+
geom_sf() +
labs(title="Jianshu-CRS:4326",x="Lon",y="Lat") ->p2
geo_map = sf_geojson(China_map1,factors_as_string = FALSE )
write(geo_map,"China_Jianshu.json")
獲取方式3
該數(shù)據(jù)源是螞蟻金服
AntV 數(shù)據(jù)可視化團(tuán)隊(duì)推出的基于 WebGL 的開(kāi)源大規(guī)模地理空間數(shù)據(jù)可視分析的關(guān)于環(huán)境污染的數(shù)據(jù)源 L7 地理空間數(shù)據(jù)可視分析引擎
支持Python開(kāi)發(fā)及可視化绍豁。
我們主要是加載其中 中國(guó)地圖的數(shù)據(jù)源芯咧。面包含的城市有限,目前正在進(jìn)一步研究中
######################################
#source3 Alipay
######################################
China_map_Ali=read_sf("https://gw.alipayobjects.com/os/rmsportal/JToMOWvicvJOISZFCkEI.json")
China_map_Ali
ggplot(China_map_Ali) +
geom_sf() +
labs(title="Ali-CRS:4326",x="Lon",y="Lat")
這期主要介紹三種關(guān)于中國(guó)地圖的獲取渠道竹揍,
當(dāng)然也有一些R的包敬飒,自帶中國(guó)地圖,如果有感興趣的小伙伴鬼佣,可以自行探索驶拱。
下一期,主要介紹各個(gè)包包括中國(guó)地圖及繪制方法晶衷。
當(dāng)然這里濃重介紹以下,R地圖繪制的學(xué)習(xí)網(wǎng)站阴孟,博主是繪制的大佬晌纫,他也提供標(biāo)準(zhǔn)地圖的數(shù)據(jù)源。---> RStata 學(xué)院
以及關(guān)于世界各個(gè)國(guó)家地圖的下載集合HIGHMAPS永丝,當(dāng)然中國(guó)不標(biāo)準(zhǔn)沒(méi)有臺(tái)灣锹漱。