turf moran-index module

Usage no npm install needed!

<script type="module">
  import turfMoranIndex from 'https://cdn.skypack.dev/@turf/moran-index';




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.


  1. Moran's I

  2. pysal

  3. Andy Mitchell, The ESRI Guide to GIS Analysis Volume 2: Spatial Measurements & Statistics.


  • fc FeatureCollection<any>
  • options Object
    • options.inputField string the property name, must contain numeric values
    • options.threshold number the distance threshold (optional, default 100000)
    • options.p number the Minkowski p-norm distance parameter (optional, default 2)
    • options.binary boolean whether transfrom the distance to binary (optional, default false)
    • options.alpha number the distance decay parameter (optional, default -1)
    • options.standardization boolean wheter row standardization the distance (optional, default true)


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


Returns number


get variance of a list


Returns number


Type: Object


  • moranIndex number the moran's Index of the observed feature set
  • expectedMoranIndex number the moran's Index of the random distribution
  • stdNorm number the standard devitaion of the random distribution
  • zNorm 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