机器学习之R语言获取中国标准官方地图(含官方网站)

2024-01-18 05:20

本文主要是介绍机器学习之R语言获取中国标准官方地图(含官方网站),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

介绍

今天,给大家介绍一下,如何利用R语言获取中国地图。有一点大家清楚,网络上很多教程关于R绘制中国地图。
但是中国地图的绘制涉及到国家主权,及以前旧版本地图,西藏领地不全,没有台湾,也没有南海九段线。中国地图最常见的问题有四个:

  • 1 中国台湾部分的缺失;
  • 2 南海与九段线的缺失;
  • 3 西藏交界的中印边界划分有误;
  • 4 新疆与西藏交界的中印边界划分有误;

这里介绍的是标准的中国地图,标准地图依据中国和世界各国国界线画法标准编制而成,可用于新闻宣传用图、书刊报纸插图、广告展示背景图、工艺品设计底图等,也可作为编制公开版地图的参考底图。是需要被官方认证的。以下链接是官方地图来源标准地图;国家地理信息公共服务平台天地图

image.png

各位在以后的发表及展示时候,是有强有力的官方来源基础支持。
因为来源的渠道有很多种,这里主要介绍三种方法

获取方式1

这里的数据源是引用微信公众号R-sf包: 中国民政部官网官网中国地图,
中国民政部官网提供了省级与县级两种类型的地图,其审图号为: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.全国
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.全国县
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")

image.png

  • API前缀都是 http://xzqh.mca.gov.cn/data/,
  • 获取全国级地图,则加后缀quanguo.json;
  • 获取全国级地图,则加后缀xian_quanguo.json;
  • 获取部分地区,如某个市的县级地图,则加该行政区域代码,再加.json;
  • 如果要获取市级地图,需要按遍历行政区域代码获取所有市的地图,然后合并县级区域;
  • 全国主要山脉,南海九段线数据,则加后缀quanguo_Line.geojson;

注:县级地图数据不包括香港和澳门特别行政区,市级地图数据不包括台湾省。

获取方式2

数据来源2是基于地图服务公司简数科技,
里面包含了数据如何下载,这里的下载简数科技包含九段线的中国省级地图 China.json
点进去以后,这是json文件,里面的内容复制到txt,保存好,改名为Chinamapdata.json。
,当然根据提示,也可下载各个省的地图文件。
注意:这里复制时候?({"title":前面的?(与最后的)都要去除。

image.png

######################################
#source2 简数数据
# 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# 转至CRS 4326
China_map1 = st_transform(China_map,crs = 4326)ggplot(China_map1)+geom_sf() +labs(title="Jianshu-CRS:4326",x="Lon",y="Lat") ->p2geo_map = sf_geojson(China_map1,factors_as_string = FALSE )
write(geo_map,"China_Jianshu.json")

image.png

获取方式3

该数据源是蚂蚁金服 AntV 数据可视化团队推出的基于 WebGL 的开源大规模地理空间数据可视分析的关于环境污染的数据源 L7 地理空间数据可视分析引擎
支持Python开发及可视化。

我们主要是加载其中 中国地图的数据源。面包含的城市有限,目前正在进一步研究中

######################################
#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") 

image.png

这期主要介绍三种关于中国地图的获取渠道,
当然也有一些R的包,自带中国地图,如果有感兴趣的小伙伴,可以自行探索。
下一期,主要介绍各个包包括中国地图及绘制方法。

当然这里浓重介绍以下,R地图绘制的学习网站,博主是绘制的大佬,他也提供标准地图的数据源。—> RStata 学院

以及关于世界各个国家地图的下载集合HIGHMAPS,当然中国不标准没有台湾。

参考:

  1. https://tidyfriday.cn/
    2.https://mp.weixin.qq.com/s/qj1SRc6D8sgYJYaZzDux6Q
    3.https://code.highcharts.com/mapdata/

这篇关于机器学习之R语言获取中国标准官方地图(含官方网站)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/618142

相关文章

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

Python使用OpenCV实现获取视频时长的小工具

《Python使用OpenCV实现获取视频时长的小工具》在处理视频数据时,获取视频的时长是一项常见且基础的需求,本文将详细介绍如何使用Python和OpenCV获取视频时长,并对每一行代码进行深入解析... 目录一、代码实现二、代码解析1. 导入 OpenCV 库2. 定义获取视频时长的函数3. 打开视频文

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

Go语言中nil判断的注意事项(最新推荐)

《Go语言中nil判断的注意事项(最新推荐)》本文给大家介绍Go语言中nil判断的注意事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.接口变量的特殊行为2.nil的合法类型3.nil值的实用行为4.自定义类型与nil5.反射判断nil6.函数返回的

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

MySQL 获取字符串长度及注意事项

《MySQL获取字符串长度及注意事项》本文通过实例代码给大家介绍MySQL获取字符串长度及注意事项,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 获取字符串长度详解 核心长度函数对比⚠️ 六大关键注意事项1. 字符编码决定字节长度2

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

python3如何找到字典的下标index、获取list中指定元素的位置索引

《python3如何找到字典的下标index、获取list中指定元素的位置索引》:本文主要介绍python3如何找到字典的下标index、获取list中指定元素的位置索引问题,具有很好的参考价值,... 目录enumerate()找到字典的下标 index获取list中指定元素的位置索引总结enumerat

SpringMVC高效获取JavaBean对象指南

《SpringMVC高效获取JavaBean对象指南》SpringMVC通过数据绑定自动将请求参数映射到JavaBean,支持表单、URL及JSON数据,需用@ModelAttribute、@Requ... 目录Spring MVC 获取 JavaBean 对象指南核心机制:数据绑定实现步骤1. 定义 Ja

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再