Neatbo.

照片位置不能证明连续路线

稀疏位置、精确 UTC 同时间与缺失坐标基准如何影响照片生成的 GPX。

有用的照片 GPX 应先明确边界

M_K_Hubbert 描述了从旅行照片坐标生成 GPX、避免手动画路线的需求。Anna 也询问带定位照片生成 GPX,随后说明用于恢复编辑后照片的 GPS,之后找到 ART 元数据设置。这些个案支持照片位置导出任务,不证明浏览器偏好或市场规模。

相机记录拍照地点,并不一定记录地点之间的路线。GPX 轨迹连接已知点,航点模式将它们保留为独立位置;两者都不补写缺失的行程观测。

精确时间有用,仍可能存在顺序歧义

GPS UTC 无需猜测相机时区。排序比较原始精确纳秒,包括分段阈值两侧的 1 纳秒差异。相同时间仍无法证明哪张照片先拍,因此选择序号是稳定排序约定,并附带歧义标记。

必须由 GPSDateStamp 和 GPSTimeStamp 明确提供公历 0001–9999 年的 UTC。时、分为整数,秒须能精确表示到最多 9 位小数。不从本地时钟、相机时间、文件名或文件时间补值;不支持闰秒和循环小数。

谨慎解释照片 GPX
已知事实选择仍未知的部分
照片内嵌位置轨迹或航点导出位置之间的实际路径
明确且相同的 GPS UTC稳定选择顺序并标歧义实际拍摄先后
缺失 GPS 基准仅在已知时明确假定 WGS84坐标本身无法证明基准

分享前保留出处

支持声明为 WGS-84/WGS84 的基准;缺失基准时必须明确确认按 WGS84 处理,已声明其他基准始终拒绝。JSON 保留精确原始有理数;GPX 坐标向零截断至 12 位小数。精确 +180° 经度写为 −180°,并记录等价标记。

结果是稀疏照片位置,不是连续实测路线。不添加道路匹配、插值、地理编码或 GPX 海拔。保留原始海拔、参考值、版本,以及每个 GPS 字段的类型、数量、源字节范围和 SHA256;关键字段另保留原始十六进制。 若 GPS 字段 rawHex 为 null,请按报告中的绝对 valueOffset,从 JPEG 原件读取 byteLength 个字节;SHA256 标识这份精确原始值。

下载包同时包含原始照片、文件名、精确位置与时间。保留结果包用于自己的核查,分享前检查准备分享的内容;浏览器本地处理不会让后续分享的 GPX 自动匿名。

  • 保留原照片 ZIP 供自己核查;交接 GPX 前检查来源序号与哈希。
  • 检查 GPS UTC 与每个同时间标记;保留选择顺序的歧义,不将其称为实际拍摄先后。
  • rawHex 为 null 时,按 valueOffset 与 byteLength 从 JPEG 原件读取精确 GPS 值,并核对 SHA256。
  • 连接稀疏位置可能暗示未实测路径时选择航点;分享前检查文件名、位置与时间。

有限支持的拒绝保护完整性承诺

仅支持 8 位基线 SOF0、单次交错扫描、末尾 EOI,以及一个含经典小端或大端 TIFF 的 Exif APP1,GPS 版本为 2.3/2.4。渐进式 JPEG、BigTIFF、多图 MPF、JUMBF/APP11、XMP、尾随内容及不支持的结构整批拒绝。

任一照片不支持、非法、缺少字段或超预算都会停止整队。选择受支持的原件或修正来源后重试;取消丢弃未完成输出,可重新运行同一批所选文件。

有效渐进式照片也可能超出支持范围。整队拒绝让限制可见;静默跳过可能让其余点看起来像完整旅行。像素解码与源 GPS 准确性属于另外的检查。

参考资料

  • M_K_Hubbert:旅行照片生成 GPX

    已阅读完整第一人称提问:不手动画路线,把照片位置作为旅行 GPX 分享。未提供原始 JPEG,浏览器偏好、地区和需求规模未知。

  • Anna:带定位照片生成 GPX

    后续目的是给编辑后的照片恢复 GPS,并保留随后找到 ART 元数据设置的解决情况。原始 JPEG 配置和 GPX 覆盖范围未知。

  • GPX 1.1 模式

    定义受支持的 GPX 输出结构;模式有效不代表路线实测或原始定位准确。

  • CIPA Exif 标准

    Exif GPS 字段定义与原始有理数;本工具仅支持说明中的有限 GPS 2.3/2.4 配置。

本分类工具使用说明

展开工具,查看操作步骤、可调选项和支持范围,再直接进入工作区。

照片 GPS 转 GPX把受支持的本地 JPEG 原始 GPS 按明确 UTC 排序导出,保留照片原件、出处及完整 GPX/JSON/CSV ZIP。

把旅行照片原件内嵌的 GPS 位置生成稀疏 GPX 轨迹或航点集合。保留每张原始照片,核查精确 GPS UTC 顺序、同时间歧义与坐标出处。

操作步骤

  1. 选择本次旅行的所有 JPEG 照片原件。
  2. 选择轨迹或航点,设置轨迹时间间隔阈值;仅在了解缺失基准时确认 WGS84。
  3. 运行后逐行检查 UTC、源序号、坐标及同时间歧义。
  4. 下载 ZIP,在兼容读取器打开 GPX,用 JSON 与原件核查出处。

可调选项

GPX 输出
稀疏轨迹 · 航点集合
轨迹间隔阈值(秒)
3600

仅在相邻 UTC 间隔严格超过阈值时分段;航点模式不使用。

我确认缺失的基准是 WGS84
默认关闭

仅用于未写 GPS 基准;声明了其他基准始终拒绝。

能力与限制

  • 1–500 张 JPEG 原件,每张最多 10 MiB,合计最多 100 MiB。文件名标签最多 512 个 UTF-8 字节;操作系统文件选择器可能对实际文件名施加更短限制。
  • 仅支持 8 位基线 SOF0、单次交错扫描、末尾 EOI,以及一个含经典小端或大端 TIFF 的 Exif APP1,GPS 版本为 2.3/2.4。渐进式 JPEG、BigTIFF、多图 MPF、JUMBF/APP11、XMP、尾随内容及不支持的结构整批拒绝。
  • 每张照片最多 4096 个 JPEG 标记、4 个 IFD 目录、每目录 512 项、每文件 1024 项;整队最多 100000 个 IFD 项。未知 GPS 标签、目录别名或循环、结构重叠、非法值或必填字段缺失均原子失败。
  • 必须由 GPSDateStamp 和 GPSTimeStamp 明确提供公历 0001–9999 年的 UTC。时、分为整数,秒须能精确表示到最多 9 位小数。不从本地时钟、相机时间、文件名或文件时间补值;不支持闰秒和循环小数。
  • 支持声明为 WGS-84/WGS84 的基准;缺失基准时必须明确确认按 WGS84 处理,已声明其他基准始终拒绝。JSON 保留精确原始有理数;GPX 坐标向零截断至 12 位小数。精确 +180° 经度写为 −180°,并记录等价标记。
  • 每张照片对应一个点,按精确 UTC 排序;相同时间保持选择顺序并标注歧义。轨迹只在相邻时间差严格大于所选 0–86400 秒阈值时分段;航点模式没有轨迹分段。
  • 结果是稀疏照片位置,不是连续实测路线。不添加道路匹配、插值、地理编码或 GPX 海拔。保留原始海拔、参考值、版本,以及每个 GPS 字段的类型、数量、源字节范围和 SHA256;关键字段另保留原始十六进制。 若 GPS 字段 rawHex 为 null,请按报告中的绝对 valueOffset,从 JPEG 原件读取 byteLength 个字节;SHA256 标识这份精确原始值。
  • 屏幕列出所有点,复制内容为有界标量摘要。下载 photo-gps-package.zip 获得所有 JPEG 原字节、photo-points.gpx、完整 photo-points.json 和安全、全字段引号的 photo-points.csv。CSV 文本加单引号前缀;JSON 和原件保留精确文本。
  • 保护性输出限制为 GPX 4 MiB、JSON 8 MiB、CSV 8 MiB、无压缩 ZIP 128 MiB;更严格的输入预算会先限制规模。不静默跳过照片,拒绝或取消均不返回部分结果包。
  • 处理留在当前浏览器,不上传文件、文件名或坐标。解析器检查有限 JPEG/Exif 结构,不解码像素,不证明源 GPS 准确、完整 JPEG/Exif 合规或设备兼容。
打开照片 GPS 转 GPX →