跳转到内容

照片地图

照片文件直接成为 Base 结果,或者被命中的笔记链接时,Advanced Maps 都可以把它放到地 图上。两种情况下都只有可读 GPS 标签才会产生位置;插件绝不会编造位置。

可以直接使用快速开始里的完整地图相册配方,也可以给已有 Base 增加一个照片目录分支:

- file.inFolder("assets/onedrive/Pictures")

JPG、JPEG、PNG、WebP、HEIC、HEIF 和 AVIF 文件可以直接参与。照片只要带 GPS,即使 没有可用的内嵌缩略图,仍会显示为一个圆点。

把 OneDrive 等库外相册接进 Obsidian

Section titled “把 OneDrive 等库外相册接进 Obsidian”

不用把照片复制进库。在库内建立一个指向外部目录的软链接,让 Obsidian 建立索引,再把这 个库内路径写进 Base 筛选器即可。

macOS 或 Linux:

Terminal window
mkdir -p "/path/to/MyVault/assets/onedrive"
ln -s "/path/to/OneDrive/Pictures" "/path/to/MyVault/assets/onedrive/Pictures"

Windows PowerShell(目录联接通常不需要符号链接可能要求的管理员权限):

Terminal window
$vault = "C:\Users\you\Documents\MyVault"
New-Item -ItemType Directory -Force -Path "$vault\assets\onedrive"
New-Item -ItemType Junction `
-Path "$vault\assets\onedrive\Pictures" `
-Target "$env:USERPROFILE\OneDrive\Pictures"

重新加载库,再把这个库内路径写进 Base。

不要把照片目录放进 Base,只筛选笔记:

filters:
and:
- file.inFolder("places")
views:
- type: map
name: 地点
coordinates: coords
trackWeight: 4
trackOpacity: 85
fitMaxZoom: 16

然后在命中的笔记里链接照片:

---
coords: 30.2600,120.1500
---
[[IMG_1234.jpg]]
[[IMG_1235.heic]]

正文普通链接、![[IMG_1234.jpg]] 这种嵌入,以及属性里的文件链接都算。同一张解析成功的 照片只参与一次。Base 不需要包含附件目录;只有希望照片本身也显示在笔记里时,才需要加 ! 做实际嵌入。

一篇笔记的徒步轨迹叠在卫星影像上,照片按各自 EXIF 位置画成缩略图

照片坐标在库中保持 WGS-84,只在地图边界与笔记图钉、轨迹一起换算到底图坐标系。某台相 机把未标注的坐标写成了非标准格式时,可以用照片坐标系强制指定 WGS-84 或 GCJ-02。

缩小地图时,互相碰撞的缩略图会稳定地变稀疏,不会堆成看不清的一团;每张已定位照片仍有 一个圆点。放大后,有空间的缩略图会回来。显示照片显示照片缩略图可以 分别关闭这两个图层。

同一批照片在三级缩放下的表现:放大时缩略图铺满,缩小后只剩稳定的几张,下面是一片圆点

悬停照片会显示它所属笔记的卡片(如果有),卡片里还会带上这张照片本身的预览,密集的地 图上不用点开就能认出是哪一张。点击会在地图上方打开原图,并提供打开笔记;Ctrl/Cmd 点击则在新标签页打开图片文件。

手机上点一下就直接到原图,所以中间那张预览卡片是拿不到的一步。去笔记的路并没有断: 打开笔记就在你刚打开的那张照片里。

从地图图钉打开的定位照片,弹窗中有图片、文件名与打开笔记操作

从照片填写坐标可以把同一个 GPS 标签写进当前笔记的 coords 属性。

首次扫描每张照片最多只读开头 64 KiB。解析出的坐标、时间、方向和缩略图可用性会被缓 存,之后打开大型相册时,无需再次读取每一个没有变化的文件。

清空照片索引只会删除这份可重建缓存。地图继续工作,需要时会重新读取元数据;照片字 节绝不会被修改。