rio-tiler 6.6.0__tar.gz → 6.7.0__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.
Files changed (241) hide show
  1. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/PKG-INFO +2 -1
  2. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/pyproject.toml +15 -0
  3. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/__init__.py +1 -1
  4. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/errors.py +8 -0
  5. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/io/base.py +2 -2
  6. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/io/rasterio.py +1 -1
  7. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/io/xarray.py +24 -2
  8. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/reader.py +25 -5
  9. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/.gitignore +0 -0
  10. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/AUTHORS.txt +0 -0
  11. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/LICENSE +0 -0
  12. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/README.md +0 -0
  13. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/__init__.py +0 -0
  14. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/accent.npy +0 -0
  15. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/accent_r.npy +0 -0
  16. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/afmhot.npy +0 -0
  17. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/afmhot_r.npy +0 -0
  18. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/algae.npy +0 -0
  19. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/algae_r.npy +0 -0
  20. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/amp.npy +0 -0
  21. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/amp_r.npy +0 -0
  22. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/autumn.npy +0 -0
  23. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/autumn_r.npy +0 -0
  24. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/balance.npy +0 -0
  25. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/balance_r.npy +0 -0
  26. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/binary.npy +0 -0
  27. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/binary_r.npy +0 -0
  28. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/blues.npy +0 -0
  29. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/blues_r.npy +0 -0
  30. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/bone.npy +0 -0
  31. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/bone_r.npy +0 -0
  32. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/brbg.npy +0 -0
  33. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/brbg_r.npy +0 -0
  34. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/brg.npy +0 -0
  35. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/brg_r.npy +0 -0
  36. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/bugn.npy +0 -0
  37. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/bugn_r.npy +0 -0
  38. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/bupu.npy +0 -0
  39. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/bupu_r.npy +0 -0
  40. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/bwr.npy +0 -0
  41. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/bwr_r.npy +0 -0
  42. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/cfastie.npy +0 -0
  43. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/cividis.npy +0 -0
  44. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/cividis_r.npy +0 -0
  45. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/cmrmap.npy +0 -0
  46. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/cmrmap_r.npy +0 -0
  47. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/cool.npy +0 -0
  48. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/cool_r.npy +0 -0
  49. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/coolwarm.npy +0 -0
  50. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/coolwarm_r.npy +0 -0
  51. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/copper.npy +0 -0
  52. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/copper_r.npy +0 -0
  53. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/cubehelix.npy +0 -0
  54. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/cubehelix_r.npy +0 -0
  55. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/curl.npy +0 -0
  56. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/curl_r.npy +0 -0
  57. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/dark2.npy +0 -0
  58. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/dark2_r.npy +0 -0
  59. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/deep.npy +0 -0
  60. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/deep_r.npy +0 -0
  61. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/delta.npy +0 -0
  62. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/delta_r.npy +0 -0
  63. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/dense.npy +0 -0
  64. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/dense_r.npy +0 -0
  65. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/diff.npy +0 -0
  66. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/diff_r.npy +0 -0
  67. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/flag.npy +0 -0
  68. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/flag_r.npy +0 -0
  69. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/gist_earth.npy +0 -0
  70. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/gist_earth_r.npy +0 -0
  71. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/gist_gray.npy +0 -0
  72. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/gist_gray_r.npy +0 -0
  73. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/gist_heat.npy +0 -0
  74. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/gist_heat_r.npy +0 -0
  75. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/gist_ncar.npy +0 -0
  76. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/gist_ncar_r.npy +0 -0
  77. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/gist_rainbow.npy +0 -0
  78. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/gist_rainbow_r.npy +0 -0
  79. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/gist_stern.npy +0 -0
  80. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/gist_stern_r.npy +0 -0
  81. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/gist_yarg.npy +0 -0
  82. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/gist_yarg_r.npy +0 -0
  83. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/gnbu.npy +0 -0
  84. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/gnbu_r.npy +0 -0
  85. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/gnuplot.npy +0 -0
  86. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/gnuplot2.npy +0 -0
  87. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/gnuplot2_r.npy +0 -0
  88. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/gnuplot_r.npy +0 -0
  89. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/gray.npy +0 -0
  90. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/gray_r.npy +0 -0
  91. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/greens.npy +0 -0
  92. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/greens_r.npy +0 -0
  93. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/greys.npy +0 -0
  94. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/greys_r.npy +0 -0
  95. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/haline.npy +0 -0
  96. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/haline_r.npy +0 -0
  97. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/hot.npy +0 -0
  98. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/hot_r.npy +0 -0
  99. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/hsv.npy +0 -0
  100. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/hsv_r.npy +0 -0
  101. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/ice.npy +0 -0
  102. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/ice_r.npy +0 -0
  103. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/inferno.npy +0 -0
  104. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/inferno_r.npy +0 -0
  105. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/jet.npy +0 -0
  106. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/jet_r.npy +0 -0
  107. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/magma.npy +0 -0
  108. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/magma_r.npy +0 -0
  109. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/matter.npy +0 -0
  110. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/matter_r.npy +0 -0
  111. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/nipy_spectral.npy +0 -0
  112. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/nipy_spectral_r.npy +0 -0
  113. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/ocean.npy +0 -0
  114. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/ocean_r.npy +0 -0
  115. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/oranges.npy +0 -0
  116. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/oranges_r.npy +0 -0
  117. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/orrd.npy +0 -0
  118. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/orrd_r.npy +0 -0
  119. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/oxy.npy +0 -0
  120. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/oxy_r.npy +0 -0
  121. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/paired.npy +0 -0
  122. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/paired_r.npy +0 -0
  123. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/pastel1.npy +0 -0
  124. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/pastel1_r.npy +0 -0
  125. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/pastel2.npy +0 -0
  126. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/pastel2_r.npy +0 -0
  127. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/phase.npy +0 -0
  128. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/phase_r.npy +0 -0
  129. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/pink.npy +0 -0
  130. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/pink_r.npy +0 -0
  131. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/piyg.npy +0 -0
  132. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/piyg_r.npy +0 -0
  133. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/plasma.npy +0 -0
  134. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/plasma_r.npy +0 -0
  135. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/prgn.npy +0 -0
  136. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/prgn_r.npy +0 -0
  137. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/prism.npy +0 -0
  138. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/prism_r.npy +0 -0
  139. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/pubu.npy +0 -0
  140. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/pubu_r.npy +0 -0
  141. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/pubugn.npy +0 -0
  142. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/pubugn_r.npy +0 -0
  143. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/puor.npy +0 -0
  144. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/puor_r.npy +0 -0
  145. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/purd.npy +0 -0
  146. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/purd_r.npy +0 -0
  147. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/purples.npy +0 -0
  148. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/purples_r.npy +0 -0
  149. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/rain.npy +0 -0
  150. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/rain_r.npy +0 -0
  151. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/rainbow.npy +0 -0
  152. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/rainbow_r.npy +0 -0
  153. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/rdbu.npy +0 -0
  154. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/rdbu_r.npy +0 -0
  155. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/rdgy.npy +0 -0
  156. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/rdgy_r.npy +0 -0
  157. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/rdpu.npy +0 -0
  158. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/rdpu_r.npy +0 -0
  159. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/rdylbu.npy +0 -0
  160. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/rdylbu_r.npy +0 -0
  161. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/rdylgn.npy +0 -0
  162. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/rdylgn_r.npy +0 -0
  163. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/reds.npy +0 -0
  164. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/reds_r.npy +0 -0
  165. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/rplumbo.npy +0 -0
  166. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/schwarzwald.npy +0 -0
  167. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/seismic.npy +0 -0
  168. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/seismic_r.npy +0 -0
  169. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/set1.npy +0 -0
  170. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/set1_r.npy +0 -0
  171. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/set2.npy +0 -0
  172. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/set2_r.npy +0 -0
  173. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/set3.npy +0 -0
  174. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/set3_r.npy +0 -0
  175. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/solar.npy +0 -0
  176. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/solar_r.npy +0 -0
  177. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/spectral.npy +0 -0
  178. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/spectral_r.npy +0 -0
  179. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/speed.npy +0 -0
  180. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/speed_r.npy +0 -0
  181. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/spring.npy +0 -0
  182. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/spring_r.npy +0 -0
  183. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/summer.npy +0 -0
  184. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/summer_r.npy +0 -0
  185. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/tab10.npy +0 -0
  186. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/tab10_r.npy +0 -0
  187. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/tab20.npy +0 -0
  188. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/tab20_r.npy +0 -0
  189. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/tab20b.npy +0 -0
  190. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/tab20b_r.npy +0 -0
  191. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/tab20c.npy +0 -0
  192. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/tab20c_r.npy +0 -0
  193. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/tarn.npy +0 -0
  194. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/tarn_r.npy +0 -0
  195. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/tempo.npy +0 -0
  196. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/tempo_r.npy +0 -0
  197. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/terrain.npy +0 -0
  198. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/terrain_r.npy +0 -0
  199. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/thermal.npy +0 -0
  200. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/thermal_r.npy +0 -0
  201. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/topo.npy +0 -0
  202. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/topo_r.npy +0 -0
  203. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/turbid.npy +0 -0
  204. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/turbid_r.npy +0 -0
  205. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/turbo.npy +0 -0
  206. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/turbo_r.npy +0 -0
  207. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/twilight.npy +0 -0
  208. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/twilight_r.npy +0 -0
  209. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/twilight_shifted.npy +0 -0
  210. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/twilight_shifted_r.npy +0 -0
  211. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/viridis.npy +0 -0
  212. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/viridis_r.npy +0 -0
  213. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/winter.npy +0 -0
  214. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/winter_r.npy +0 -0
  215. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/wistia.npy +0 -0
  216. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/wistia_r.npy +0 -0
  217. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/ylgn.npy +0 -0
  218. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/ylgn_r.npy +0 -0
  219. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/ylgnbu.npy +0 -0
  220. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/ylgnbu_r.npy +0 -0
  221. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/ylorbr.npy +0 -0
  222. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/ylorbr_r.npy +0 -0
  223. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/ylorrd.npy +0 -0
  224. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/cmap_data/ylorrd_r.npy +0 -0
  225. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/colormap.py +0 -0
  226. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/constants.py +0 -0
  227. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/expression.py +0 -0
  228. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/io/__init__.py +0 -0
  229. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/io/stac.py +0 -0
  230. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/logger.py +0 -0
  231. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/models.py +0 -0
  232. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/mosaic/__init__.py +0 -0
  233. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/mosaic/methods/__init__.py +0 -0
  234. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/mosaic/methods/base.py +0 -0
  235. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/mosaic/methods/defaults.py +0 -0
  236. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/mosaic/reader.py +0 -0
  237. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/profiles.py +0 -0
  238. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/py.typed +0 -0
  239. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/tasks.py +0 -0
  240. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/types.py +0 -0
  241. {rio_tiler-6.6.0 → rio_tiler-6.7.0}/rio_tiler/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: rio-tiler
3
- Version: 6.6.0
3
+ Version: 6.7.0
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/
@@ -65,6 +65,7 @@ Provides-Extra: benchmark
65
65
  Requires-Dist: pytest; extra == 'benchmark'
66
66
  Requires-Dist: pytest-benchmark; extra == 'benchmark'
67
67
  Provides-Extra: dev
68
+ Requires-Dist: bump-my-version; extra == 'dev'
68
69
  Requires-Dist: pre-commit; extra == 'dev'
69
70
  Provides-Extra: docs
70
71
  Requires-Dist: mkdocs; extra == 'docs'
@@ -58,6 +58,7 @@ tilebench = [
58
58
 
59
59
  dev = [
60
60
  "pre-commit",
61
+ "bump-my-version",
61
62
  ]
62
63
  s3 = [
63
64
  "boto3",
@@ -150,3 +151,17 @@ ignore = [
150
151
 
151
152
  [tool.ruff.lint.mccabe]
152
153
  max-complexity = 14
154
+
155
+ [tool.bumpversion]
156
+ current_version = "6.7.0"
157
+ search = "{current_version}"
158
+ replace = "{new_version}"
159
+ regex = false
160
+ tag = true
161
+ commit = true
162
+ tag_name = "{new_version}"
163
+
164
+ [[tool.bumpversion.files]]
165
+ filename = "rio_tiler/__init__.py"
166
+ search = '__version__ = "{current_version}"'
167
+ replace = '__version__ = "{new_version}"'
@@ -1,6 +1,6 @@
1
1
  """rio-tiler."""
2
2
 
3
- __version__ = "6.6.0"
3
+ __version__ = "6.7.0"
4
4
 
5
5
  from . import ( # noqa
6
6
  colormap,
@@ -83,3 +83,11 @@ class AssetAsBandError(RioTilerError):
83
83
 
84
84
  class InvalidPointDataError(RioTilerError):
85
85
  """Invalid PointData."""
86
+
87
+
88
+ class MissingCRS(RioTilerError):
89
+ """Dataset doesn't have CRS information."""
90
+
91
+
92
+ class InvalidGeographicBounds(RioTilerError):
93
+ """Invalid Geographic bounds."""
@@ -480,7 +480,7 @@ class MultiBaseReader(SpatialMixin, metaclass=abc.ABCMeta):
480
480
  """
481
481
  if not self.tile_exists(tile_x, tile_y, tile_z):
482
482
  raise TileOutsideBounds(
483
- f"Tile {tile_z}/{tile_x}/{tile_y} is outside image bounds"
483
+ f"Tile(x={tile_x}, y={tile_y}, z={tile_z}) is outside bounds"
484
484
  )
485
485
 
486
486
  if isinstance(assets, str):
@@ -1036,7 +1036,7 @@ class MultiBandReader(SpatialMixin, metaclass=abc.ABCMeta):
1036
1036
  """
1037
1037
  if not self.tile_exists(tile_x, tile_y, tile_z):
1038
1038
  raise TileOutsideBounds(
1039
- f"Tile {tile_z}/{tile_x}/{tile_y} is outside image bounds"
1039
+ f"Tile(x={tile_x}, y={tile_y}, z={tile_z}) is outside bounds"
1040
1040
  )
1041
1041
 
1042
1042
  if isinstance(bands, str):
@@ -343,7 +343,7 @@ class Reader(BaseReader):
343
343
  """
344
344
  if not self.tile_exists(tile_x, tile_y, tile_z):
345
345
  raise TileOutsideBounds(
346
- f"Tile {tile_z}/{tile_x}/{tile_y} is outside {self.input} bounds"
346
+ f"Tile(x={tile_x}, y={tile_y}, z={tile_z}) is outside bounds"
347
347
  )
348
348
 
349
349
  tile_bounds = self.tms.xy_bounds(Tile(x=tile_x, y=tile_y, z=tile_z))
@@ -15,7 +15,12 @@ from rasterio.warp import calculate_default_transform
15
15
  from rasterio.warp import transform as transform_coords
16
16
 
17
17
  from rio_tiler.constants import WEB_MERCATOR_TMS, WGS84_CRS
18
- from rio_tiler.errors import PointOutsideBounds, TileOutsideBounds
18
+ from rio_tiler.errors import (
19
+ InvalidGeographicBounds,
20
+ MissingCRS,
21
+ PointOutsideBounds,
22
+ TileOutsideBounds,
23
+ )
19
24
  from rio_tiler.io.base import BaseReader
20
25
  from rio_tiler.models import BandStatistics, ImageData, Info, PointData
21
26
  from rio_tiler.types import BBox, NoData, WarpResampling
@@ -70,8 +75,23 @@ class XarrayReader(BaseReader):
70
75
  assert xarray is not None, "xarray must be installed to use XarrayReader"
71
76
  assert rioxarray is not None, "rioxarray must be installed to use XarrayReader"
72
77
 
78
+ # NOTE: rioxarray returns **ordered** bounds in form of (minx, miny, maxx, maxx)
73
79
  self.bounds = tuple(self.input.rio.bounds())
74
80
  self.crs = self.input.rio.crs
81
+ if not self.crs:
82
+ raise MissingCRS(
83
+ "Dataset doesn't have CRS information, please add it before using rio-tiler (e.g. `ds.rio.write_crs('epsg:4326', inplace=True)`)"
84
+ )
85
+
86
+ if self.crs == WGS84_CRS and (
87
+ self.bounds[0] < -180
88
+ or self.bounds[1] < -90
89
+ or self.bounds[2] > 180
90
+ or self.bounds[3] > 90
91
+ ):
92
+ raise InvalidGeographicBounds(
93
+ f"Invalid geographic bounds: {self.bounds}. Must be within (-180, -90, 180, 90)."
94
+ )
75
95
 
76
96
  self._dims = [
77
97
  d
@@ -232,7 +252,9 @@ class XarrayReader(BaseReader):
232
252
  reproject_method = resampling_method
233
253
 
234
254
  if not self.tile_exists(tile_x, tile_y, tile_z):
235
- raise TileOutsideBounds(f"Tile {tile_z}/{tile_x}/{tile_y} is outside bounds")
255
+ raise TileOutsideBounds(
256
+ f"Tile(x={tile_x}, y={tile_y}, z={tile_z}) is outside bounds"
257
+ )
236
258
 
237
259
  ds = self.input
238
260
  if nodata is not None:
@@ -199,7 +199,9 @@ def read(
199
199
  values = dataset.read(
200
200
  indexes=indexes,
201
201
  window=window,
202
- out_shape=(len(indexes), height, width) if height and width else None,
202
+ out_shape=(
203
+ (len(indexes), height, width) if height and width else None
204
+ ),
203
205
  resampling=io_resampling,
204
206
  boundless=boundless,
205
207
  )
@@ -263,8 +265,12 @@ def read(
263
265
  data = data.astype("float32", casting="unsafe")
264
266
 
265
267
  # reshaped to match data
266
- scales = numpy.array(dataset.scales).reshape(-1, 1, 1)
267
- offsets = numpy.array(dataset.offsets).reshape(-1, 1, 1)
268
+ scales = numpy.array(dataset.scales)[numpy.array(indexes) - 1].reshape(
269
+ (-1, 1, 1)
270
+ )
271
+ offsets = numpy.array(dataset.offsets)[numpy.array(indexes) - 1].reshape(
272
+ (-1, 1, 1)
273
+ )
268
274
 
269
275
  numpy.multiply(data, scales, out=data, casting="unsafe")
270
276
  numpy.add(data, offsets, out=data, casting="unsafe")
@@ -555,9 +561,23 @@ def point(
555
561
  xs, ys = transform_coords(coord_crs, dataset.crs, [lon], [lat])
556
562
  lon, lat = xs[0], ys[0]
557
563
 
564
+ dataset_min_lon, dataset_min_lat, dataset_max_lon, dataset_max_lat = (
565
+ dataset.bounds
566
+ )
567
+ # check if latitude is inverted
568
+ if dataset_min_lat > dataset_max_lat:
569
+ warnings.warn(
570
+ "BoundingBox of the dataset is inverted (minLat > maxLat).",
571
+ UserWarning,
572
+ )
573
+
574
+ dataset_min_lat, dataset_max_lat = (
575
+ min(dataset_min_lat, dataset_max_lat),
576
+ max(dataset_min_lat, dataset_max_lat),
577
+ )
558
578
  if not (
559
- (dataset.bounds[0] < lon < dataset.bounds[2])
560
- and (dataset.bounds[1] < lat < dataset.bounds[3])
579
+ (dataset_min_lon < lon < dataset_max_lon)
580
+ and (dataset_min_lat < lat < dataset_max_lat)
561
581
  ):
562
582
  raise PointOutsideBounds("Point is outside dataset bounds")
563
583
 
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