把有出处的照片位置导出为 GPX
选择受支持的 JPEG 原件,检查明确 GPS UTC,保留完整 GPX、出处和原照片结果包。
保留原件,检查明确 GPS 时间
把旅行照片原件内嵌的 GPS 位置生成稀疏 GPX 轨迹或航点集合。保留每张原始照片,核查精确 GPS UTC 顺序、同时间歧义与坐标出处。
1–500 张 JPEG 原件,每张最多 10 MiB,合计最多 100 MiB。文件名标签最多 512 个 UTF-8 字节;操作系统文件选择器可能对实际文件名施加更短限制。
必须由 GPSDateStamp 和 GPSTimeStamp 明确提供公历 0001–9999 年的 UTC。时、分为整数,秒须能精确表示到最多 9 位小数。不从本地时钟、相机时间、文件名或文件时间补值;不支持闰秒和循环小数。
- 选择本次旅行的所有 JPEG 照片原件。
- 选择轨迹或航点,设置轨迹时间间隔阈值;仅在了解缺失基准时确认 WGS84。
- 运行后逐行检查 UTC、源序号、坐标及同时间歧义。
- 下载 ZIP,在兼容读取器打开 GPX,用 JSON 与原件核查出处。
明确选择连接形式与坐标基准
支持声明为 WGS-84/WGS84 的基准;缺失基准时必须明确确认按 WGS84 处理,已声明其他基准始终拒绝。JSON 保留精确原始有理数;GPX 坐标向零截断至 12 位小数。精确 +180° 经度写为 −180°,并记录等价标记。
每张照片对应一个点,按精确 UTC 排序;相同时间保持选择顺序并标注歧义。轨迹只在相邻时间差严格大于所选 0–86400 秒阈值时分段;航点模式没有轨迹分段。
结果是稀疏照片位置,不是连续实测路线。不添加道路匹配、插值、地理编码或 GPX 海拔。保留原始海拔、参考值、版本,以及每个 GPS 字段的类型、数量、源字节范围和 SHA256;关键字段另保留原始十六进制。 若 GPS 字段 rawHex 为 null,请按报告中的绝对 valueOffset,从 JPEG 原件读取 byteLength 个字节;SHA256 标识这份精确原始值。
- 连接线可能暗示无法证明的路径时,请选航点模式。
- 默认阈值下,恰好 3600 秒仍属于同一段;3600 秒加 1 纳秒会新建分段。
- 相同 GPS UTC 时间保持源文件选择顺序,并明确记录歧义。
打开全部完整交付件
屏幕列出所有点,复制内容为有界标量摘要。下载 photo-gps-package.zip 获得所有 JPEG 原字节、photo-points.gpx、完整 photo-points.json 和安全、全字段引号的 photo-points.csv。CSV 文本加单引号前缀;JSON 和原件保留精确文本。
若 GPS 字段 rawHex 为 null,请按报告中的绝对 valueOffset,从 JPEG 原件读取 byteLength 个字节;SHA256 标识这份精确原始值。
| 文件 | 用途 | 保留内容 |
|---|---|---|
| originals/photo-NNNN.jpg | 核查所选来源 | 每个 JPEG 原字节;原文件名保留在 JSON/CSV |
| photo-points.gpx | 导入稀疏轨迹或航点 | 每个位置、明确 GPS UTC、源名称与序号 |
| photo-points.json | 核查完整来源与 GPS 记录 | 全部点、精确有理数、所有 GPS 字段范围/类型/数量/哈希及关键原始十六进制 |
| photo-points.csv | 在表格中查看全部点 | 文本加单引号前缀;精确值在 JSON |
识别支持范围并从拒绝中恢复
仅支持 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 标签、目录别名或循环、结构重叠、非法值或必填字段缺失均原子失败。
保护性输出限制为 GPX 4 MiB、JSON 8 MiB、CSV 8 MiB、无压缩 ZIP 128 MiB;更严格的输入预算会先限制规模。不静默跳过照片,拒绝或取消均不返回部分结果包。
处理留在当前浏览器,不上传文件、文件名或坐标。解析器检查有限 JPEG/Exif 结构,不解码像素,不证明源 GPS 准确、完整 JPEG/Exif 合规或设备兼容。
任一照片不支持、非法、缺少字段或超预算都会停止整队。选择受支持的原件或修正来源后重试;取消丢弃未完成输出,可重新运行同一批所选文件。
参考资料
- 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 顺序、同时间歧义与坐标出处。
操作步骤
- 选择本次旅行的所有 JPEG 照片原件。
- 选择轨迹或航点,设置轨迹时间间隔阈值;仅在了解缺失基准时确认 WGS84。
- 运行后逐行检查 UTC、源序号、坐标及同时间歧义。
- 下载 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 合规或设备兼容。