Skip to content

Add a command reference - #936

Merged
caglarpir merged 6 commits into
mapillary:mainfrom
caglarpir:docs-command-reference
Nov 4, 2026
Merged

caglarpir merged 6 commits into
mapillary:mainfrom
caglarpir:docs-command-reference

Conversation

@caglarpir

Copy link
Copy Markdown
Contributor

Adds docs/command_reference.md: what each command does, its options and defaults, examples, and the gotchas that users run into, with the exit codes and the environment variables. It describes main, plus the GPX reading of #935 (only track points with a time that can be read; routes and waypoints are not read), which ships in the same release.

The examples were run against main (uploads with --dry_run).

docs/command_reference.md: what each command does, its options and
defaults, examples, and the gotchas that users run into, with the exit
codes and the environment variables. It describes main, and the GPX
reading of mapillary#935, which ships in the same release.
upload skips what it uploaded before by the checksum of a whole image
sequence, video or zip file: a sequence with one image added is
uploaded again, and a video is recognized by its file alone.
check_upload_history reports zip files too, and looks images up one by
one.
- Only native rejects EXIF GPS minutes or seconds above 60: with
  ExifTool installed, the exiftool_runtime fallback geotags the image at
  a wrong position.
- One image that fails to upload fails its sequence; exit code 17 also
  stops the upload.
- Interval sampling reads the creation time only with --geotag_source
  gpx; with --video_geotag_source gpx it refuses a long track, as
  distance sampling does, and the error prints the track start only for
  a track shorter than a day.
- processed_file_count counts files by extension before processing,
  including those that --filetypes leaves out.
- In sample_video, --video_start_time only sets the capture times.
- The config is a file in ~/.config/mapillary/configs/, and
  MAPILLARY_CONFIG_PATH must name a file.
- Smaller: which errors move on to the next source, when gpx without a
  path stops the command, error entries are not schema-checked, the
  other image extensions, --dryrun.
- A track assumed to start with a video without GPS is never refused
  for its length, in process or in sampling, and the creation time is
  never used to place it: a MapillaryGPXAlignmentWarning says when the
  track and the video differ in length (mapillary#944). Only
  --interpolation_use_gpx_start_time still refuses a long track.
- A file that a GPX or NMEA track missed fails with the miss when no
  later source geotags it (mapillary#938).
- The process report lists the geotagging warnings (mapillary#945).
- upload caches the checksums of the files, and shows progress while
  computing them (mapillary#942, mapillary#943).
process writes the report before processing starts, and again with the
warnings once geotagging has run (mapillary#945).
)

video_process refuses a track that runs on past the end of a video
without a GPS clock for longer than the video lasts, unless
--video_start_time or --interpolation_offset_time places it; with
--video_geotag_source gpx, interval sampling leaves the frames without
positions. process refuses a track of a day or more unless the video
lasts more than half as long.
@caglarpir
caglarpir merged commit 4dd8802 into mapillary:main Nov 4, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant