Moran's I measures patterns of attribute values associated with features. The method reveal whether similar values tend to occur near each other, or whether high or low values are interspersed.
Moran's I > 0 means a clusterd pattern. Moran's I < 0 means a dispersed pattern. Moran's I = 0 means a random pattern.
In order to test the significance of the result. The z score is calculated. A positive enough z-score (ex. >1.96) indicates clustering, while a negative enough z-score (ex. <-1.96) indicates a dispersed pattern.
the z-score can be calculated based on a normal or random assumption.
Bibliography*
-
Andy Mitchell, The ESRI Guide to GIS Analysis Volume 2: Spatial Measurements & Statistics.
Parameters
fc
FeatureCollection<any>options
Objectoptions.inputField
string the property name, must contain numeric valuesoptions.threshold
number the distance threshold (optional, default100000
)options.p
number the Minkowski p-norm distance parameter (optional, default2
)options.binary
boolean whether transfrom the distance to binary (optional, defaultfalse
)options.alpha
number the distance decay parameter (optional, default-1
)options.standardization
boolean wheter row standardization the distance (optional, defaulttrue
)
Examples
const bbox = [-65, 40, -63, 42];
const dataset = turf.randomPoint(100, { bbox: bbox });
const result = moranIndex(pts, {
inputField: 'CRIME',
});
Returns MoranIndex
get mean of a list
Parameters
Returns number
get variance of a list
Parameters
Returns number
Type: Object
Properties
moranIndex
number the moran's Index of the observed feature setexpectedMoranIndex
number the moran's Index of the random distributionstdNorm
number the standard devitaion of the random distributionzNorm
number the z-score of the observe samples with regard to the random distribution
This module is part of the Turfjs project, an open source module collection dedicated to geographic algorithms. It is maintained in the Turfjs/turf repository, where you can create PRs and issues.
Install this module individually:
$ npm install @turf/moran-index
Or install the Turf module that includes it as a function:
$ npm install @turf/turf