This is a python module for calculating global (Moran’s I ) and local spatial autocorrelation [1.5] using the AMOEBA algorithm . This code works on shapefiles, although a base class is provided to allow the examination of other objects, e.g. from a spatial database.
The easiest way is to call autocorrelate.py with the name and path of the shapefile, e.g.:
python autocorrelate.py path/to/file/filename.shp
To use in other python programs:
from lcia_autocorrelation.ac_shapefile import AutocorrelationShapefile ac = AutocorrelationShapefile("filepath") ac.global_autocorrelation()
Autocorrelation calculations are made using the PySAL library; multiple measures of autocorrelation are possible.
Moran’s I is a single statistic for global autocorrelation. However, the calculation of Moran’s I involves summing the individual cross products of each spatial unit. Local indicators of spatial association (LISA) (Anselin, L. (1995). “Local indicators of spatial association – LISA”. Geographical Analysis, 27, 93-115) uses these local indicators directly, to calculate a local measure of clustering or autocorrelation. The LISA statistic is:
Where I is the autocorrelation statistic, Z is the deviation of the variable of interest from the average, and W is the spatial weight linking i to j.
pip install lcia-autocorrelation
The following packages are required
This code was written by Chris Mutel  during his studies at ETH Zurich , and is copyright 2011 ETH Zurich. The license is 2-clause BSD.