首页 微文推荐内容详情

可视化陷阱,揭秘keep运动地图的可视化表达

2021-03-19 4163 admin

关注城市数据人微信公众号

欢迎添加星标,重要信息不错过

网站:udu.org.cn


UDU:近日城市数据人发表文章:大家都在哪些地方跑步?大数据在这张地图上都给你标好了,为大家推荐了一个很棒的数据,跑步路径可视化地图。此后小猿猴微信号进行了解读:keep轨迹数据获取方法探索


大部分小伙伴都只是对keep的可视化地图感到惊艳,认为作为城市研究的辅助数据,从地图上的可视化结果,就能够给我们一些建议。


回到地图本身,大家第一眼被吸引就是漂亮的可视化表达,但是你是不是认为,图中的黄色区域,就是运动人群最密集的区域呢?如果你也这么认为,那可能就进入了可视化的陷阱里了。经过刘啸老师的指导,我们发现不同色彩的线条,其实代表了不同的含义,而只有对于这些含义有所了解,才能够真正明白这张图的可视化要表达的意思。


注意,本文指的“可视化陷阱”是指主观解读地图时候容易出现的问题,并非指keep地图出现了表达错误,因为这个地图本来就不是给研究者看的,这一点需要提前说明,并感谢这个地图给了我们不一样的观察视角。


首先,我们先拿一张上海的keep地图进行观察:



很明显看出,沿着黄浦江两岸的色彩最显著,是亮黄色,那么是不是这里跑步的人最多?另外还有几种不同的绿色,似乎也是通过深浅来表达不同色彩人群的密集度。所以大家可能会得出结论:黄色地区,跑步的人多,大家更愿意去黄色的地方运动。


由于Keep地图并没有给出不同色彩代表的含义,但是前端表达大多是直接写在网页的js文件里,因此直接在页面右键(一打开页面就右键,否则加载完毕后右键会屏蔽),查看源代码,可以发现:


<script src="https://staticweb.keepcdn.com/staticShow/js/maptrackNew-769c297701.js"></script>


也就是maptrackNew-769c297701.js,用记事本或者notpad++打开他,如果觉得格式可读性差,可以百度下“js格式化,把代码复制出去,格式化一下。然后就能够在里面看到一个很有趣的表达:


"5k2020": {

id: "5k2020",

  type: "line",

  source: "5k2020",

"source-layer": "5km_20",

  paint: {

"line-color": "#4ceb00",

"line-opacity": {

      base: .02,

      stops: [[0, .2], [10, .2], [13, .1], [15, .2]]

    },

    "line-width": {

base: 3,

      stops: [[0, 2], [10, 1.8], [13, 1], [15, 2], [25, 3]]

    },

    "line-blur": {

stops: [[3, 10], [16, 0]]

    }

  }

},

"10k2020": {

id: "10k2020",

  type: "line",

  source: "10k2020",

"source-layer": "10km_20",

  paint: {

"line-color": "#6aeb00",

"line-opacity": {

      base: .08,

      stops: [[0, .2], [5, .2]]

    },

    "line-width": {

base: 3,

      stops: [[0, 2], [11, 2], [13, 1.5], [15, 2], [25, 3]]

    },

    "line-blur": {

stops: [[3, 10], [16, 0]]

    }

  }

},

marathons2020: {

id: "marathons2020",

  type: "line",

  source: "marathons2020",

"source-layer": "marathons_2020",

  paint: {

"line-color": "#ffde00",

"line-opacity": {

      base: .03,

      stops: [[0, .2], [10, .18]]

    },

    "line-width": {

base: 3,

      stops: [[0, 2], [11, 2], [13, 1.5], [15, 2], [25, 3]]

    },

    "line-blur": {

stops: [[3, 10], [16, 0]]

    }

  }

},

abroad2020: {

id: "abroad2020",

  type: "line",

  source: "abroad2020",

"source-layer": "abroad_20",

  paint: {

"line-color": "#6aeb5c",

"line-opacity": {

      base: .5,

      stops: [[0, .2]]

    },

    "line-width": {

base: 2,

      stops: [[0, 2]]

    },

    "line-blur": {

stops: [[3, 10], [16, 0]]

    }

  }

}


这上面很明显是不同的路径距离以及显示方式,例如“line-color”代表了路径的颜色,“line-opacity”代表了透明度,只有透明度存在,不同的要素叠加才能产生复杂的效果,另外还有路径的宽度,以及指标的步长,即不同显示级别下路径的表达方式。


上面这段代码,其实就是这张图的“图例”了,我们把上面的色彩代码表达出来,如下图:



从图中可以看出,这是2020年的数据,分别为5000米路径、10000米路径、10000米以上(以马拉松代称)路径、国外路径。


这样看来,在国内的数据,不同色彩代表的是“跑步路径的长度”,而不是说“在这里跑步的人数”。这个表达的差别,就是空间研究与商业运营的区别。


在Keep的思维模式里,中、短、长距离的路径,可能代表了不同的人群,对这些人群进行有针对性行的服务,符合商业的逻辑。但是如果对于城市研究者,需要更深入考虑一层,即黄色(或者是粗线条)的部分,代表的是一种客观空间的使用频度表达,即有一部分人群,喜欢在这里跑步,而且由于经常性的活动,导致这里跑步路径使用频度比较高,从这个角度出发,才能有正确的研究逻辑。


所以黄色地区,跑步的人多,大家更愿意去黄色的地方跑步”是不准确的,更准确的表达应该是“黄色区域,空间被使用的频度更高,可能适合运动跑步”,因为到底是一个人的重复路径,还是多个人的共同选择,是无法判断的。前者是对人群偏好的判断,后者是对空间使用频度的判断,一个默认了大众偏好,一个表达了客观事实,二者的理解方式是不同的。


另外数据中还有一个abroad的值,表达了国外的路径颜色。如果按照上面的分析,那国外城市的路径就只有一种颜色,没有距离区分,我们打开伦敦为例:



果然如此,伦敦等国外的城市,都用一种颜色进行了表达。同样,他也表达了空间的被使用频率,但没有表达出人数的多少。


另外,这个地图是有矢量数据,以及栅格数据同时存在的,但由于数据安全考虑,对这一部分就不再细说,因为对大多数人来说,一张截图辅助说明已经足够了,如果想直接下载大图,也可以用规划云网站地图的方式,也可以下载大图。


总之,以上内容希望给大家分享下对于这张地图的理解,同时也提醒大家在看到一张可视化地图时候,一定要思考背后的故事,地图是表达了制作者的观点,抓住背后的观点需求,才能更好的理解并使用。


最后,还有一个看图的窍门分享给大家,拿到一张地图时候,先看什么?对了,是图例。没有图例的图,似乎就隐藏了什么秘密,值得大家去好好发现。


注:本文最初来自刘啸老师发现,感谢刘啸老师的指导。


Keep跑步运动轨迹地图已经加入城市数据人网站:udu.org.cn,在菜单中的【数据】->【地图数据】栏目中可以点击查看。



同时也放到了规划云网站首页,方便大家随时查询。




更多内容,欢迎大家加入国匠城-城市数据学社,根据APP内置顶帖,领取Datamap-Excel数据分析插件,以及在APP内接收日常更新,共同交流共同进步~


长按二维码,加入国匠城-城市数据学社知识星球,知识星球APP下载地址:zsxq.com,下载安装后使用微信登陆即可。


生成海报