private static TileArchiveConfig.Format getFormat(URI uri) {
    String format = parseQuery(uri).get("format");
    for (var value : TileArchiveConfig.Format.values()) {
      if (value.isQueryFormatSupported(format)) {
        return value;
      }
    }
    if (format != null) {
      throw new IllegalArgumentException("Unsupported format " + format + " from " + uri);
    }
    for (var value : TileArchiveConfig.Format.values()) {
      if (value.isUriSupported(uri)) {
        return value;
      }
    }
    throw new IllegalArgumentException("Unsupported format " + getExtension(uri) + " from " + uri);
  }
Definition for a tileset, parsed from a URI-like string.
<p>
{@link #from(String)} can accept:
<ul>
<li>A platform-specific absolute or relative path like {@code "./archive.mbtiles"} or
{@code "C:\root\archive.mbtiles"}</li>
<li>A URI pointing at a file, like {@code "file:///root/archive.pmtiles"} or
{@code "file:///C:/root/archive.pmtiles"}</li>
</ul>
<p>
Both of these can also have archive-specific options added to the end, for example
{@code "output.mbtiles?compact=false&page_size=16384"}.

@param format  The {@link Format format} of the archive, either inferred from the filename extension or the
               {@code ?format=} query parameter
@param scheme  Scheme for accessing the archive
@param uri     Full URI including scheme, location, and options
@param options Parsed query parameters from the definition string
planetiler-core/src/main/java/com/onthegomap/planetiler/archive/TileArchiveConfig.java