I have multiple line outlining annual glacier extent (over 20 lines per glacier). I would like to calculate the average linear retreat of the glaciers. Is there a tool to calculate such distance on arcGIS?Or is there a python script I could use?
1 - you should create a separate shapefile for each line of the glacier (by means "select" command)
2 - you should compute the Euclidean Distance between each of these lines and the original glacier extent (by means "Euclidean Distance" command). Now you should have a high number of raster layer, each of them represents the distance between each of your line and the original extent of the glacier. When you compute the Euclidean distance, be sure to select "snap raster" in the environment settings, to ensure that all the raster are perfectly overlapped.
3 - take one of the rasters you computed, and for each pixel representing the original line extension of the glacier, you should calculate the sum of all the stacked pixel (by means "Raster Calculator")
4 - thus, divide each pixel by the number of rasters you computed (that is the number of the lines per glacier you had)
I found a Python Tool that was created to track and calculate glacier termini changes: Article A GIS tool for two-dimensional glacier-terminus change tracking
It is designed for shoreline change analysis, but applications to other boundary change studies are possible ("The software is also suitable for any generic application that calculates positional change over time, such as assessing change of glacier limits in sequential aerial photos...").