机器学习之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

相关文章

C语言线程池的常见实现方式详解

《C语言线程池的常见实现方式详解》本文介绍了如何使用C语言实现一个基本的线程池,线程池的实现包括工作线程、任务队列、任务调度、线程池的初始化、任务添加、销毁等步骤,感兴趣的朋友跟随小编一起看看吧... 目录1. 线程池的基本结构2. 线程池的实现步骤3. 线程池的核心数据结构4. 线程池的详细实现4.1 初

python获取当前文件和目录路径的方法详解

《python获取当前文件和目录路径的方法详解》:本文主要介绍Python中获取当前文件路径和目录的方法,包括使用__file__关键字、os.path.abspath、os.path.realp... 目录1、获取当前文件路径2、获取当前文件所在目录3、os.path.abspath和os.path.re

Java子线程无法获取Attributes的解决方法(最新推荐)

《Java子线程无法获取Attributes的解决方法(最新推荐)》在Java多线程编程中,子线程无法直接获取主线程设置的Attributes是一个常见问题,本文探讨了这一问题的原因,并提供了两种解决... 目录一、问题原因二、解决方案1. 直接传递数据2. 使用ThreadLocal(适用于线程独立数据)

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

跨国公司撤出在华研发中心的启示:中国IT产业的挑战与机遇

近日,IBM中国宣布撤出在华的两大研发中心,这一决定在IT行业引发了广泛的讨论和关注。跨国公司在华研发中心的撤出,不仅对众多IT从业者的职业发展带来了直接的冲击,也引发了人们对全球化背景下中国IT产业竞争力和未来发展方向的深思。面对这一突如其来的变化,我们应如何看待跨国公司的决策?中国IT人才又该如何应对?中国IT产业将何去何从?本文将围绕这些问题展开探讨。 跨国公司撤出的背景与

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来