xarray-spatial 0.3.5__tar.gz → 0.3.7__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 (262) hide show
  1. xarray-spatial-0.3.7/.gitattributes +2 -0
  2. xarray-spatial-0.3.7/.github/ISSUE_TEMPLATE/bug_report.md +31 -0
  3. xarray-spatial-0.3.7/.github/ISSUE_TEMPLATE/feature-proposal.md +33 -0
  4. xarray-spatial-0.3.7/.github/pull_request_template.md +7 -0
  5. xarray-spatial-0.3.7/.github/workflows/codecov.yml +38 -0
  6. xarray-spatial-0.3.7/.github/workflows/docs-publish.yml +32 -0
  7. xarray-spatial-0.3.7/.github/workflows/pypi-publish.yml +45 -0
  8. xarray-spatial-0.3.7/.github/workflows/test.yml +31 -0
  9. xarray-spatial-0.3.7/.gitignore +96 -0
  10. xarray-spatial-0.3.7/CHANGELOG.md +352 -0
  11. xarray-spatial-0.3.7/CODE_OF_CONDUCT.md +92 -0
  12. xarray-spatial-0.3.7/CONTRIBUTING.md +48 -0
  13. xarray-spatial-0.3.7/Citation-styles.md +13 -0
  14. {xarray-spatial-0.3.5/xarray_spatial.egg-info → xarray-spatial-0.3.7}/PKG-INFO +69 -28
  15. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/README.md +68 -27
  16. xarray-spatial-0.3.7/RELEASE.md +35 -0
  17. xarray-spatial-0.3.7/benchmarks/README.md +95 -0
  18. xarray-spatial-0.3.7/benchmarks/asv.conf.json +165 -0
  19. xarray-spatial-0.3.7/benchmarks/benchmarks/aspect.py +11 -0
  20. xarray-spatial-0.3.7/benchmarks/benchmarks/classify.py +41 -0
  21. xarray-spatial-0.3.7/benchmarks/benchmarks/common.py +77 -0
  22. xarray-spatial-0.3.7/benchmarks/benchmarks/curvature.py +11 -0
  23. xarray-spatial-0.3.7/benchmarks/benchmarks/focal.py +48 -0
  24. xarray-spatial-0.3.7/benchmarks/benchmarks/hillshade.py +19 -0
  25. xarray-spatial-0.3.7/benchmarks/benchmarks/multispectral.py +68 -0
  26. xarray-spatial-0.3.7/benchmarks/benchmarks/pathfinding.py +21 -0
  27. xarray-spatial-0.3.7/benchmarks/benchmarks/perlin.py +11 -0
  28. xarray-spatial-0.3.7/benchmarks/benchmarks/polygonize.py +42 -0
  29. xarray-spatial-0.3.7/benchmarks/benchmarks/proximity.py +36 -0
  30. xarray-spatial-0.3.7/benchmarks/benchmarks/slope.py +11 -0
  31. xarray-spatial-0.3.7/benchmarks/benchmarks/terrain.py +11 -0
  32. xarray-spatial-0.3.7/benchmarks/benchmarks/viewshed.py +19 -0
  33. xarray-spatial-0.3.7/benchmarks/benchmarks/zonal.py +101 -0
  34. xarray-spatial-0.3.7/benchmarks/results.md +52 -0
  35. xarray-spatial-0.3.7/codecov.yml +19 -0
  36. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/releases.json +2 -0
  37. xarray-spatial-0.3.7/examples/Pathfinding_Austin_Road_Network.ipynb +178 -0
  38. xarray-spatial-0.3.7/examples/cloudless-mosaic-sentinel2.ipynb +225 -0
  39. xarray-spatial-0.3.7/examples/housing_price_feature_engineering.ipynb +264 -0
  40. xarray-spatial-0.3.7/examples/pharmacy-deserts.ipynb +382 -0
  41. {xarray-spatial-0.3.5/xrspatial → xarray-spatial-0.3.7}/examples/user_guide/0_Getting_Setup.ipynb +1 -1
  42. {xarray-spatial-0.3.5/xrspatial → xarray-spatial-0.3.7}/examples/user_guide/1_Surface.ipynb +1 -15
  43. {xarray-spatial-0.3.5/xrspatial → xarray-spatial-0.3.7}/examples/user_guide/2_Proximity.ipynb +1 -15
  44. {xarray-spatial-0.3.5/xrspatial → xarray-spatial-0.3.7}/examples/user_guide/3_Zonal.ipynb +50 -15
  45. {xarray-spatial-0.3.5/xrspatial → xarray-spatial-0.3.7}/examples/user_guide/4_Focal.ipynb +62 -15
  46. {xarray-spatial-0.3.5/xrspatial → xarray-spatial-0.3.7}/examples/user_guide/5_Classification.ipynb +1 -15
  47. {xarray-spatial-0.3.5/xrspatial → xarray-spatial-0.3.7}/examples/user_guide/6_Remote_Sensing.ipynb +188 -54
  48. {xarray-spatial-0.3.5/xrspatial → xarray-spatial-0.3.7}/examples/user_guide/7_Pathfinding.ipynb +1 -15
  49. {xarray-spatial-0.3.5/xrspatial → xarray-spatial-0.3.7}/examples/user_guide/8_Local_Tools.ipynb +1 -15
  50. xarray-spatial-0.3.7/examples/user_guide/zonal_crosstab.ipynb +387 -0
  51. xarray-spatial-0.3.7/examples/viewshed_gpu.ipynb +330 -0
  52. xarray-spatial-0.3.7/examples/xarray-spatial_classification-methods.ipynb +358 -0
  53. xarray-spatial-0.3.7/img/0-0.png +0 -0
  54. xarray-spatial-0.3.7/img/0-1.png +0 -0
  55. xarray-spatial-0.3.7/img/0-2.png +0 -0
  56. xarray-spatial-0.3.7/img/0-3.png +0 -0
  57. xarray-spatial-0.3.7/img/0-4.png +0 -0
  58. xarray-spatial-0.3.7/img/1-0.png +0 -0
  59. xarray-spatial-0.3.7/img/1-1.png +0 -0
  60. xarray-spatial-0.3.7/img/1-2.png +0 -0
  61. xarray-spatial-0.3.7/img/1-3.png +0 -0
  62. xarray-spatial-0.3.7/img/1-4.png +0 -0
  63. xarray-spatial-0.3.7/img/2-0.png +0 -0
  64. xarray-spatial-0.3.7/img/2-1.png +0 -0
  65. xarray-spatial-0.3.7/img/2-2.png +0 -0
  66. xarray-spatial-0.3.7/img/2-3.png +0 -0
  67. xarray-spatial-0.3.7/img/2-4.png +0 -0
  68. xarray-spatial-0.3.7/img/3-0.png +0 -0
  69. xarray-spatial-0.3.7/img/3-1.png +0 -0
  70. xarray-spatial-0.3.7/img/3-2.png +0 -0
  71. xarray-spatial-0.3.7/img/3-3.png +0 -0
  72. xarray-spatial-0.3.7/img/3-4.png +0 -0
  73. xarray-spatial-0.3.7/img/4-0.png +0 -0
  74. xarray-spatial-0.3.7/img/4-1.png +0 -0
  75. xarray-spatial-0.3.7/img/4-2.png +0 -0
  76. xarray-spatial-0.3.7/img/4-3.png +0 -0
  77. xarray-spatial-0.3.7/img/4-4.png +0 -0
  78. xarray-spatial-0.3.7/img/Xarray-Spatial-logo.svg +30 -0
  79. xarray-spatial-0.3.7/img/composite_map.gif +0 -0
  80. xarray-spatial-0.3.7/img/composite_map.png +0 -0
  81. xarray-spatial-0.3.7/img/dependencies.dot +63 -0
  82. xarray-spatial-0.3.7/img/dependencies.png +0 -0
  83. xarray-spatial-0.3.7/img/dependencies.svg +325 -0
  84. xarray-spatial-0.3.7/img/featured-badge-gh.svg +14 -0
  85. xarray-spatial-0.3.7/img/makepath-supply-chain-international-shipping.png +0 -0
  86. xarray-spatial-0.3.7/requirements-dev.txt +4 -0
  87. xarray-spatial-0.3.7/requirements.txt +4 -0
  88. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/setup.cfg +2 -0
  89. xarray-spatial-0.3.7/setup.py +22 -0
  90. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7/xarray_spatial.egg-info}/PKG-INFO +69 -28
  91. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xarray_spatial.egg-info/SOURCES.txt +92 -2
  92. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xarray_spatial.egg-info/requires.txt +1 -0
  93. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/__init__.py +5 -9
  94. xarray-spatial-0.3.7/xrspatial/_version.py +4 -0
  95. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/classify.py +27 -19
  96. xarray-spatial-0.3.7/xrspatial/examples/Pathfinding_Austin_Road_Network.ipynb +178 -0
  97. xarray-spatial-0.3.7/xrspatial/examples/animated_hillshade.py +136 -0
  98. xarray-spatial-0.3.7/xrspatial/examples/cloudless-mosaic-sentinel2.ipynb +225 -0
  99. xarray-spatial-0.3.7/xrspatial/examples/composite_map.gif +0 -0
  100. xarray-spatial-0.3.7/xrspatial/examples/datasets.yml +51 -0
  101. xarray-spatial-0.3.7/xrspatial/examples/housing_price_feature_engineering.ipynb +264 -0
  102. xarray-spatial-0.3.7/xrspatial/examples/pharmacy-deserts.ipynb +382 -0
  103. xarray-spatial-0.3.7/xrspatial/examples/user_guide/0_Getting_Setup.ipynb +37 -0
  104. xarray-spatial-0.3.7/xrspatial/examples/user_guide/1_Surface.ipynb +429 -0
  105. xarray-spatial-0.3.7/xrspatial/examples/user_guide/2_Proximity.ipynb +324 -0
  106. xarray-spatial-0.3.7/xrspatial/examples/user_guide/3_Zonal.ipynb +252 -0
  107. xarray-spatial-0.3.7/xrspatial/examples/user_guide/4_Focal.ipynb +274 -0
  108. xarray-spatial-0.3.7/xrspatial/examples/user_guide/5_Classification.ipynb +211 -0
  109. xarray-spatial-0.3.7/xrspatial/examples/user_guide/6_Remote_Sensing.ipynb +543 -0
  110. xarray-spatial-0.3.7/xrspatial/examples/user_guide/7_Pathfinding.ipynb +198 -0
  111. xarray-spatial-0.3.7/xrspatial/examples/user_guide/8_Local_Tools.ipynb +493 -0
  112. xarray-spatial-0.3.7/xrspatial/examples/user_guide/zonal_crosstab.ipynb +387 -0
  113. xarray-spatial-0.3.7/xrspatial/examples/viewshed_gpu.ipynb +330 -0
  114. xarray-spatial-0.3.7/xrspatial/examples/xarray-spatial_classification-methods.ipynb +358 -0
  115. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/multispectral.py +20 -12
  116. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/proximity.py +4 -4
  117. xarray-spatial-0.3.7/xrspatial/tests/__init__.py +0 -0
  118. xarray-spatial-0.3.7/xrspatial/tests/conftest.py +55 -0
  119. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/tests/general_checks.py +22 -4
  120. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/tests/test_aspect.py +20 -30
  121. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/tests/test_classify.py +4 -4
  122. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/tests/test_focal.py +2 -2
  123. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/tests/test_multispectral.py +208 -55
  124. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/tests/test_pathfinding.py +3 -3
  125. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/tests/test_proximity.py +27 -1
  126. xarray-spatial-0.3.7/xrspatial/tests/test_slope.py +65 -0
  127. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/tests/test_zonal.py +154 -4
  128. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/zonal.py +2 -1
  129. xarray-spatial-0.3.5/setup.py +0 -34
  130. xarray-spatial-0.3.5/xrspatial/.version +0 -1
  131. xarray-spatial-0.3.5/xrspatial/examples/Pathfinding_Austin_Road_Network.ipynb +0 -265
  132. xarray-spatial-0.3.5/xrspatial/examples/cloudless-mosaic-sentinel2.ipynb +0 -2976
  133. xarray-spatial-0.3.5/xrspatial/examples/pharmacy-deserts.ipynb +0 -1758
  134. xarray-spatial-0.3.5/xrspatial/examples/xarray-spatial_classification-methods.ipynb +0 -509
  135. xarray-spatial-0.3.5/xrspatial/tests/conftest.py +0 -10
  136. xarray-spatial-0.3.5/xrspatial/tests/test_codebase.py +0 -13
  137. xarray-spatial-0.3.5/xrspatial/tests/test_slope.py +0 -72
  138. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/LICENSE.txt +0 -0
  139. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/MANIFEST.in +0 -0
  140. {xarray-spatial-0.3.5/xrspatial/tests → xarray-spatial-0.3.7/benchmarks/benchmarks}/__init__.py +0 -0
  141. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/.gitignore +0 -0
  142. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/Makefile +0 -0
  143. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/make.bat +0 -0
  144. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/css/styles.css +0 -0
  145. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/0-0.png +0 -0
  146. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/0-1.png +0 -0
  147. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/0-2.png +0 -0
  148. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/0-3.png +0 -0
  149. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/0-4.png +0 -0
  150. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/1-0.png +0 -0
  151. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/1-1.png +0 -0
  152. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/1-2.png +0 -0
  153. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/1-3.png +0 -0
  154. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/1-4.png +0 -0
  155. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/2-0.png +0 -0
  156. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/2-1.png +0 -0
  157. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/2-2.png +0 -0
  158. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/2-3.png +0 -0
  159. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/2-4.png +0 -0
  160. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/3-0.png +0 -0
  161. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/3-1.png +0 -0
  162. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/3-2.png +0 -0
  163. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/3-3.png +0 -0
  164. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/3-4.png +0 -0
  165. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/4-0.png +0 -0
  166. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/4-1.png +0 -0
  167. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/4-2.png +0 -0
  168. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/4-3.png +0 -0
  169. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/4-4.png +0 -0
  170. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/Xarray-Spatial-logo.svg +0 -0
  171. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/composite_map-large.jpg +0 -0
  172. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/composite_map.gif +0 -0
  173. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/composite_map.png +0 -0
  174. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/dask-logo.svg +0 -0
  175. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/dependencies.svg +0 -0
  176. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/favicon.ico +0 -0
  177. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/featured-badge-gh.svg +0 -0
  178. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/img001.png +0 -0
  179. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/makepath-supply-chain-international-shipping.png +0 -0
  180. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/numba-logo.svg +0 -0
  181. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_static/img/python-logo.svg +0 -0
  182. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_templates/autosummary/module.rst +0 -0
  183. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_templates/description_panel.html +0 -0
  184. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_templates/docs-navbar.html +0 -0
  185. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/_templates/versions.html +0 -0
  186. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/conf.py +0 -0
  187. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/getting_started/index.rst +0 -0
  188. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/getting_started/installation.rst +0 -0
  189. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/getting_started/raster_huh.rst +0 -0
  190. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/getting_started/usage.rst +0 -0
  191. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/index.rst +0 -0
  192. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/reference/classification.rst +0 -0
  193. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/reference/focal.rst +0 -0
  194. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/reference/index.rst +0 -0
  195. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/reference/local.rst +0 -0
  196. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/reference/multispectral.rst +0 -0
  197. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/reference/pathfinding.rst +0 -0
  198. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/reference/proximity.rst +0 -0
  199. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/reference/surface.rst +0 -0
  200. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/reference/zonal.rst +0 -0
  201. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/user_guide/classification.ipynb +0 -0
  202. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/user_guide/data/LC80030172015001LGN00_B2.tiff +0 -0
  203. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/user_guide/data/LC80030172015001LGN00_B3.tiff +0 -0
  204. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/user_guide/data/LC80030172015001LGN00_B4.tiff +0 -0
  205. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/user_guide/data/LC80030172015001LGN00_B5.tiff +0 -0
  206. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/user_guide/focal.ipynb +0 -0
  207. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/user_guide/index.rst +0 -0
  208. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/user_guide/local.ipynb +0 -0
  209. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/user_guide/multispectral.ipynb +0 -0
  210. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/user_guide/pathfinding.ipynb +0 -0
  211. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/user_guide/proximity.ipynb +0 -0
  212. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/user_guide/surface.ipynb +0 -0
  213. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/docs/source/user_guide/zonal.ipynb +0 -0
  214. {xarray-spatial-0.3.5/xrspatial → xarray-spatial-0.3.7}/examples/animated_hillshade.py +0 -0
  215. {xarray-spatial-0.3.5/xrspatial → xarray-spatial-0.3.7}/examples/composite_map.gif +0 -0
  216. {xarray-spatial-0.3.5/xrspatial → xarray-spatial-0.3.7}/examples/datasets.yml +0 -0
  217. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/pyproject.toml +0 -0
  218. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xarray_spatial.egg-info/dependency_links.txt +0 -0
  219. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xarray_spatial.egg-info/entry_points.txt +0 -0
  220. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xarray_spatial.egg-info/not-zip-safe +0 -0
  221. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xarray_spatial.egg-info/top_level.txt +0 -0
  222. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/__main__.py +0 -0
  223. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/analytics.py +0 -0
  224. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/aspect.py +0 -0
  225. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/bump.py +0 -0
  226. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/convolution.py +0 -0
  227. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/curvature.py +0 -0
  228. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/datasets/__init__.py +0 -0
  229. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/datasets/sentinel-2/blue_band.nc +0 -0
  230. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/datasets/sentinel-2/green_band.nc +0 -0
  231. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/datasets/sentinel-2/nir_band.nc +0 -0
  232. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/datasets/sentinel-2/red_band.nc +0 -0
  233. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/datasets/sentinel-2/swir1_band.nc +0 -0
  234. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/datasets/sentinel-2/swir2_band.nc +0 -0
  235. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/esri.py +0 -0
  236. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/experimental/__init__.py +0 -0
  237. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/experimental/polygonize.py +0 -0
  238. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/focal.py +0 -0
  239. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/gpu_rtx/__init__.py +0 -0
  240. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/gpu_rtx/cuda_utils.py +0 -0
  241. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/gpu_rtx/hillshade.py +0 -0
  242. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/gpu_rtx/mesh_utils.py +0 -0
  243. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/gpu_rtx/viewshed.py +0 -0
  244. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/hillshade.py +0 -0
  245. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/local.py +0 -0
  246. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/pathfinding.py +0 -0
  247. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/perlin.py +0 -0
  248. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/slope.py +0 -0
  249. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/terrain.py +0 -0
  250. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/tests/test_analytics.py +0 -0
  251. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/tests/test_bump.py +0 -0
  252. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/tests/test_curvature.py +0 -0
  253. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/tests/test_datasets.py +0 -0
  254. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/tests/test_hillshade.py +0 -0
  255. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/tests/test_local.py +0 -0
  256. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/tests/test_perlin.py +0 -0
  257. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/tests/test_polygonize.py +0 -0
  258. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/tests/test_terrain.py +0 -0
  259. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/tests/test_utils.py +0 -0
  260. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/tests/test_viewshed.py +0 -0
  261. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/utils.py +0 -0
  262. {xarray-spatial-0.3.5 → xarray-spatial-0.3.7}/xrspatial/viewshed.py +0 -0
@@ -0,0 +1,2 @@
1
+ __init__.py export-subst
2
+ setup.py export-subst
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: Bug report
3
+ about: Create a report to help us improve
4
+ title: ''
5
+ labels: bug
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ **Describe the bug**
11
+ A clear and concise description of what the bug is.
12
+
13
+ **Expected behavior**
14
+ A clear and concise description of what you expected to happen.
15
+
16
+ **Screenshots**
17
+ If applicable, add screenshots to help explain your problem.
18
+
19
+ **Desktop (please complete the following information):**
20
+ - OS: [e.g. iOS]
21
+ - Browser [e.g. chrome, safari]
22
+ - Version [e.g. 22]
23
+
24
+ **Smartphone (please complete the following information):**
25
+ - Device: [e.g. iPhone6]
26
+ - OS: [e.g. iOS8.1]
27
+ - Browser [e.g. stock browser, safari]
28
+ - Version [e.g. 22]
29
+
30
+ **Additional context**
31
+ Add any other context about the problem here.
@@ -0,0 +1,33 @@
1
+ ---
2
+ name: Feature proposal
3
+ about: Suggest an idea
4
+ title: ''
5
+ labels: proposal
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ **Author of Proposal:**
11
+ ## Reason or Problem
12
+ Describe what the need for this new feature is or what problem this new feature will address.
13
+ ## Proposal
14
+ Description of the new feature, how it will be used, what it will fix, etc.
15
+
16
+ **Design:**
17
+ Include description of this feature's design with enough detail for those who are familiar enough with this project to understand the feature and how it could be implmented. This section should get into specifics of how the feature will be designed and implemented.
18
+
19
+ **Usage:**
20
+ Detailed instructions for this feature's use.
21
+
22
+ **Value:** What value does the implementation of this new feature bring to xarray-spatial.
23
+ ## Stakeholders and Impacts
24
+ Who are the stakeholders in this update? Will you be implementing this new feature or will someone else? What is the potential impact of implementing this new feature? Specifically, what are some other components would be impacted?
25
+ ## Drawbacks
26
+ What are potential reasons why this feature should not be implemented?
27
+ ## Alternatives
28
+ Describe other solutions or features you have considered when coming up with this proposal.
29
+
30
+ ## Unresolved Questions
31
+ What are parts of this feature's design that are undecided.
32
+ ## Additional Notes or Context
33
+ Anything elses that is important to know for the implementation of this new feature.
@@ -0,0 +1,7 @@
1
+ Fixes #
2
+
3
+ ## Proposed Changes
4
+
5
+ -
6
+ -
7
+ -
@@ -0,0 +1,38 @@
1
+ name: Codecov
2
+ on:
3
+ push:
4
+ branches:
5
+ - master
6
+ pull_request:
7
+ branches:
8
+ - '*'
9
+
10
+ jobs:
11
+ run:
12
+ runs-on: ${{ matrix.os }}
13
+ strategy:
14
+ matrix:
15
+ os: [ubuntu-latest]
16
+ python: [3.9]
17
+ env:
18
+ OS: ${{ matrix.os }}
19
+ PYTHON: ${{ matrix.python }}
20
+ steps:
21
+ - uses: actions/checkout@master
22
+ - name: Setup Python
23
+ uses: actions/setup-python@master
24
+ with:
25
+ python-version: ${{ matrix.python }}
26
+ - name: Install dependencies
27
+ run: |
28
+ python -m pip install --upgrade pip
29
+ pip install -e .[tests]
30
+ - name: Generate coverage report
31
+ run: |
32
+ NUMBA_DISABLE_JIT=1 pytest --cov=./ --cov-report=xml --ignore ./xrspatial/tests/test_polygonize.py
33
+ - name: Upload coverage to Codecov
34
+ uses: codecov/codecov-action@v2
35
+ with:
36
+ env_vars: OS,PYTHON
37
+ fail_ci_if_error: true
38
+ verbose: true
@@ -0,0 +1,32 @@
1
+ name: Upload Docs To Azure Blob Storage
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+ workflow_dispatch:
7
+
8
+ jobs:
9
+ upload:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@v1
13
+ - uses: actions/setup-dotnet@v1
14
+ with:
15
+ dotnet-version: '3.0.100'
16
+ - name: Install dependencies
17
+ run: |
18
+ sudo apt-get -y install pandoc
19
+ python -m pip install --upgrade pip
20
+ - name: Install xarray-spatial
21
+ run: |
22
+ pip install .[doc,tests]
23
+ pip list
24
+ - name: Build docs
25
+ run: |
26
+ make -C docs html
27
+ - uses: lauchacarro/Azure-Storage-Action@v1.0
28
+ with:
29
+ enabled-static-website: 'true'
30
+ folder: 'docs/build/html'
31
+ index-document: 'index.html'
32
+ connection-string: ${{ secrets.CONNECTION_STRING }}
@@ -0,0 +1,45 @@
1
+ name: Publish package to PyPI
2
+ on:
3
+ push:
4
+ tags:
5
+ - '*'
6
+ jobs:
7
+ publish:
8
+ runs-on: ubuntu-20.04
9
+ steps:
10
+ - uses: actions/checkout@master
11
+ - name: Set up Python 3.9
12
+ uses: actions/setup-python@v1
13
+ with:
14
+ python-version: 3.9
15
+ - name: Get release version
16
+ run: |
17
+ echo "CHANGELOG_VERSION=$(cat CHANGELOG.md | grep -oP '(?<=###\s)(.*)(?=\s\-)' | head -n 1 | sed 's/Version\s/v/')" >> $GITHUB_ENV
18
+ echo "TAG_VERSION=`echo $(git describe --tags --abbrev=0)`" >> $GITHUB_ENV
19
+ - name: Check changelog release version
20
+ if: ${{ env.TAG_VERSION != env.CHANGELOG_VERSION }}
21
+ run: |
22
+ echo "CHANGELOG_VERSION($CHANGELOG_VERSION) is different from TAG_VERSION($TAG_VERSION)"
23
+ exit 1
24
+ - name: Install dependencies
25
+ run: |
26
+ python -m pip install --upgrade pip
27
+ pip install build
28
+ - name: Get all git tags
29
+ run: git fetch --tags -f
30
+ - name: Build package
31
+ run: |
32
+ python -m build --sdist --wheel
33
+ - name: Get package size
34
+ run: echo "PKG_SIZE=$(find dist -maxdepth 1 -regex '.*gz' | xargs stat --format='%s')" >> $GITHUB_ENV
35
+ - name: Check package size
36
+ if: ${{ env.PKG_SIZE > 1e+8 }}
37
+ run: |
38
+ echo "PKG_SIZE($PKG_SIZE bytes) is greater than 100MB"
39
+ exit 1
40
+ - name: Publish package
41
+ if: startsWith(github.ref, 'refs/tags')
42
+ uses: pypa/gh-action-pypi-publish@master
43
+ with:
44
+ skip_existing: true
45
+ password: ${{ secrets.PYPI_API_TOKEN }}
@@ -0,0 +1,31 @@
1
+ name: pytest
2
+ on:
3
+ push:
4
+ branches:
5
+ - master
6
+ pull_request:
7
+ branches:
8
+ - '*'
9
+
10
+ jobs:
11
+ run:
12
+ runs-on: ${{ matrix.os }}
13
+ strategy:
14
+ matrix:
15
+ os: ['ubuntu-latest', 'macos-latest', 'windows-latest']
16
+ python: [3.7, 3.8, 3.9, '3.10', 3.11]
17
+ env:
18
+ OS: ${{ matrix.os }}
19
+ PYTHON: ${{ matrix.python }}
20
+ steps:
21
+ - uses: actions/checkout@master
22
+ - name: Setup Python
23
+ uses: actions/setup-python@master
24
+ with:
25
+ python-version: ${{ matrix.python }}
26
+ - name: Install dependencies
27
+ run: |
28
+ python -m pip install --upgrade pip
29
+ pip install -e .[tests]
30
+ - name: Run pytest
31
+ run: pytest
@@ -0,0 +1,96 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ pip-wheel-metadata/
24
+ share/python-wheels/
25
+ *.egg-info/
26
+ .installed.cfg
27
+ *.egg
28
+ MANIFEST
29
+ xrspatial/.version
30
+
31
+ # PyInstaller
32
+ # Usually these files are written by a python script from a template
33
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
34
+ *.manifest
35
+ *.spec
36
+
37
+ # Installer logs
38
+ pip-log.txt
39
+ pip-delete-this-directory.txt
40
+
41
+ # Unit test / coverage reports
42
+ htmlcov/
43
+ .tox/
44
+ .nox/
45
+ .coverage
46
+ .coverage.*
47
+ .cache
48
+ nosetests.xml
49
+ coverage.xml
50
+ *.cover
51
+ *.py,cover
52
+ .hypothesis/
53
+ .pytest_cache/
54
+
55
+ # Translations
56
+ *.mo
57
+ *.pot
58
+
59
+ # Sphinx documentation
60
+ docs/_build/
61
+
62
+ # PyBuilder
63
+ target/
64
+
65
+ # Jupyter Notebook
66
+ .ipynb_checkpoints
67
+
68
+ # IPython
69
+ profile_default/
70
+ ipython_config.py
71
+
72
+ # pyenv
73
+ .python-version
74
+
75
+ # Environments
76
+ .env
77
+ .venv
78
+ env/
79
+ venv/
80
+ ENV/
81
+ env.bak/
82
+ venv.bak/
83
+
84
+ # mypy
85
+ .mypy_cache/
86
+ .dmypy.json
87
+ dmypy.json
88
+
89
+ # Pyre type checker
90
+ .pyre/
91
+ .DS_Store
92
+ /test_tiles_output
93
+ *.TIF*
94
+
95
+ # airspeed velocity
96
+ .asv/
@@ -0,0 +1,352 @@
1
+ ## Xarray-Spatial Changelog
2
+ -----------
3
+
4
+ ### Version 0.3.7 - 2023-06-05
5
+ The 0.3.7 release is a hot fix for 0.3.6, which has problem with publishing to PyPi
6
+ as the package exceeds the limit of 100MB. In this new release, example notebooks are
7
+ cleaned up to reduce the package size.
8
+
9
+ #### Enhancements
10
+ - clear example notebook outputs (#786)
11
+
12
+ ### Version 0.3.6 - 2023-06-02
13
+ With the 0.3.6 release, xarray-spatial now supports python 3.11.
14
+ This release focuses on demonstrating the reliability of the library by adding more tests
15
+ against GDAL/QGIS.
16
+
17
+ #### Enhancements
18
+ - Test on Python 3.11 (#750)
19
+ - Pin numpy version (#780)
20
+ - zonal stats (#764)
21
+ - updated citation (#769)
22
+ - classify.binary: handle NaNs and infinite values (#763)
23
+ - Test against QGIS, GDAL (#744)
24
+ - Zonal crosstab user guide notebook enhancement (#759)
25
+ - cpu_bin with binary search (#760)
26
+ - outline for housing price feature engineering nb (#725)
27
+ - More examples to user guide (#742)
28
+ - Use setuptools (#749)
29
+ - Update contributor badge (#740)
30
+ - update pharmacy desserts notebook (#723)
31
+ - Update README.md (#719)
32
+ - viewshed gpu notebook (#720)
33
+ - Fixed feature-proposal.md config (#718)
34
+
35
+ #### Bug Fixes
36
+ - correct docs for proximity (#778)
37
+ - Zonal_crosstab 3D: Ensure content of input param `values` is preserved (#754)
38
+ - Multispectral tools: convert data to float32 dtype before doing calculations (#755)
39
+
40
+
41
+ ### Version 0.3.5 - 2022-06-05
42
+ The 0.3.5 release mainly addresses the scaling issue in GPU viewshed to gain better accurate triangulation.
43
+ The GPU raytraced viewshed should now give comparable results to the CPU version.
44
+ However, the 2 versions use 2 different approaches, there can be slightly differences at some points
45
+ where a version returns visible while the other considers them as invisible.
46
+
47
+ #### Enhancements
48
+ - command to get change log (#716)
49
+ - Added Feature Proposal Template (#714)
50
+
51
+ #### Bug Fixes
52
+ - Improved viewshed rtx. Now result should match the CPU version (#715)
53
+
54
+ ### Version 0.3.4 - 2022-06-01
55
+ The 0.3.4 release primarily a bug fix release but also includes a number of enhancements with a focus on GPU supports.
56
+
57
+ #### Enhancements
58
+ - NumPy zonal stats: return a data array of calculated stats (#685)
59
+ - set unit for hotspots output (#686)
60
+ - More robust cuda and cupy identification (#657)
61
+ - Remove deprecated tiles module (#698)
62
+ - Test on python 3.10, remove 3.6 (#694)
63
+ - moved all tests to github actions (#689)
64
+ - Add isort to pytest (#700)
65
+ - Add flake8 to pytest (#697)
66
+ - Remove unnecessary executable flags (#696)
67
+ - updated test hotspots gpu (#692)
68
+ - 3D numpy zonal_crosstab to support more agg methods (#687)
69
+
70
+ #### Bug Fixes
71
+ - Fix rtx viewshed rendering blank image (#711)
72
+ - Convolve_2d gpu fixes (#702)
73
+ - focal.mean(): only do data type conversion once (#699)
74
+ - Update to remote sensing notebook (#688)
75
+ - focal_stats(): gpu case (#709)
76
+ - focal apply: drop gpu support (#706)
77
+ - drop gpu support (#705)
78
+ - enabled numba.cuda.jit in hotspots cupy (#691)
79
+
80
+ #### Documentation
81
+ - Correct examples in docstrings (#703)
82
+ - Fix doc build dependencies in CI (#683)
83
+ - Fix link to Austin road network notebook (#695)
84
+
85
+ ### Version 0.3.3 - 2022-03-21
86
+ - fixed ubuntu version (#681)
87
+ - Don't calculate angle when not needed (#677)
88
+ - codecov: ignore all tests at once (#674)
89
+ - add more tests to focal module (#676)
90
+ - classify: more tests (#675)
91
+ - Codecov: disable Numba; ignore tests, experimental, and gpu_rtx (#673)
92
+ - Improve linter: add isort (#672)
93
+ - removed stale test files from project root (#670)
94
+ - User guide fixes (#665)
95
+ - license year in README to include 2022 (#668)
96
+ - install dependencies specified in test config (#666)
97
+ - Pytests for CuPy zonal stats (#658)
98
+ - add Codecov badge to README
99
+ - codecov with github action (#663)
100
+ - Modernise build system (#654)
101
+ - classify tools: classify infinite values as nans, natural_breaks: classify all data points when using sub sample (#653)
102
+ - Add more benchmarks (#648)
103
+ - Stubbed out function for Analytics module (#621)
104
+ - Fix doc build failure due to Jinja2 version (#651)
105
+
106
+ ### Version 0.3.2 - 2022-02-04
107
+ - Remove numpy version pin (#637)
108
+ - aspect: added benchmarks (#640)
109
+ - Clean gitignore and manifest files (#642)
110
+ - Benchmark results (#643)
111
+ - handle CLI errors #442 (#644)
112
+ - Cupy zonal (#639)
113
+ - Tests improvements (#636)
114
+
115
+ ### Version 0.3.1 - 2022-01-10
116
+ - Add benchmarking framework using asv (#595)
117
+ - Fix classify bug with dask array (#599)
118
+ - polygonize function on cpu for numpy-backed xarray DataArrays (#585)
119
+ - Test python 3.9 on CI (#602)
120
+ - crosstab: speedup dask case (#596)
121
+ - Add benchmark for CPU polygonize (#605)
122
+ - Change copyright year to include 2021 (#610)
123
+ - Docs enhancement (#604, #628)
124
+ - code refactor: use array function mapper, add messages param to not_implemented_func() (#612)
125
+ - condense tests (#613)
126
+ - Multispectral fixes (#617)
127
+ - Change copyright year to 2022 (#622)
128
+ - Aspect: convert to float if int dtype input raster (#619)
129
+ - direction(), allocation(): set all NaNs at initalization (#618)
130
+ - Add rtx gpu hillshade with shadows (#608)
131
+ - Add hillshade benchmarking, for numpy, cupy and rtxpy (#625)
132
+ - Focal mean: handle nans inside kernel (#623)
133
+ - Convert to float32 if input raster is in int dtype (#629)
134
+
135
+ ### Version 0.3.0 - 2021-12-01
136
+ - Added a pure numba hillshade that is 10x faster compared to numpy (#542)
137
+ - dask case proximity: process whole raster at once if max_distance exceed max possible distance (#558)
138
+ - pathfinding: `start` and `goal` in (y, x) format (#550)
139
+ - generate_terrain: cupy case, dask numpy case (#555)
140
+ - Optimize natural_break on large inputs (#562)
141
+ - Fixes in CPU version of natural_breaks. (#562) (#563)
142
+ - zonal stats, speed up numpy case (#568)
143
+ - Ensure that cupy is not None (#570)
144
+ - Use explicit cupy to numpy conversion in tests (#573)
145
+ - zonal stats: speed up dask case (#572)
146
+ - zonal_stats: ensure chunksizes of zones and values are matching (#574)
147
+ - validate_arrays: ensure chunksizes of arrays are matching (#577)
148
+ - set default value for num_sample (#580)
149
+ - Add rtx gpu viewshed and improve cpu viewshed (#588)
150
+
151
+ ### Version 0.2.9 - 2021-09-01
152
+ - Refactored proximity module to avoid rechunking (#549)
153
+
154
+ ### Version 0.2.8 - 2021-08-27
155
+ - Added dask support to proximity tools (#540)
156
+ - Refactored the resample utils function and changed their name to canvas_like (#539)
157
+ - Added zone_ids and cat_ids param to stats zonal function (#538)
158
+
159
+ ### Version 0.2.7 - 2021-07-30
160
+ - Added Dask support for stats and crosstab zonal functions (#502)
161
+ - Ignored NaN values on classify functions (#534)
162
+ - Added agg param to crosstab zonal function (#536)
163
+
164
+ ### Version 0.2.6 - 2021-06-28
165
+ - Updated the classification notebook (#489)
166
+ - Added xrspatial logo to readme (#492)
167
+ - Removed reprojection notebook old version (#494)
168
+ - Added true_color function to documentation (#494)
169
+ - Added th params to true_color function (#494)
170
+ - Added pathfinding nb data load guidance (#491)
171
+
172
+ ### Version 0.2.5 - 2021-06-24
173
+ - Added reprojection notebook (#474)
174
+ - Reviewed local tools notebook (#466)
175
+ - Removed save_cogs_azure notebook (#478)
176
+ - Removed xrspatial install guidance from makepath channel (#483)
177
+ - Moved local notebook to user guide folder (#486)
178
+ - Fixed pharmacy notebook (#479)
179
+ - Fixed path-finding notebook data load guidance (#480)
180
+ - Fixed focal notebook imports (#481)
181
+ - Fixed remote-sensing notebook data load guidance (#482)
182
+ - Added output name and attrs on true_color function (#484)
183
+ - Added classify notebook (#477)
184
+
185
+ ### Version 0.2.4 - 2021-06-10
186
+ - Added resample notebook (#452)
187
+ - Reviewed mosaic notebook (#454)
188
+ - Added local module (#456)
189
+
190
+ ### Version 0.2.3 - 2021-06-02
191
+ - Added make terrain data function (#439)
192
+ - Added focal_stats and convolution_2d functions (#453)
193
+
194
+ ### Version 0.2.2 - 2021-05-07
195
+ - Fixed conda-forge building pipeline
196
+ - Moved all examples data to Azure Storage (#424)
197
+
198
+ ### Version 0.2.1 - 2021-05-06
199
+ - Added GPU and Dask support for Focal tools: mean, apply, hotspots (#238)
200
+ - Moved kernel creation functions to convolution module (#238)
201
+ - Update Code of Conduct (#391)
202
+ - Fixed manhattan distance to sum of abs (#309)
203
+ - Example notebooks running on PC Jupyter Hub (#370)
204
+ - Fixed examples download cli cmd (#349)
205
+ - Removed conda recipe (#397)
206
+ - Updated functions and classes docstrings (#302)
207
+
208
+ ### Version 0.2.0 - 2021-04-28
209
+ - Test release for new github actions
210
+
211
+ ### Version 0.1.9 - 2021-04-27
212
+ - Deprecated tiles module (#381)
213
+ - Added user guide on the documentation website (#376)
214
+ - Updated docs design version mapping (#378)
215
+ - Added Github Action to publish package to PyPI (#371)
216
+ - Moved Spatialpandas to core install requirements for it to work on JLabs (#372)
217
+ - Added CONTRIBUTING.md (#374)
218
+ - Updated `true_color` to return a `xr.DataArray` (#364)
219
+ - Added get_data module and example sentinel-2 data (#358)
220
+ - Added citations guidelines and reformat (#382)
221
+
222
+ ### Version 0.1.8 - 2021-04-15
223
+ - Fixed pypi related error
224
+
225
+ ### Version 0.1.7 - 2021-04-15
226
+ - Updated multispectral.true_color: sigmoid contrast enhancement (#339)
227
+ - Added notebook save cogs in examples directory (#307)
228
+ - Updated Focal user guide (#336)
229
+ - Added documentation step on release steps (#346)
230
+ - Updated cloudless mosaic notebook: use Dask-Gateway (#351)
231
+ - Fixed user guide notebook numbering (#333)
232
+ - Correct warnings (#350)
233
+ - Add flake8 Github Action (#331)
234
+
235
+ ### Version 0.1.6 - 2021-04-12
236
+ - Cleared metadata in all examples ipynb (#327)
237
+ - Moved docs requirements to source folder (#326)
238
+ - Fixed manifest file
239
+ - Fixed travis ci (#323)
240
+ - Included yml files
241
+ - Fixed examples path in Pharmacy Deserts Noteboo
242
+ - Integrate xarray-spatial website with the documentation (#291)
243
+
244
+ ### Version 0.1.5 - 2021-04-08
245
+ - CLI examples bug fixed
246
+ - Added `drop_clouds`, cloud-free mosaic from sentinel2 data example (#255)
247
+
248
+ ### Version 0.1.4 - 2021-04-08
249
+ - Sphinx doc fixes
250
+ - CLI bug fixed in 0.1.5
251
+
252
+ ### Version 0.1.3 - 2021-04-05
253
+ - Added band_to_img utils func
254
+ - Added download-examples CLI command for all notebooks (#241)
255
+ - Added band_to_img utils func
256
+ - Docs enhancements
257
+ - GPU and dask support for multispectral tools
258
+ - GPU and Dask support for classify module (#168)
259
+ - Fixed savi dask cupy test skip
260
+ - Moved validate_arrays to utils
261
+ - Added GPU support for hillshade (#151)
262
+ - Added CLI for examples data
263
+ - Improved Sphinx docs / theme
264
+
265
+ ### Version 0.1.2 - 2020-12-01
266
+ - Added GPU support for curvature (#150)
267
+ - Added dask.Array support for curvature (#150)
268
+ - Added GPU support for aspect (#156)
269
+ - Added dask.Array support for aspect (#156)
270
+ - Added GPU support for slope (#152)
271
+ - Added dask.Array support for slope (#152)
272
+ - Fixed slope cupy: nan edge effect, remove numpy padding that cause TypeError (#160)
273
+ - Fixed aspect cupy: nan edge effect, remove numpy padding that cause TypeError(#160)
274
+ - Updated README with Supported Spatial Features Table
275
+ - Added badge for open source gis timeline
276
+ - Added GPU Support for Multispectral tools (#148)
277
+ - Added Python 3.9 to Test Suite
278
+
279
+ ### Version 0.1.1 - 2020-10-21
280
+ - Added convolution module for use in focal statistics. (#131)
281
+ - Added example notebook for focal statistics and convolution modules.
282
+
283
+ ### Version 0.1.0 - 2020-09-10
284
+ - Moved kernel creation to name-specific functions. (#127)
285
+ - Separated the validate and custom kernel functions. (focal)
286
+ - Added annulus focal kernel (#126) (focal)
287
+ - Added outputting of z-scores from hotspots tool (focal)
288
+ - Changed type checking to use np.floating (focal)
289
+ - Added tests for refactored focal statistics (focal)
290
+
291
+ ### Version 0.0.9 - 2020-08-26
292
+ - Added A* pathfinding
293
+ - Allow all numpy float data types, not just numpy.float64 (#122)
294
+ - Broke out user-guide into individual notebooks (examples)
295
+ - Added num_sample param option to natural_breaks (#123)
296
+ - Removed sklearn dependency
297
+
298
+ ### Version 0.0.8 - 2020-07-22
299
+ - Fixed missing deps
300
+
301
+ ### Version 0.0.7 - 2020-07-21
302
+ - Added 2D Crosstab (zonal)
303
+ - Added suggest_zonal_canvas (zonal)
304
+ - Added conda-forge build
305
+ - Removed Versioneer
306
+ - Updates to CI/CD
307
+
308
+ ### Version 0.0.6 - 2020-07-14
309
+ - Added Proximity Direction (proximity)
310
+ - Added Proximity Allocation (proximity)
311
+ - Added Zonal Crop (zonal)
312
+ - Added Trim (zonal)
313
+ - Added ebbi (multispectral)
314
+ - Added more tests for slope (slope)
315
+ - Added image grid (readme)
316
+
317
+ ### Version 0.0.5 - 2020-07-05
318
+ - Changed ndvi.py -> multispectral.py
319
+ - Added arvi (multispectral)
320
+ - Added gci (multispectral)
321
+ - Added savi (multispectral)
322
+ - Added evi (multispectral)
323
+ - Added nbr (multispectral)
324
+ - Added sipi (multispectral)
325
+ - Added `count` to default stats (zonal)
326
+ - Added regions tools (zonal)
327
+
328
+ ### Version 0.0.4 - 2020-07-04
329
+ - Test Release
330
+
331
+ ### Version 0.0.3 - 2020-07-04
332
+ - Test Release
333
+
334
+ ### Version 0.0.2 - 2020-06-24
335
+ - Add Pixel-based Region Connectivity Tool (#52)
336
+ - Fixes to Proximity Tools (#45, #37, #36)
337
+ - Changes to slope function to allow for change x, y coordinate fields (#46)
338
+ - Added Pharmacy Desert Example Notebook
339
+ - Add natural breaks classification method
340
+ - Add equal-interval classification method
341
+ - Add quantile classification method
342
+ - Add binary membership classification method
343
+ - Fixes to zonal stats docstring (#40)
344
+ - Added experimental `query layer` from agol-pandas (will probably not be supported long term)
345
+ - Added ReadtheDocs page
346
+ - Added experimental `hotspot` analysis tool (Getis-Ord Gi*) (#27)
347
+ - Added experimental `curvature` analysis tool (Getis-Ord Gi*)
348
+ - Added support for creating WMTS tilesets (moved out of datashader)
349
+ - Added contributor code of conduct
350
+
351
+ ### Version 0.0.1 - 2020-02-15
352
+ - First public release available on GitHub and PyPI.