Commit Graph

125 Commits

Author SHA1 Message Date
Brandon Liu
26a1b5ef03 App: update mlt, misc small fixes (#634)
* app: bump to pmtiles js v4.4.0 for mlt support [#633]
* update python README [#632]
* app: bump seroval dep
2026-02-03 17:53:23 -05:00
Anson Chung
6f6c9c8697 Implement MLT (#633)
* Add MLT tile type

* MLT code implementation

* fix build - /app needs to wait for new pmtiles version on npm

* update CHANGELOGs and python, js versions [#596, #633]

---------

Co-authored-by: Michael Barry <msbarry@users.noreply.github.com>
Co-authored-by: Brandon Liu <bdon@users.noreply.github.com>
Co-authored-by: Brandon Liu <bdon@bdon.org>
2026-02-03 17:24:42 -05:00
Brandon Liu
754e15bf58 rio-pmtiles v1.2.0 (#629) 2025-12-29 17:55:47 +08:00
Luka S
76706a54c4 feat[rio-pmtiles]: allow min and/or max zoom to be omitted when specifying zoom levels (#623)
* Allow min and/or max zoom to be omitted when specifying zoom levels

* Fix help message for `--zoom-levels`

* Add tests
2025-12-29 17:47:20 +08:00
Brandon Liu
3292184c39 rio-pmtiles 1.1.0 [#601] 2025-11-30 21:48:28 +08:00
Quentin Chenevier
82d53ea0a0 Add intelligent overview selection for tif to pmtiles conversion (#601)
* load overviews instead of full detail to avoid memory bomb

* fix overview level indexing & use None when no overview for clarity

* tweak nodata value for RGBA
2025-11-30 21:44:16 +08:00
Brandon Liu
0db6d9c7eb bump python version to 3.5.0 [#597] 2025-10-20 21:35:26 +08:00
spider-hand
b80f8eb8e7 refactor: type header (#597) 2025-10-20 21:33:59 +08:00
Brandon Liu
451a8a0c22 rio-pmtiles 1.0.3 (#576)
* add pyproject.toml
2025-05-26 21:39:22 -07:00
Brandon Liu
1c48de7492 rio-pmtiles 1.0.2 (#571) 2025-05-09 15:56:43 -07:00
Rob Labs
c98d8efe8d rio pmtiles: Add "PMTiles metadata attribution" to the Python code (#570)
* rio pmtiles:  Add "PMTiles metadata attribution" to the Python code

* rio pmtiles:  Add "tileSize" to the Metadata
2025-05-09 15:36:41 -07:00
Brandon Liu
86d59b7346 force map view to be dark mode [#567] (#569)
* force map view to be dark mode [#567]

* nearest resampling for raster mode
* cleanup python deps

* formatting
2025-05-07 10:56:59 -07:00
Brandon Liu
5c2f7426c9 rio-pmtiles: 1.0.1 (#565) 2025-04-30 05:36:30 -06:00
Rob Labs
ef4f1b9d90 Update docs for rio-pmtiles (#564)
* `rio-pmtiles` docs:  update defaults from code for tile size, format & resampling.  Src:  `rio_pmtiles/scripts/cli.py`.   Tested with v1.0.0 + local GeoTIFF

* fix Bug in `rio-pmtiles` docs:  `--name` flag did not work.   Changed to what source code (cli.py) accepts

* Updating the docs for the flag `--description` to match the help note from `cli.py` Line 122
2025-04-30 05:12:13 -06:00
Brandon Liu
c793dc6435 rio-pmtiles improvements to defaults (#545)
* rio-pmtiles: show progress by default

* change --progress-bar to --silent [#338]

* rio-pmtiles: change defaults from JPEG/256/nearest to WEBP/512/bilinear [#338]

* rename title to name [#338]

* rio-pmtiles: automatic guessing of maxzoom [#338]

* determine maxzoom based on image dimensions and tile_size.

* rio-pmtiles: 1.0.0
2025-04-02 12:21:01 +08:00
dependabot[bot]
29de7d2521 Bump tqdm from 4.48.2 to 4.66.3 in /python/rio-pmtiles (#544)
Bumps [tqdm](https://github.com/tqdm/tqdm) from 4.48.2 to 4.66.3.
- [Release notes](https://github.com/tqdm/tqdm/releases)
- [Commits](https://github.com/tqdm/tqdm/compare/v4.48.2...v4.66.3)

---
updated-dependencies:
- dependency-name: tqdm
  dependency-version: 4.66.3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-01 09:47:06 +08:00
Brandon Liu
63182e525d rio-pmtiles python package [#338] (#542)
Add rio-pmtiles command line tool. [#338]

This is derived from the original mapbox/rio-mbtiles implementation, with changes:

* output PMTiles only instead of MBTiles.
* Python 3.7+ only.
* remove --implementation, --image-dump, --append/--overwrite, --covers features.
* bump dependency versions.
* better progress reporting; add pyroaring. 
* update README and license texts.
* rio-pmtiles v0.0.6 on PyPI
2025-03-24 20:50:53 +08:00
Taku Fukada
9b69ab4b64 Simplify and optimize Hilbert tile ID <-> XYZ conversion (#527)
* Optimize Hilbert tile ID <-> XYZ conversion

* biome

* tile_id: more improvements

* tile_id(cpp): uint32
2025-02-21 15:37:49 +08:00
Brandon Liu
b70fa01282 python: v3.4.1 2024-10-12 13:34:11 +08:00
Lars Maxfield
28960a9e6f Fix #478 with correct y-flip logic where the default is y=0 at top; add 'tms' scheme for zxy with flipped y (#479) 2024-10-12 13:08:44 +08:00
Brandon Liu
df23fa6320 Change python example from Toner to Terrarium tiles on AWS [#440] (#441) 2024-09-04 11:46:38 +08:00
Lars Maxfield
579cd7a2a4 Add disk_to_pmtiles: Convert a directory of tiles to pmtiles (#431)
Add disk_to_pmtiles CLI command and function for converting raster image pyramids to PMTiles.
2024-08-12 17:33:33 +08:00
Brandon Liu
e2d9dd40bd python 3.3.0 (#365) 2024-02-21 12:47:54 +08:00
Jesse Crocker
206be682c7 Remove print statements (#364) 2024-02-21 12:33:18 +08:00
Brandon Liu
949510f701 python v3.2.1 (#360) 2024-02-10 11:52:11 +08:00
Gabor Simko
ea1657d8fe fix reader.py reading all the tiles (#357)
* fix reader.py reading all the tiles

* add unit test

---------

Co-authored-by: Gabor Simko <gsimko3@gmail.com>
2024-02-10 11:40:06 +08:00
Daniel J. H
dd76720bef Fixes units in Python writer default bounds (#311)
When there are no user-provided bounds provided in the writer
(as in: min/max_lat/lng_e7 properties) the writer mistakenly
defaults to -180,-90,180,90 for these properties.

e1228f5df1/python/pmtiles/tile.py (L277-L283)

But these properties need to be multiplied by 10000000 as
seen e.g. in this examples and as indicated by the "_e7"

e1228f5df1/python/examples/create_raster_example.py (L29-L32)

Without this fix we were seeing pmtiles with bounds around null
island, because the order of magnitude was wrong.
2023-12-15 15:21:39 +08:00
Brandon Liu
32666dd9d7 add unit test for dir output [#221] (#238) 2023-08-21 16:51:39 +08:00
François BAPTISTE
6a4a403942 fix NameError: name 'data' is not defined in convert.py (#220) 2023-07-20 16:32:34 +08:00
Brandon Liu
2be2a3e195 Update README.md 2023-06-23 14:24:37 +08:00
Brandon Liu
b7ea7e4d6c python v3.2.0 2023-06-23 14:14:37 +08:00
Brandon Liu
8ebcbf53c3 python: use NONE instead of UNKNOWN for compression when converting from MBTiles [#139] 2023-06-23 14:14:03 +08:00
Brandon Liu
d6399365a1 Merge pull request #193 from rouault/python_convert_gzip_tile_compression
Python: mbtiles_to_pmtiles(): set tile_compression = gzip when converting from MVT MBTiles
2023-06-23 13:47:02 +08:00
Brandon Liu
651e3ce5f4 Merge pull request #206 from protomaps/python-writer-improvements
python writer improvements
2023-06-23 11:39:51 +08:00
Brandon Liu
ce4c930439 Merge pull request #205 from protomaps/avif
python and C++ AVIF enums [#116]
2023-06-23 11:39:39 +08:00
Brandon Liu
1940b4eff6 python writer improvements
* flesh out roundtrip test case
* detect unordered tile writes and set clustered flag appropriately [#115]
2023-06-23 11:18:07 +08:00
Brandon Liu
3d1517a73a python and C++ AVIF enums [#116] 2023-06-23 11:07:18 +08:00
Brandon Liu
c6dbd0e4fd python pmtiles-to-mbtiles: lift vector_layers and tilestats into json metadata key [#120] 2023-06-22 15:34:38 +08:00
Even Rouault
8f9feca6e9 Python: mbtiles_to_pmtiles(): set tile_compression = gzip when converting from MVT MBTiles 2023-06-09 19:36:02 +02:00
Even Rouault
021267c67b Python: mbtiles_to_pmtiles(): patch maxzoom metadata when using maxzoom option 2023-06-09 19:30:21 +02:00
Brandon Liu
fec0d1136c Merge pull request #185 from geospatial-jeff/179-header-dry
reuse `Reader.header`
2023-05-29 17:04:19 +08:00
Brandon Liu
2613ef1047 Merge pull request #186 from geospatial-jeff/180-header-include-version
deserialize_header returns pmtiles version
2023-05-29 11:22:26 +08:00
geospatial-jeff
ba7bc0e24e deserialize_header returns pmtiles version 2023-05-28 09:46:27 -06:00
geospatial-jeff
fc27e525cd reuse Reader.header 2023-05-28 09:43:16 -06:00
geospatial-jeff
c9e0c9d019 open mmap with ACCESS_READ 2023-05-28 09:41:08 -06:00
Brandon Liu
f15fa2f6ce python version 3.1.1 2023-04-16 13:41:08 +02:00
nokonoko1203
9144d00a86 Add processing before inserting into the MBTiles metadata table. 2023-02-15 17:00:22 +09:00
Brandon Liu
25382d2605 Merge pull request #117 from mapcraftlabs/fix/find-tile-bug
Fix bug in find_tiles in the python V3 code
2023-01-30 03:42:19 +08:00
Brandon Liu
61a5076dc5 add edge case find_tile test [#117] 2023-01-30 03:41:13 +08:00
fscottfoti
681526a370 <= was in the JS, < was in the python 2023-01-28 13:19:48 -08:00