R语言解析json数据地图素材

2020-06-16 00:00:00 数据 提取 地图 经纬度 各区

近几天推送频率之所以下降了,不是因为偷懒,是在攻克一个难题~

还记得前一篇推送,关于山东省财政数据可视化那一篇,因为没有精准、新的山东省县级市边界地图素材数据,花了好多冤枉功夫,搜地图素材各种碰壁,后的得到的地图数据并不尽如人意。

现在shp的素材相比json整体都不太流行了,无论是制作成本上还是占用内存上以及与实际行政区划的更新速度上,json地图素材轻便、时效、易获取,很多网站都提供这种轻量级的数据文件。

可是json文件遵循的JS语法,导入R中之后,全部被强制转化为各种嵌套的list、data.frame、array等混合体,如果没有对R数据结构很好的把握,基本看上一眼就绝望了。

记事本打开的json数据

R中打开的json数据

网页渲染后的json数据代码

虽然难以理解,但是又不得不用,所以再难也得拿下~

这里先说明一下,Json数据格式分为两类,一类是geojson,内部的数据类型显示FeatureCollection,这种类型数据文件里面直接存储的是解码后的经纬度数据,另一类是topojson,这种类型是需要通过坐标转换后才能使用,因为每一个点不是真实经纬度,所以下载的时候一定要看清楚。

这里提供给大家三个网址:

geojson.io/#

以上网址自选、也可以通过导入shp数据转换格式(其中就可以将topojson转化为geojson)。

mapshaper.org/

datav.aliyun.com/static

以下过程我用两个示例展示提取json地图数据的过程:

library("jsonlite")
library("ggplot2")
library(plyr)
library(dplyr)
setwd("D:/R/mapdata/City/")

相关文章