Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expand mbtiles crate with binary targets #667

Open
6 tasks
nyurik opened this issue May 18, 2023 · 0 comments
Open
6 tasks

Expand mbtiles crate with binary targets #667

nyurik opened this issue May 18, 2023 · 0 comments
Labels
enhancement mbtiles Anything related to Martin's MBTiles support

Comments

@nyurik
Copy link
Member

nyurik commented May 18, 2023

mbtiles crate has some good functionality to handle mbtiles (sqlite), and it would benefit mbtiles users to get some more functionality:

  • show mbtiles' metadata
  • compute available zoom min/max
  • support conversion between "deduplicated data with the view schema" vs "simple schema" for storing tiles. Dedup schema is the one where there are two tables: z, x, y, hash and hash, tile_data, plus a view to join them.
  • support comparing two sqlite files
  • support diffing between two sqlite files
  • allow to get and set metadata values, e.g.
    mbtiles set-meta <file> <property> <new_value>

Overall structure could be a single binary, and CLI styled similar to git: mbtiles meta <file.mbtiles>. Some of these functions could be copied from the OMT's mbtiles-tools (except that it should be far simpler to install with cargo install martin-mbtiles (we may want to rename martin-mbtiles into mbtiles for simplicity?)

The above should probably be done as individual sub-tasks

@nyurik nyurik added enhancement mbtiles Anything related to Martin's MBTiles support labels May 18, 2023
nyurik added a commit to nyurik/martin that referenced this issue Jun 1, 2023
Must merge maplibre#694 first!

This will be the entry point for maplibre#667
nyurik added a commit to nyurik/martin that referenced this issue Jun 1, 2023
Must merge maplibre#694 first!

This will be the entry point for maplibre#667
nyurik added a commit to nyurik/martin that referenced this issue Jun 1, 2023
Must merge maplibre#694 first!

This will be the entry point for maplibre#667
nyurik added a commit that referenced this issue Jun 1, 2023
This will be the entry point for #667
nyurik added a commit to nyurik/martin that referenced this issue Jun 1, 2023
nyurik added a commit to nyurik/martin that referenced this issue Jun 1, 2023
nyurik pushed a commit that referenced this issue Jun 3, 2023
* Add functionality to retrieve a metadata value in an mbtiles file by
key; simple implementation for one of the items in #667
* Also, disable TTY in docker-up `just` target
nyurik pushed a commit that referenced this issue Jun 14, 2023
Feature for `Mbtiles` struct to detect which format a `.mbtiles` file is
in according to the [MBTiles
specfication](https://github.com/mapbox/mbtiles-spec/blob/master/1.3/spec.md#database).
The function `detect_type` identifies whether the `.mbtiles` file
contains a `tiles` _table_ OR if it contains `map` and `images` table
(which provide the data for a `tiles` _view_).

See also #667
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement mbtiles Anything related to Martin's MBTiles support
Projects
None yet
Development

No branches or pull requests

1 participant