香港行山打卡地图 2020 版 • 手艺

by 服老思, on 2020-12-31
永久链接

香港行山地图

图中的路线都是人踩出来的,颜色越深代表踩过的人越多。

虽然和平时看到的路网不太一样,但香港的轮廓还是非常清晰。可见这群人是多么恐怖,几乎把能踩的角落都踩过一遍,不放过每一个离岛。而四大远足路径,自然而然被大家用脚高亮出来了。

地域热力图

香港岛

大屿山

八仙岭-船湾一带

新界东

四季热力图

据说香港是没有四季的。不知道行山的有没有四季?

将人们的行山记录按照四季过滤后,得到以下的组图。

春:3月-5月

夏:6月-8月

秋:9月-11月

冬:12月-2月

不知道大家看出什么区别了吗?似乎不太明显。

唯一可见的是,夏季大家少去一些无遮挡的地方,比如大东山、凤凰山、青山、船湾、……

昼夜热力图

晨:5:00-7:59am

夜:7pm-2:59am

住在港岛上,似乎早晨偏爱 Wilson、晚上偏爱太平山顶和维港。也有一种说法,年轻人喜欢住港岛西,老年人喜欢住港岛东,所以体现出昼夜不同的热力图。

大神轨迹

有一些单次超过 50km 的记录,引起了我的注意,想看看大神都在哪里。

首先,水上有不少轨迹,估计是有的人坐在船里,忘记关表了…… 但也许是故意的。

>50km 的记录

其次,可以发现很多轨迹的运行速度非常快,不像是跑步所能企及。

我们把热力图和路网图叠加起来,则可以发现蛛丝马迹 —— 大部分和公路重合,所以估计这部分记录来自骑单车的同学。

叠加路网图

最后,我们过滤出 100km 左右的轨迹,再限制配速到正常的跑山速度(<6min)。

100k,且配速 <6min/km

最亮的是麦理浩径了,全长 100k。麦理浩确实很有眼光,比那些把自己名字刻在楼盘上的土豪强多了。

其他的还有环大屿山。

以及“大冷”:一条总长 80km,环绕的新界一圈路径,为单车界的考牌路线。

想偶遇大神的,可以去这些地方看看。

技术覆盘

使用工具:Python 数据抓取、清洗、合并路径;QGIS 制图;底图来自 MapTiler 插件。

基础热力图

使用采样数据,共绘制了 4000 条记录,共 300 M(矢量图 PDF 版本)。

进阶热力图

原始数据:50 万的 gpx 文件

本次使用 GCP 的 Dataflow,解析了 50 万的 gpx 文件,排除有误的文件,剩余 35 万条路径,总共 2 亿个座标点。逻辑比较简单,就是 flatMap,暴力节省时间。总共运行 6 小时左右,花费 HK$60。

接着在 BigQuery 里面解析时间,由于是内建的流程,比在 dataflow 里面用 python 做,效率提高不少。基本上 10G 左右的 query,都是在 10s 内完成。筛选出符合条件的座标点后,再进行采样,控制每次输出在 10K-100K 个点左右。花费 HK$8。

最后使用 QGIS,将 CSV 文件可视化出来。只要有经纬座标两列,就可以直接载入。底图使用的 MapTiler 提供的矢量层,选择的是 Topo 这个样式下面的 hillshades 层。QGIS 是开源软件,免费。MapTiler 的入门级就够用, API key 是免费的。

博闻 | 明察 | 躬行
心法 | 手艺 | 随想

REF

[1] 香港行山终极打卡地图: https://docs.google.com/document/d/1IgXbsytkUmAsNEAcl6SOlPeGbVYe0Ow_J42cBIQV8yQ/edit

[2] 四季行山地图: https://docs.google.com/document/d/1XJrXvJQ_CFBpOaPSR6yvhd_rpZzIXJWjwPCARKoMlfY/edit