Landscape ecology is the study of how landscape pattern affects ecological processes. A key tool for landscape ecologists is a geographic information system (GIS), which is software program used to store and analyse geographic information. Recently there has been a growth in the number of GIS users being introduced to Python, as Python has been adopted as a scripting language by both open-source GIS program development communities, and by proprietary GIS software companies.
However, most GIS users view Python only as a tool for automating GIS workflows by integrating GIS functions with Python loops, decision logic, or text editing. Although this is in itself a very useful application of Python, this is where Python use with GIS tends to stop, as many landscape ecologists are often unaware that Python has very powerful functionality of its own. This is unfortunate, as having begun scripting in Python they are in a position to easily make use of a vast amount of additional Python functionality.
An example of the added benefits Python brings to GIS in landscape ecology is in modelling risk of spread of invasive species. Invasive species are non-native organisms that can cause enormous ecological, economical, and social impacts. In the face of uncertain information on how invasive species will disperse in new landscapes, stochastic modelling is often used to measure levels of uncertainty, which is a critical component of establishing risk. This would not be possible with most GIS systems without the use of language such as Python.
However, given the number of model iterations that are required for risk modelling, the speed at which the GIS functions can be completed becomes a key limitation. Least-cost modelling is a popular GIS function used by landscape ecologists to measure how dispersal may vary across a landscape. I examined least-cost model calculation speeds between the popular and widespread ArcGIS software, and the recently developed PCRaster dynamic spatial modelling framework. The PCRaster approach was seen to significantly outperform ArcGIS, though the size of the data grids used as input data for least-cost modelling was still an issue.
Given the complications of using GIS software for stochastic modelling, and that the grid data used for least-cost modelling is in essence an array, it would seem useful to explore the potential for GIS users to remove the need for use of a GIS system altogether assuming the same algorithm could be replicated in NumPy. This would also allow users to become software and platform independent.
I would suggest that the development of Python tools that are equivalent to GIS functions would be of great interest to landscape ecologists and other GIS users, and would potentially encourage the use of Python in new areas of research.