rio-tiler 7.4.0__tar.gz → 7.5.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/PKG-INFO +2 -1
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/pyproject.toml +3 -2
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/__init__.py +1 -1
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/errors.py +4 -0
- rio_tiler-7.5.1/rio_tiler/experimental/__init__.py +10 -0
- rio_tiler-7.5.1/rio_tiler/experimental/vsifile.py +36 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/utils.py +34 -24
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/.gitignore +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/AUTHORS.txt +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/LICENSE +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/README.md +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/__init__.py +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/accent.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/accent_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/afmhot.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/afmhot_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/algae.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/algae_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/amp.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/amp_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/autumn.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/autumn_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/balance.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/balance_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/binary.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/binary_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/blues.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/blues_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/bone.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/bone_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/brbg.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/brbg_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/brg.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/brg_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/bugn.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/bugn_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/bupu.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/bupu_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/bwr.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/bwr_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/cfastie.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/cividis.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/cividis_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/cmrmap.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/cmrmap_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/cool.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/cool_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/coolwarm.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/coolwarm_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/copper.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/copper_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/cubehelix.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/cubehelix_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/curl.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/curl_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/dark2.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/dark2_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/deep.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/deep_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/delta.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/delta_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/dense.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/dense_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/diff.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/diff_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/flag.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/flag_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/gist_earth.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/gist_earth_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/gist_gray.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/gist_gray_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/gist_heat.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/gist_heat_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/gist_ncar.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/gist_ncar_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/gist_rainbow.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/gist_rainbow_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/gist_stern.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/gist_stern_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/gist_yarg.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/gist_yarg_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/gnbu.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/gnbu_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/gnuplot.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/gnuplot2.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/gnuplot2_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/gnuplot_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/gray.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/gray_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/greens.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/greens_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/greys.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/greys_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/haline.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/haline_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/hot.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/hot_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/hsv.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/hsv_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/ice.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/ice_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/inferno.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/inferno_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/jet.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/jet_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/magma.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/magma_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/matter.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/matter_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/nipy_spectral.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/nipy_spectral_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/ocean.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/ocean_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/oranges.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/oranges_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/orrd.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/orrd_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/oxy.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/oxy_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/paired.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/paired_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/pastel1.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/pastel1_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/pastel2.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/pastel2_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/phase.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/phase_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/pink.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/pink_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/piyg.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/piyg_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/plasma.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/plasma_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/prgn.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/prgn_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/prism.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/prism_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/pubu.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/pubu_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/pubugn.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/pubugn_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/puor.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/puor_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/purd.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/purd_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/purples.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/purples_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/rain.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/rain_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/rainbow.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/rainbow_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/rdbu.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/rdbu_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/rdgy.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/rdgy_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/rdpu.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/rdpu_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/rdylbu.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/rdylbu_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/rdylgn.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/rdylgn_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/reds.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/reds_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/rplumbo.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/schwarzwald.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/seismic.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/seismic_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/set1.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/set1_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/set2.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/set2_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/set3.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/set3_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/solar.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/solar_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/spectral.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/spectral_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/speed.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/speed_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/spring.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/spring_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/summer.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/summer_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/tab10.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/tab10_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/tab20.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/tab20_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/tab20b.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/tab20b_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/tab20c.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/tab20c_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/tarn.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/tarn_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/tempo.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/tempo_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/terrain.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/terrain_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/thermal.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/thermal_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/topo.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/topo_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/turbid.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/turbid_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/turbo.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/turbo_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/twilight.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/twilight_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/twilight_shifted.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/twilight_shifted_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/viridis.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/viridis_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/winter.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/winter_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/wistia.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/wistia_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/ylgn.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/ylgn_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/ylgnbu.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/ylgnbu_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/ylorbr.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/ylorbr_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/ylorrd.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/cmap_data/ylorrd_r.npy +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/colormap.py +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/constants.py +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/expression.py +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/io/__init__.py +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/io/base.py +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/io/rasterio.py +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/io/stac.py +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/io/xarray.py +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/logger.py +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/models.py +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/mosaic/__init__.py +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/mosaic/methods/__init__.py +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/mosaic/methods/base.py +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/mosaic/methods/defaults.py +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/mosaic/reader.py +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/profiles.py +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/py.typed +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/reader.py +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/tasks.py +0 -0
- {rio_tiler-7.4.0 → rio_tiler-7.5.1}/rio_tiler/types.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rio-tiler
|
|
3
|
-
Version: 7.
|
|
3
|
+
Version: 7.5.1
|
|
4
4
|
Summary: User friendly Rasterio plugin to read raster datasets.
|
|
5
5
|
Project-URL: Homepage, https://cogeotiff.github.io/rio-tiler/
|
|
6
6
|
Project-URL: Documentation, https://cogeotiff.github.io/rio-tiler/
|
|
@@ -83,6 +83,7 @@ Requires-Dist: morecantile<7.0,>=6.0; extra == 'test'
|
|
|
83
83
|
Requires-Dist: pytest; extra == 'test'
|
|
84
84
|
Requires-Dist: pytest-cov; extra == 'test'
|
|
85
85
|
Requires-Dist: rioxarray; extra == 'test'
|
|
86
|
+
Requires-Dist: vsifile>=0.2; extra == 'test'
|
|
86
87
|
Requires-Dist: xarray; extra == 'test'
|
|
87
88
|
Provides-Extra: tilebench
|
|
88
89
|
Requires-Dist: pytest; extra == 'tilebench'
|
|
@@ -38,7 +38,6 @@ dependencies = [
|
|
|
38
38
|
test = [
|
|
39
39
|
"pytest",
|
|
40
40
|
"pytest-cov",
|
|
41
|
-
|
|
42
41
|
# XarrayReader
|
|
43
42
|
"xarray",
|
|
44
43
|
"rioxarray",
|
|
@@ -47,6 +46,8 @@ test = [
|
|
|
47
46
|
"boto3",
|
|
48
47
|
# Some tests will fail with 5.0
|
|
49
48
|
"morecantile>=6.0,<7.0",
|
|
49
|
+
# Experimental
|
|
50
|
+
"vsifile>=0.2",
|
|
50
51
|
]
|
|
51
52
|
|
|
52
53
|
benchmark = [
|
|
@@ -160,7 +161,7 @@ exclude = [
|
|
|
160
161
|
max-complexity = 14
|
|
161
162
|
|
|
162
163
|
[tool.bumpversion]
|
|
163
|
-
current_version = "7.
|
|
164
|
+
current_version = "7.5.1"
|
|
164
165
|
search = "{current_version}"
|
|
165
166
|
replace = "{new_version}"
|
|
166
167
|
regex = false
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"""The "experimental" module of rio-tiler contains potential new features that are subject to change."""
|
|
2
|
+
|
|
3
|
+
import warnings
|
|
4
|
+
|
|
5
|
+
from rio_tiler.errors import RioTilerExperimentalWarning
|
|
6
|
+
|
|
7
|
+
warnings.warn(
|
|
8
|
+
"This module is experimental, its contents are subject to change and deprecation.",
|
|
9
|
+
category=RioTilerExperimentalWarning,
|
|
10
|
+
)
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"""rio_tiler.io.Reader with VSIFILE/Obstore Opener."""
|
|
2
|
+
|
|
3
|
+
from typing import Union
|
|
4
|
+
|
|
5
|
+
import attr
|
|
6
|
+
import rasterio
|
|
7
|
+
from rasterio.io import DatasetReader, DatasetWriter, MemoryFile
|
|
8
|
+
from rasterio.vrt import WarpedVRT
|
|
9
|
+
|
|
10
|
+
from rio_tiler.io import Reader
|
|
11
|
+
|
|
12
|
+
try:
|
|
13
|
+
import vsifile
|
|
14
|
+
from vsifile.rasterio import opener
|
|
15
|
+
except ImportError: # pragma: nocover
|
|
16
|
+
vsifile = None # type: ignore
|
|
17
|
+
opener = None # type: ignore
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
@attr.s
|
|
21
|
+
class VSIReader(Reader):
|
|
22
|
+
"""Rasterio Reader with VSIFILE opener."""
|
|
23
|
+
|
|
24
|
+
dataset: Union[DatasetReader, DatasetWriter, MemoryFile, WarpedVRT] = attr.ib(
|
|
25
|
+
default=None, init=False
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
def __attrs_post_init__(self):
|
|
29
|
+
"""Use vsifile.rasterio.opener as Python file opener."""
|
|
30
|
+
assert vsifile is not None, "VSIFILE must be installed to use VSIReader"
|
|
31
|
+
|
|
32
|
+
self.dataset = self._ctx_stack.enter_context(
|
|
33
|
+
rasterio.open(self.input, opener=opener)
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
super().__attrs_post_init__()
|
|
@@ -59,8 +59,8 @@ def _weighted_stdev(
|
|
|
59
59
|
values: NDArray[numpy.floating],
|
|
60
60
|
weights: NDArray[numpy.floating],
|
|
61
61
|
) -> float:
|
|
62
|
-
average = numpy.average(values, weights=weights)
|
|
63
|
-
variance = numpy.average((values - average) ** 2, weights=weights)
|
|
62
|
+
average = numpy.ma.average(values, weights=weights)
|
|
63
|
+
variance = numpy.ma.average((values - average) ** 2, weights=weights)
|
|
64
64
|
return float(math.sqrt(variance))
|
|
65
65
|
|
|
66
66
|
|
|
@@ -174,35 +174,44 @@ def get_array_statistics(
|
|
|
174
174
|
_weighted_quantiles(data_comp, masked_coverage.compressed(), pp / 100.0)
|
|
175
175
|
for pp in percentiles
|
|
176
176
|
]
|
|
177
|
-
else:
|
|
178
|
-
percentiles_values = [numpy.nan] * len(percentiles_names)
|
|
179
|
-
|
|
180
|
-
if valid_pixels:
|
|
181
177
|
majority = float(keys[counts.tolist().index(counts.max())].tolist())
|
|
182
178
|
minority = float(keys[counts.tolist().index(counts.min())].tolist())
|
|
179
|
+
std = _weighted_stdev(data_comp, masked_coverage.compressed())
|
|
180
|
+
med = _weighted_quantiles(data_comp, masked_coverage.compressed())
|
|
181
|
+
_min = float(data[b].min())
|
|
182
|
+
_max = float(data[b].max())
|
|
183
|
+
_mean = float(data_cov.sum() / masked_coverage.sum())
|
|
184
|
+
_count = float(masked_coverage.sum())
|
|
185
|
+
_sum = float(data_cov.sum())
|
|
186
|
+
|
|
183
187
|
else:
|
|
188
|
+
percentiles_values = [numpy.nan] * len(percentiles_names)
|
|
184
189
|
majority = numpy.nan
|
|
185
190
|
minority = numpy.nan
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
191
|
+
std = numpy.nan
|
|
192
|
+
med = numpy.nan
|
|
193
|
+
_min = numpy.nan
|
|
194
|
+
_max = numpy.nan
|
|
195
|
+
_count = 0
|
|
196
|
+
_sum = 0
|
|
197
|
+
_mean = numpy.nan
|
|
189
198
|
|
|
190
199
|
output.append(
|
|
191
200
|
{
|
|
192
201
|
# Minimum value, not taking coverage fractions into account.
|
|
193
|
-
"min":
|
|
202
|
+
"min": _min,
|
|
194
203
|
# Maximum value, not taking coverage fractions into account.
|
|
195
|
-
"max":
|
|
204
|
+
"max": _max,
|
|
196
205
|
# Mean value, weighted by the percent of each cell that is covered.
|
|
197
|
-
"mean":
|
|
206
|
+
"mean": _mean,
|
|
198
207
|
# Sum of all non-masked cell coverage fractions.
|
|
199
|
-
"count":
|
|
208
|
+
"count": _count,
|
|
200
209
|
# Sum of values, weighted by their coverage fractions.
|
|
201
|
-
"sum":
|
|
210
|
+
"sum": _sum,
|
|
202
211
|
# Population standard deviation of cell values, taking into account coverage fraction.
|
|
203
|
-
"std":
|
|
212
|
+
"std": std,
|
|
204
213
|
# Median value of cells, weighted by the percent of each cell that is covered.
|
|
205
|
-
"median":
|
|
214
|
+
"median": med,
|
|
206
215
|
# The value occupying the greatest number of cells.
|
|
207
216
|
"majority": majority,
|
|
208
217
|
# The value occupying the least number of cells.
|
|
@@ -773,14 +782,15 @@ def resize_array(
|
|
|
773
782
|
category=NotGeoreferencedWarning,
|
|
774
783
|
module="rasterio",
|
|
775
784
|
)
|
|
776
|
-
with rasterio.
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
785
|
+
with rasterio.Env(GDAL_MEM_ENABLE_OPEN=True):
|
|
786
|
+
with rasterio.open(datasetname, "r+") as src:
|
|
787
|
+
# if a 2D array is passed, using indexes=1 makes sure we return an 2D array
|
|
788
|
+
indexes = 1 if len(data.shape) == 2 else None
|
|
789
|
+
return src.read(
|
|
790
|
+
out_shape=out_shape,
|
|
791
|
+
indexes=indexes,
|
|
792
|
+
resampling=Resampling[resampling_method],
|
|
793
|
+
)
|
|
784
794
|
|
|
785
795
|
|
|
786
796
|
def normalize_bounds(bounds: BBox) -> BBox:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|