作者:李誉辉
四川大学在读研究生
前言
上文R_ggplot2地理信息可视化_史上最全(一)讲了sp和sf数据类型,这篇讲解地图数据集以及与其他几何对象的结合,还有栅格地图。
注:蓝字表示文末有其网址链接
4.地图数据集
地图数据集常见2中格式:json,包括GeoJSON(文件后缀为.geojson)和TopoJson(文件后缀为.json)。
shp, shp对象比较特殊,是由很多个文件组成的,
通常在同一个文件下还有.shx和.dbf格式的文件。这些文件必须在一起,否则不能成功读取。
.rds,这是一种文件格式,分为sp.rds和sf.rds两种,分别对应p和sf两种数据结构。
使用sp::readRDS()读取。
地图数据集读取包及函数
如上图所示,rgdal和sf功能比较全,用得也比较多。
地图集下载网站:GADM,注意该网站中,中国地图不包含台湾。
中国县级地图 (见文末)提取码:uomy
OpenStreetMap
阿里云地图,左上角框框里面选择区域,左下角选择下载格式。
地图数据在线转换格式:geojson.io,在线解析和转换格式。
mygeodata converter
IGIS Map Converter
推荐使用rmapshaper::ms_simplify()简化地图数据,可以指定简化比例,不然真的很卡,
该包使用拓扑学的知识简化多边形,简化后在常规分辨率下根本看不出来差别。
该函数支持json,sp,sf等多种输入对象。
object.size()可以查看数据集的存储大小。
4.1 json格式
4.1.1 rgdal包读取1rm(list = ls()); gc() # 清空内存2library(ggplot2)34path1
4.2 sf包读取
sf包读取中文字符不会乱码。1rm(list = ls()); gc() # 清空内存2library(ggplot2)3library(sf)45path1
4.3 shp格式
4.3.1 rgdal包读取1rm(list = ls()); gc() # 清空内存2library(ggplot2)34path1