怎么用 GPX 文件做一张热力图
一份 GPX 文件只能画出一条线。热力图要等到有足够多的文件叠在一起才会出现——同一段路被五次徒步都走过,就会比只走过一次的路段更亮,这样画出来的地图,看起来已经不太像一次记录,倒更像是你平时到底把时间花在了哪些地方的记录。做到这一步,靠的从来不是某一份文件有什么特别之处,而是攒够足够多的文件,交给一款专门用来把线叠在一起、而不是一条一条画出来的软件。
简单说
把想放进去的 GPX 文件——一个季度的、一整年的,随便哪个范围能看出点名堂——都收进同一个文件夹,然后用能同时画出多条轨迹的地图或 GIS 软件把它们一起打开,而不是一份一份上传到那种只会显示单条路线的地方。文件之间的重叠,正是热力图效果的来源:好几条轨迹都经过的地方,会被画得更亮或者换一种颜色,只有一条轨迹经过的地方则不会。单份文件完全不用提前做任何特殊处理——几乎所有徒步、散步或骑行 App 平时导出的那种普通轨迹,本来就是这个流程要的东西。
「热」到底是从哪儿来的
热力图不是藏在某一份 GPX 文件里、等着被打开的某个功能——它完全是软件一次读入很多份文件、数出地图上每一块地方在所有文件里总共出现了几次,才画出来的东西。单独打开一份文件,画出来的照样只是一条线,跟平时没有任何区别。常走的路发亮、很少走的小岔路依旧暗淡,这种热力图特有的样子,只有在有足够多的轨迹可以互相比较时才会出现——所以真正起作用的是文件的数量,而不是某一次记录本身有什么特别。
文件需要有什么,不需要有什么
热力图只关心轨迹去过哪里,不关心走得多快、坡有多陡、是什么时候走的。每个点只要按顺序带着位置就够了,而这本来就是任何 App 导出的 GPX 轨迹的核心内容。海拔和时间戳虽然大多数导出文件里都会带着,但对热力图本身没有任何作用——一份完全没有海拔数据的轨迹,跟带海拔的轨迹叠加出来的效果完全一样,因为软件比较的始终只是文件之间的经纬度,点上带着的其他东西它根本不看。
一个提醒:热力图会把「起终点」的问题放大,而不是分摊掉
单独分享一份 GPX 文件,暴露的是一次散步的起点和终点。用几个月的文件堆出来的热力图,暴露的是同一件事,只是音量被调大了——自家车库门口在一条轨迹里只出现一次,可一旦它在后面每一份文件里都是同一个地方,就会变成整张地图上最亮的那一个点,因为这正是热力图存在的意义:把这种重复找出来、放大给你看。地图中间的部分,也就是真正的路线,本来就该是最显眼的;把轨迹裁一裁、或者干脆到了登山口再开始记录的习惯,在很多份文件叠在一起的时候,比一份一份分享的时候更值得坚持,而不是可以松懈的地方。
- 起点或终点在家附近的文件,与其一份一份裁剪,不如直接不放进热力图里——尤其是这张热力图以后有可能离开自己手里的话。
- 自己留一份完整、没处理过的历史。给别人看的热力图,不必用跟自己平时留着的一模一样的文件去做。
TrailCam 在这里能帮上什么
TrailCam 既能把单条路线导出成 GPX 1.1,也能把整段记录历史一次性导出,所以做热力图从一开始靠的就是本来就有的导出文件,不用专门为此再导一次——每一次山行,从导出的那一刻起,就已经是一份独立的 GPX 文件了。GPX 导出属于可选的 TrailCam Pro 功能,TrailCam 本身免费下载。
常见问题
- 做热力图需要 GPX 文件里带海拔数据吗?
- 不需要。热力图只比较文件之间每个点的位置,有没有海拔完全不影响它的样子。没有海拔数据的轨迹,跟带海拔的轨迹叠加出来的效果一样。
- 就一次徒步能做出热力图吗?
- 基本做不出来。单份文件只会画出一条线,因为没有别的轨迹可以跟它重叠。热力图那种效果,要等到有好几条轨迹都经过同一片地方、有些路段被覆盖的次数比别的多,才会显现出来。
- 用一堆从家出发的山行做热力图,会不会比分享一份 GPX 文件更危险?
- 会。分享一份文件暴露的只是一个起点,但用很多份文件做出来的热力图,会把同一个地点每次出现都重复标出来——这正是热力图本来就是为了把这种规律凸显出来而存在的。
记录你自己的轨迹
TrailCam 是一款 iPhone 上的 GPS 轨迹记录 App,会把沿途拍的视频、照片和语音钉在你拍下它的那个位置,并支持导出成 GPX 1.1 或 CSV。免费下载。