原标题:干货分享 | R_ggplot2地理信息可视化_史上最全(二)
前言:
上文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包读取
1## used (Mb) gc trigger (Mb) max used (Mb)
2## Ncells 901585 48.2 1744096 93.2 1744096 93.2
3## Vcells 1789510 13.7 9804475 74.9 12236244 93.4
4## OGR data source with driver: GeoJSON
5## Source: "E:R_input_outputdata_inputJSONGeoJSONChina.geojson", layer: "中国"
6## with 35 features
7## It has 10 fields
4.2 sf包读取
sf包读取中文字符不会乱码。
1## used (Mb) gc trigger (Mb) max used (Mb)
2## Ncells 1112615 59.5 1744096 93.2 1744096 93.2
3## Vcells 2079841 15.9 9804475 74.9 12236244 93.4
4## Reading layer `涓浗' from data source `E:R_input_outputdata_inputJSONGeoJSONChina.geojson' using driver `GeoJSON'
5## Simple feature collection with 35 features and 10 fields
6## geometry type: MULTIPOLYGON
7## dimension: XY
8## bbox: xmin: 73.50235 ymin: 3.397162 xmax: 135.0957 ymax: 53.56327
9## epsg (SRID): 4326
10## proj4string: +proj=longlat +datum=WGS84 +no_defs
4.3 shp格式
4.3.1 rgdal包读取
1## used (Mb) gc trigger (Mb) max used (Mb)
2## Ncells 1113970 59.5 1744096 93.2 1744096 93.2
3## Vcells 2050141 15.7 9804475 74.9 12236244 93.4
4## OGR data source with driver: ESRI Shapefile
5## Source: "E:R_input_outputdata_input全国范围的行政边界和人口密度矢量图CHN_admCHN_adm1.shp", layer: "CHN_adm1"
6## with 32 features
7## It has 16 fields
8## 17647