轨迹与区域
Advanced Maps 支持 GPX、GeoJSON、KML 和 TCX。轨迹文件可以直接成为 Base 结果,也 可以被命中的笔记链接;被链接的文件继承所属笔记的图钉颜色。
把轨迹画在已有 Base 地图上
Section titled “把轨迹画在已有 Base 地图上”希望轨迹出现在 Base 地图上、而不是在笔记中再生成一张地图时,使用普通链接,不加 !:
---coords: 30.215709,120.130799---
[[track.gpx]]只要 Base 包含这篇笔记,地图就会画出轨迹。写在属性里的链接也一样:
track: '[[track.gpx]]'只有确实想在正文里再放一张独立轨迹地图时,才使用嵌入:
![[track.gpx]]| 写法 | Base 或周围地图 | 笔记里的内联轨迹地图 |
|---|---|---|
[[track.gpx]] |
绘制轨迹 | 无 |
track: "[[track.gpx]]" |
绘制轨迹 | 无 |
![[track.gpx]] |
绘制轨迹 | 有 |
正文普通链接、嵌入和属性里的文件链接会分别解析并去重。只有实际嵌入会创建内联地图。
轨迹带有不同的起点与终点标记、方向箭头和具名途经点;显示轨迹标记可以关闭这些附 加元素。

在 Base 地图上指着一条轨迹
Section titled “在 Base 地图上指着一条轨迹”悬停轨迹会打开这篇笔记自己的气泡——和它的图钉打开的是同一张卡片——卡片里多出一行,说 的是指针底下的那个东西。手机上点一下轨迹,打开的是同一张卡片,多出来的也是同一行。
- 一条轨迹:加上这一个文件的距离、爬升和总时长,标题就是文件自己的名字。一篇笔记 里上午一段徒步、下午一段骑行,两条各报各的,不会加成一个谁也不描述的数。
- 一个具名途经点:改为显示它的名字。显示轨迹标记关掉后,名字和标记一起消失。
- 一个面:什么也不加。边界不是走过的距离。
只有文件真正记录过的项才会出现:没有海拔的 GPX 显示距离和时间,没有时间戳的显示距离
和爬升。其余的——下降、海拔范围、移动时间、配速和高程剖面——留在内联的
![[track.gpx]] 里,那里放得下。
如果一篇笔记要显示的属性全为空,内置地图根本不会为它弹出气泡,也就没有可加的地方。这 是它对图钉本来的规则,这里照旧。
GeoJSON 与 KML 区域
Section titled “GeoJSON 与 KML 区域”GeoJSON 和 KML 里装的可以是面,而不是轨迹。面用所属笔记的颜色填充,边界用同样的线宽 描出,洞仍然是洞。
面不带方向箭头,也没有起点终点标记,不计入内联地图下方的统计。点击时它排在最后:落在 面里的图钉、途经点或照片,点击仍然归它们自己。

内联轨迹地图与统计
Section titled “内联轨迹地图与统计”内联的 ![[track.gpx]] 是一张实时地图,下面显示距离、累计爬升与下降、海拔范围、总时
长与移动时间、配速和高程剖面。源文件没有的数据直接省略,不会显示成 0。悬停剖面时,地
图上的游标会沿轨迹移动,反过来也一样。手机上两个方向都听点击的:点剖面,游标沿轨迹
移动;点轨迹,剖面的读数跟着走。没有指针可以离开,所以读数会一直停在你点的地方,直
到你点向别处。


累计爬升会忽略 5 米以内的变化,抑制 GPS 漂移;移动时间统计 0.9 km/h 以上的速度,让慢 走和爬楼梯仍然算作移动。
这一整套要不要发生,由设置 → 轨迹里的内联轨迹地图决定。关掉之后本插件不接管任
何轨迹文件,嵌入的 ![[track.gpx]] 就是 Obsidian 自己做出来的那个嵌入——也就是没装这个
插件时的样子。已经打开的笔记要重新打开才会变。
内联轨迹地图还会绘制宿主笔记链接的定位照片。下方统计仍然只描述轨迹本身。

能被 Base 排序的统计
Section titled “能被 Base 排序的统计”上面这些数字只活在嵌入里,任何筛选都够不着。把轨迹数据写进属性会统计当前笔记链 接的轨迹文件,把结果作为数字写进这篇笔记自己的属性:
track-distance-km: 13.62track-ascent-m: 512track-descent-m: 499track-lowest-m: 12track-highest-m: 1850track-duration-min: 161track-moving-min: 148track-speed-kmh: 5.5track-start: 2024-05-01T09:30| 属性 | 单位 | 来源 |
|---|---|---|
track-distance-km |
公里,两位小数 | 所有轨迹段之和 |
track-ascent-m |
米 | 超过 5 米噪声阈值的爬升 |
track-descent-m |
米 | 同上,下降 |
track-lowest-m |
米 | 文件里出现过的最低海拔 |
track-highest-m |
米 | 最高海拔 |
track-duration-min |
分钟 | 最后一个时间戳减第一个 |
track-moving-min |
分钟 | 0.9 km/h 以上的时间段 |
track-speed-kmh |
公里/小时,一位小数 | 距离除以移动时间 |
track-start |
本地日期时间,精确到分钟 | 最早的时间戳,按本机时区 |
单位写在属性名里,是因为属性里的裸数字本身不说明自己是什么。这样 Base 就能按距离排
序、筛出 track-ascent-m > 800,或者把一个月加起来。track-start 只精确到分钟也是同
一个道理:Obsidian 只把这种写法认成日期时间属性,后面再加上秒就变成纯文本了。

三件需要知道的事:
- **它只在你运行时运行。**之后再改轨迹文件,不会自动回头改写链接它的笔记——再运行一 次即可。
- **一篇笔记就是一行。**笔记链接两个轨迹文件时,一组属性描述两者。距离、爬升和移动时
间相加;
track-duration-min是首尾时间戳之差,因此会把上午徒步和下午骑行之间的空档 也算进去;配速是总距离除以总移动时间,所以一个带时间的 GPX 配上一个没有时间的 GeoJSON,读出来会比实际快。这些都和这两段装在同一个文件里时完全一样。 - **它只管当前正在写的这些名字。**这些之外的属性它从不读、不写、也不删;如果某个名字 正好撞上坐标属性或地名属性,或者两项数据用了同一个名字,命令会拒绝执行,而不是覆盖 过去。
挑要写哪几项
Section titled “挑要写哪几项”设置 →轨迹 →轨迹属性里,每项数据占一行:它写出来叫什么,旁边一个开关,九项默认 全开。关掉某一项,命令就完全够不着它了:不会为它写任何东西,笔记里已经按它的名字写好的 属性也原样留着——关掉一项是在决定下次怎么写,不是让它去删已经有的东西。于是一本走路的 流水账可以只留距离和出发时间,其余七项一篇笔记也不沾。
全部关掉时就没什么可写了,命令会直接这么说,而不是报告自己写了 0 个属性。
自己给这些列起名
Section titled “自己给这些列起名”每项数据那一行上都有自己的名字框,开关关掉时它是灰的。页面顶上的属性前缀一次决定所
有——填 ride 就是 ride-distance-km 那一套。某一行自己的框决定它自己,而且你填进去的
就是完整的属性名,前缀不再往前面拼:
距离: 13.62爬升: 512track-descent-m: 499这是在「距离」那一行填了 距离、「累计爬升」那一行填了 爬升,而下降那一行留空,所
以仍然按前缀命名。留空的框里会显示这一项将会用的名字,好让你看清留空意味着什么;把框
清空就回到那个名字。
有一点要注意:改名不会去改笔记里已经写好的东西。命令只碰当前配置的这些名字,所以按旧 名字写进去的属性会一直留在那儿,要自己删——要么先改名再统计,要么事后清理掉旧的那一列。
链接的照片不参与统计:一张照片只有一个点,没有距离、爬升和时长。