Download
Change Detection toolboxfor ArcGIS Desktop 10.5/10.6
Change Detection toolbox
for ArcGIS Desktop 10.3
Change Detection toolbox
for ArcGIS Desktop 10.1/10.2
Contact
hana.stankova@uniba.sk
Change Detection toolbox
Change Detection toolbox (CDT) is designed to automatically detect and evaluate land cover (LC) changes on the base of vector input layers in ArcGIS Desktop. When designing the functionality of the toolbox, we were inspired by the Land Change Modeler (part of Terrset software, formerly Idrisi), which allows you to identify and evaluate land cover changes based on raster layers.
The toolbox was originally developed in 2016 as a result of the Master's thesis of Lukáš Žubrietovský:
Žubrietovský, L. (2016) Development of the automatic land use change detection and
evaluation tool in ArcGIS environment. (in Slovak). [Master's thesis]. Comenius University in
Bratislava. Faculty of Natural Sciences; Department of Cartography, Geoinformatics and
Remote Sensing. Thesis supervisor: Mgr. Hana Stanková, Phd. Bratislava: Faculty of Natural Sciences, Comenius
University in Bratislava, 2016. 118 p.
The toolbox was later modified to a form suitable for publication.
The tools were designed for ArcGIS Desktop 10.6 using Python scripting language including the matplotlib and xlwt libraries. It is currently distributed under GNU General Public License Version 3. Copies of CDT running in older versions of ArcGIS Desktop are also available for download.
The CDT toolbox consists of four tools:
- Detection of changes
- Classification of changes
- Hierarchy of changes
- Statistical evaluation of changes
The first tool analytically compares input vector layers from two time periods and creates a new change layer and contingency table in xls format. The new attributes of change code and change area are written to the change layer attribute table. The change code is written as a combination of the selected LC codes from the first and the second layer, separated by an underscore. With the change area attribute, it is possible to select a unit of area, the user has the choice of acres, hectares, square meters and square kilometers. Summary table as the optional output provides information on the area and frequency of each LC combination. Two optional parameters help us identify the main types of changes. The first one allows to exclude areas that have not changed in the period under review. The second parameter allows us to exclude areas smaller than the specified threshold. The possibility of excluding unchanged areas is also available in the other three tools as these areas influence the resulting statistics.
The second tool sorts the changes based on the user-provided conversion table. This tool does not create a new change layer, it only updates an existing change layer by adding a change type attribute. It also creates a summary table of absolute and relative proportions of each type of change in the total area and graphs based on these values. Changes are often grouped into types based on the prevailing processes or drivers of change (e.g. urbanization, deforestation etc.). The pre-prepared conversion table for the second hierarchical level of CORINE Land Cover (CLC) is included in the CDT download package.
The third tool determines the hierarchical level at which the change occurred. It assumes the use of a hierarchical legend (such as CLC) in the input LC layers. Like the previous tool, it does not create a new change layer, only adds an attribute containing a hierarchical level to the existing change layer. The tool also creates a summary table of the proportions of the individual hierarchical levels in the total area and graphs based on these values.
The last tool creates the three types of statistics tables based on the input change layer. The first table quantifies the net change of the individual LC classes. The second table summarizes the gains and losses of the individual LC classes. Optionally we can also create a graph from these tables. The third type of statistical calculation is optional. It is performed when the user enters a class code for which he wants to identify contributors to the net change. The result is a table and a graph.