We use Python in many facets of our GIS analysis. Two main aspects relate to replication and automation.
A lot of base analysis and modelling are done initially within relevant GIS software packages manually. Once confirmed, it may be necessary to replicate these processes. Python programming can help to replicate these processes. In this same vein, Python can help with automation of tasks to avoid repetition and to ensure repeatable results.
Another major use of Python in GIS analysis is the threading of complex modular operations and in-built toolsets into large GIS models. This will involve the use of complex mathematical formulas and operations alongside default geoprocessing toolsets for GIS platforms. This concept also allows for the amalgamation of spatial data alongside non-spatial datasets and tables.
Automation also allows for the repeated use and easy handling of big and complex datasets. Typically, big data is computationally intensive to process and using these datasets can take time. Python allows for ease of use of these large and complex datasets.
Handling and processing of raster datasets can be done efficiently using Python. Typically, raster data can be simple in presentation, but it contains complex information. A good example of this is modelling climate change information for coastal and inland regions. These types of datasets also have a temporal aspect. Python allows for the automated processing of this data for a variety of scenarios and applications, both over a set limit of time and for a defined region.