Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -441,6 +441,23 @@ write_vrt('mosaic.vrt', ['tile1.tif', 'tile2.tif']) # generate VRT

-------

### **Multi-Criteria Decision Analysis (MCDA)**

| Name | Description | Source | NumPy xr.DataArray | Dask xr.DataArray | CuPy GPU xr.DataArray | Dask GPU xr.DataArray |
|:----------:|:------------|:------:|:----------------------:|:--------------------:|:-------------------:|:------:|
| [Standardize](xrspatial/mcda/standardize.py) | Converts criterion rasters to 0-1 suitability scale (linear, sigmoidal, gaussian, triangular, piecewise, categorical) | Standard | ✅️ | ✅️ | ✅️ | ✅️ |
| [AHP Weights](xrspatial/mcda/weights.py) | Derives criterion weights from pairwise comparisons using the Saaty eigenvector method with consistency ratio | Saaty 1980 | ✅️ | ✅️ | ✅️ | ✅️ |
| [Rank Weights](xrspatial/mcda/weights.py) | Derives weights from a rank ordering (ROC, rank sum, reciprocal) | Standard | ✅️ | ✅️ | ✅️ | ✅️ |
| [WLC](xrspatial/mcda/combine.py) | Weighted Linear Combination (fully compensatory weighted sum) | Malczewski 2006 | ✅️ | ✅️ | ✅️ | ✅️ |
| [WPM](xrspatial/mcda/combine.py) | Weighted Product Model (multiplicative, penalizes low scores) | Standard | ✅️ | ✅️ | ✅️ | ✅️ |
| [OWA](xrspatial/mcda/combine.py) | Ordered Weighted Averaging with tunable risk attitude | Yager 1988 | ✅️ | ✅️ | ✅️ | ✅️ |
| [Fuzzy Overlay](xrspatial/mcda/combine.py) | Combines criteria using fuzzy set operators (AND, OR, sum, product, gamma) | Eastman 1999 | ✅️ | ✅️ | ✅️ | ✅️ |
| [Boolean Overlay](xrspatial/mcda/combine.py) | Combines binary criterion masks using AND/OR logic | Standard | ✅️ | ✅️ | ✅️ | ✅️ |
| [Constrain](xrspatial/mcda/constrain.py) | Masks exclusion zones from a suitability surface | Standard | ✅️ | ✅️ | ✅️ | ✅️ |
| [Sensitivity](xrspatial/mcda/sensitivity.py) | Assesses weight stability via one-at-a-time or Monte Carlo perturbation | Standard | ✅️ | ✅️ | ✅️ | ✅️ |

-------

### **Pathfinding**

| Name | Description | Source | NumPy xr.DataArray | Dask xr.DataArray | CuPy GPU xr.DataArray | Dask GPU xr.DataArray |
Expand Down
1 change: 1 addition & 0 deletions docs/source/reference/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ Reference
focal
hydrology
interpolation
mcda
morphology
multispectral
pathfinding
Expand Down
45 changes: 45 additions & 0 deletions docs/source/reference/mcda.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
.. _reference.mcda:

*********************************************
Multi-Criteria Decision Analysis (MCDA)
*********************************************

Standardize
===========
.. autosummary::
:toctree: _autosummary

xrspatial.mcda.standardize.standardize

Weights
=======
.. autosummary::
:toctree: _autosummary

xrspatial.mcda.weights.ahp_weights
xrspatial.mcda.weights.rank_weights

Combination
===========
.. autosummary::
:toctree: _autosummary

xrspatial.mcda.combine.wlc
xrspatial.mcda.combine.wpm
xrspatial.mcda.combine.owa
xrspatial.mcda.combine.fuzzy_overlay
xrspatial.mcda.combine.boolean_overlay

Constraints
===========
.. autosummary::
:toctree: _autosummary

xrspatial.mcda.constrain.constrain

Sensitivity
===========
.. autosummary::
:toctree: _autosummary

xrspatial.mcda.sensitivity.sensitivity
Loading
Loading