Overview
========

This is a python module for calculating global (Moran's I [1]) and local spatial autocorrelation [1.5] using the AMOEBA algorithm [2]. This code works on shapefiles, although a base class is provided to allow the examination of other objects, e.g. from a spatial database.

Usage
=====

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.

Local Indicators of Spatial Autocorrelation (LISA)
==================================================

Moran's I (http://en.wikipedia.org/wiki/Moran's_I) is a single statistic for glboal 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:

.. math::

	I_{i} = \frac{Z_{i}}{}\sum_{j}W_{ij}Z_{j}
	I = \sum_{i}\frac{I_{i}}{N}

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**.

We use the PySAL library (http://code.google.com/p/pysal/) to calculate LISA statistics (http://pysal.org/users/tutorials/autocorrelation.html#local-indicators-of-spatial-association).

Installation
============

Using pip::

	pip install lcia-autocorrelation

Using easy_install::

	easy_install lcia-autocorrelation

Requirements
------------

The following packages are required

* numpy
* scipy
* pysal
* rtree
* osgeo
* django
* progressbar

Copyright and License
=====================

This code was written by Chris Mutel [3] during his studies at ETH Zurich [4], and is copyright 2011 ETH Zurich. The license is 2-clause BSD.
