Open-source Tools in R for Landscape Ecology

Landscape ecology, the study of the complex interactions between landscapes and ecological processes, has hugely benefited from the increase in widely available open-source software in recent years. In particular, the R programming language provides a wealth of community developed tools for landscape ecology. In this paper, we examine existing packages for downloading, processing and visualisation of spatial data, as well as those specifically developed for spatial ecological analysis. Additionally, we outline the results of a survey of R users within the landscape ecology community. We found that landscape ecologists are generally satisfied with the functionality available within R, and that as a community they are continually further developing the functionality available. Suggested future developments include improvement of computation performance; additional methods for landscape characterisation such as surface metrics; and advanced, accessible visualisation tools.


Introduction
Landscape ecology focuses on how ecological processes are influenced by the heterogeneous landscapes and how the ecological processes themselves influence the landscapes [1][2][3]. Because landscapes are defined as mosaics of different land covers, ecosystems, habitat types, or land uses [4][5][6], spatial context is essential and ecological processes can vary spatially [3]. Thus, landscape ecology emphasizes spatial patterns to a high degree [7] and consequently relies on software to preprocess, modify, model, analyze, and visualize these spatial patterns.
Software to manage and analyze data becomes increasingly important in modern scientific research [8] and many This  scientific studies would not have been possible without opensource software [9]. Open-source software includes all software that is released under licenses that allow for the use, modification and distribution of the software [10]. Opensource software development has many advantages, such as fast innovation, transparency, reliability, and longevity, mainly due to many diverse contributors [10,11]. Additionally, open-source software facilitates (computational) reproducibility and allows a better understanding of the methodology of a study [9,12]. Furthermore, open-source software allows other scientists to reuse code and not "reinvent the wheel" [9] by customizing existing software to their specific needs [13]. Importantly, though not strictly necessary by definition of open-source [13,14], most open-source software is also free-of-cost, in contrast to often expensive proprietary software [11,13,14]. This democratizes scientific research. For more general overviews of open-source software for landscape ecology studies see [13][14][15][16].
One successful example of an open-source project is the R programming language, and its extensions called packages [17]. Packages allow to easily share code and make functionality and documentation available to users and by that extend the capability of the R programming language [18]. First released in 1995 [19], this programming language is among the most popular programming languages today, especially in ecology [20 •]. Originally introduced as a statistical programming language, a large number of packages designed to analyze spatial data subsequently emerged for the R programming language [21, 22 ••]. Thus, the R programming language can be a very powerful tool. In addition to handling spatial data, other analytical tasks such as statistical modeling, creation of publication-ready figures, and even complete reports can be done within the R environment (Fig. 1).
The growing body of R packages related to spatial data processing and analysis results in a high capability of this language for landscape ecology. The expanding CRAN Task Views (curated lists of packages related to a certain topic) document this: Analysis of Spatial Data [23] and Handling and Analyzing Spatio-Temporal Data [24] currently list about 300 packages in total. Since the task views are maintained manually by just a few people, the actual amount of R packages related to spatial data is most likely higher. The growing popularity of the R programming language for spatial data analysis and landscape ecology can also be seen with the increasing number of related textbooks [22 ••, [25][26][27]. A recent overview over the progress of R to handle spatial data can be found in [28 ••].
Even though many other open-source tools [29][30][31] and suitable programming languages (e.g., Python) for landscape ecology exist, in this review, we focus on software implemented in the R programming language. We acknowledge that there are reasons and circumstances to use other software tools and programming languages, however, a comprehensive discussion of pros and cons is outside the scope of this manuscript. Thus, in the first part of this article, we present an overview of existing R packages for landscape ecology and closely related fields (Table 1). We included only packages that were available on the official R package archive network CRAN at the time the manuscript was prepared. This ensures that all included packages were at least maintained to fulfill CRAN's technical quality standards. In the second part, we present a survey in which we asked the community how they currently use the R programming language and to identify topics for which R packages are presently missing for landscape ecology.

Existing Packages
Most R packages are developed and maintained by the community, which shows how open-source software development can facilitate innovation, reproducibility, and reuse of code. There are three major online platforms to host R packages and make them accessible to potential users: CRAN, GitHub, and Bioconductor. The last one focuses on tools for the analysis of genomic data; therefore, in this review we focus on only the former two.
CRAN (the Comprehensive R Archive Network) provides large visibility to the community, ease of installation, and a technical quality standard, including checks for common problems on all major operating systems [18]. GitHub hosts source code under version control, and allows users to install packages with one line of code using the remotes [32] package. Additionally, hosting a package on GitHub provides many useful features to collaborate and communicate between developers and users [18], or integrated unit testing (i.e., testing if functions return an expected value).
The guaranteed technical quality standard of CRAN requires more initial work for developers compared to GitHub. At the same time, it ensures for users that the package can be installed on their machine. Additionally, the technical quality standard of CRAN also facilitates reproducibility and reuse of code, as shown by many reverse dependencies of R packages, i.e., package x requires and uses code from package y. CRAN also provides archived versions of outdated or orphaned packages, thus ensuring long-term availability and reproducibility of code. That being said, most R packages can be found on both platforms, and many developers use GitHub for regular development and CRAN to publish stable releases of the packages. Furthermore, online communities like rOpenSci also provide a peer-review process for code quality. It is important to mention that while the package environment has many advantages, its highly dynamic characteristic with constant updates by the community might also be a threat to reproducibility since backward compatibility is not always ensured. Packages that deal with such issue include groundhog [33], packrat [34], or renv [35]. These packages facilitate reproducibility to a high degree by preserving the project environment, including specific package versions used for the analysis. For more information about R package development in general, see [18].

Spatial Data Representations
While base R has several built-in data structures, including vectors, matrices, data frames, and lists, yet it has no internal support for reading, processing, or visualizing spatial data. However, as discussed previously, one strength and core idea of the R programming language are its expandability by packages. Because there is a substantial interest in spatial data analysis, support for spatial data is now provided by many R packages ( [22 ••], Table 1). Most spatial data belong to one of two data models, namely spatial raster and spatial vector model, and both data models have several implementations in the R language. Exemplary workflow of spatial data analyses for landscape ecology using the R programming language. For all major tasks, some example R packages are listed. For more packages related to the specific task, see Table 1 Importantly, main R packages for spatial data use the external GDAL [36] and PROJ [37] libraries, which allow for reading and writing of hundreds of spatial data formats, and for coordinates transformation. Additionally, R allows for conversion between data models and specific implementations, which can be useful if given methods only exist for a particular data model or implementation.
In the raster data model, surfaces are divided into cells, where each cell stores a numeric value. The values could represent discrete phenomena, such as a class number of a land cover category, or continuous phenomena, such as elevation values. Currently, the most prominent package allowing for raster data representation is raster [38]. A raster successor, terra, aimed at the simpler interface and improved performance is being developed [39], however, it could take several years for this package to be adopted by other developers and users. Alternatively, the stars package can be used to read and process raster data focusing on spatial-temporal data cubes [40]. Additionally, there are packages that improve some basic raster operations in terms of computational performance or compatibility between raster and vector operations, such as fasterize [41], rasterDT [42], or exactextractr [43].
The vector data model consists of two main elements i) geometries (such as points, lines, polygons) and ii) attributes, where each geometry is connected to a row in the attribute table. In many cases, this data model allows a more realistic representation of landscape features, however, with higher computational cost [22 ••]. The sp package was the standard for vector data representation for more than ten years [44,45]. As of 2020, more than 500 R packages directly depend on or import sp. However, sp is not actively developed anymore, and its recommended successor is the sf package [46]. Besides many advantages and strengths of the sf package in terms of spatial data handling, it also integrates into the widely used tidyverse packages [47]. The tidyverse is a collection of R packages developed for almost all major tasks of any data analysis project. Because all tidyverse packages follow the same philosophy how to structure data, one strength of the tidyverse is its high consistency of usage across its packages [47]. sf builds on the idea of "simple features," a standard used to describe spatial geometries using points, lines (two connected points) and polygons (several connected points), and attributes connected to these geometries [27].

Spatial Data Download
Nowadays, spatial data at various scales is available from many online-accessible sources. A lot of this data are publicly available, either as a direct download or through an API connection, and several packages can use this to download the spatial data directly into a R session. Since publicly available data is becoming more prominent, so are R packages to access them. Packages include rnaturalearth [48] to access the Natural Earth database to download region and country data, the elevatr package to access raster elevation data [49], the rgbif package to access the Global Biodiversity Information Facility (GBIF) portal [50], the BIEN package [51] to access the Botanical Information  Data aggregation methods for raster data [58] and Ecology Network Database, the marmap to download bathymetry data from the ETOPO1 database [52], or the FedData package [53] to access the National Land Cover Database (NLCD) data for the USA. Furthermore, the getlandsat package [54] allows users to download Landsat 8 satellite data, the MODIS package [55] to download MODIS products, and sen2r [56] to download Sentinel-2 optical images. Also, the getData() function from the raster package allows users to download climatic and bioclimatic data from WorldClim v1.4. Additionally, the rgee package [57] gives access to an extensive catalog of data from Google Earth Engine, including climate data, land cover maps, and satellite imagery.

Spatial Data Processing
Coordinate reference systems (CRS) describe how spatial data are projected from the earth's three-dimensional surface to a two-dimensional surface as required for spatial analysis or creating maps [22 ••, 27]. This is also referred to as spatial projection and is often the first barrier in spatial data analysis. It is not only required to have all of the used data in the same projection, but also to select a proper CRS. This is of importance because the projection into a two-dimensional surface unavoidably leads to distortion, and different CRS are optimized for different properties, regions of the world, and scales [22 ••, 45]. Coordinates in spatial data represent one of many coordinate reference systems. Two main groups of CRS, namely geographical and projected, exist, with each having many members. Using geographical CRS, positions are specified by latitude and longitude coordinates in degrees. However, most landscape ecology studies should utilize projected CRSs, which use some measurement units (e.g., meters). The selection of projected CRS should be based on the property of spatial data that needs to be kept intact (e.g., no distortion of areas, shapes, distances, or angles) and be appropriate for a given study area. A common way to refer to different CRS is to use codes developed by the European Petrol Survey Group (EPSG). Tools to find an appropriate CRS for a certain region can be found at https://spatialreference. org, https://epsg.org, or http://epsg.io. All packages from "Spatial Data Representations" have interfaces for coordinates transformations, allowing unification of spatial projections when the used data have different CRS. Until 2020, spatial R objects stored information about their CRS using Proj4 string representations, and these strings could also be used for CRS transformations. However, the major changes in upstream software, namely PROJ6 and GDAL3, limited the capabilities of the Proj4 strings and switched to use a new representation called WKT2-2019 for storing the CRS. Thus, spatial objects saved with degraded Proj4 string representation to R file formats could be incorrectly read, and special attention should be given to check their correctness. Proj4 string representation is also not recommended to set or transform CRS and instead the previously introduced EPSG codes should be used. A more detailed explanation of the recent CRS changes can be found in [28 ••].
Another common spatial data processing task is required when the available data extends over a larger area than the study region. In this case, the pre-processing of spatial data should include vector clipping or raster cropping. Related to that, masking certain areas of the study region using spatial filters (e.g., water bodies, urban areas) can be required. Packages from "Spatial Data Representations" also allow for these operations. Additionally, they offer many other operations, such as merging or joining spatial data, extracting values from one dataset into another, raster resolution changes, or vector data simplifications. A comprehensive collection of methods to aggregate raster values to a coarser resolution can also be found in the grainchanger package [58]. Furthermore, landscapetools is a collection of various utility functions for the raster data model [59].
Finally, there are several tools for landscape ecology implemented in GIS software, such as r.li or r.pi for GRASS GIS [31,60,61], terrain analysis methods in SAGA GIS [62], or morphological operations for Google Earth Engine. It is possible to control several GIS software directly from R using dedicated packages, such as rgrass7 [63] for GRASS GIS, RSAGA [64] for SAGA GIS, and rgee [57] for Google Earth Engine. Direct access to these GIS software within R allows to create reproducible and sharable R scripts, even if functionality is currently not available in R.
Box 1: Where to start 1. Get familiar with basics of R programming language. Good resources can be found at https://cran.r-project.org/ manuals.html.

2.
Understand the fundamental spatial data types, i.e., raster data and vector data. This also includes being able to process the data using the corresponding packages such as raster or sf. These packages also have excellent documentation at https://rspatial.org/raster and https://r-spatial.github.io/sf, respectively. 3. Be able to transform coordinate reference systems of data from different sources. Depending on the data type, raster or sf and the corresponding documentations are good starting points. 4. Do a quick visualization of the data for inspection or a first glance at the data. This can be done with base R or -if already familiar -ggplot2. 5. Find suitable R package for research questions. This can be difficult since research questions, available data and packages are diverse. Good starting points are the CRAN Task Views (mainly https://cran.r-project.org/web/views/ Spatial.html) or review papers similar to this one. If several packages exist, try all of them and see which ones suites the question and data the best. 6. Create publication-quality figures and maps using, e.g., ggspatial or tmap. Help for both packages can be found on the corresponding homepages https://paleolimbot.github.io/ggspatial/index.html or https://mtennekes.github.io/tmap. 7. Make reproducible R scripts publicly available if possible. 8. Further excellent resources with applied help about spatial data in R can be found https://geocompr.robinlovelace.net, https://rspatial.org, or https://r-spatial.org/book/.

Creating Maps
Creating maps is essential when working with spatial data. Maps play an important role in checking the spatial and value-related quality of data, data exploration, and finally communicating results. R allows two major types of maps. Firstly, static maps in which the developer has full control over the presentation of the map and secondly, interactive maps in which the user can modify the map by, e.g., changing the displayed values. All packages listed in "Spatial Data Representations" have build-in methods for plotting spatial data using the generic plot() function (Fig. 2a). However, the generic functions are focused on quick visual inspection of the data (Fig. 2a), rather than creating complete maps as they do not directly support additional map elements (e.g., scale bar, north arrow) nor small multiples maps.
The popular plotting package ggplot2 (Fig. 2b) can also visualize spatial data and is build on a layered grammar of graphics, which allows to create maps by combining individual graphical elements (e.g., raster and vector elements) [65]. Additionally, there is an extension especially designed to plot spatial data named ggspatial, which provides additional map elements [66]. For more information about ggplot2 in general, see [65]. The tmap package provides a provides a coherent plotting system intended for drawing maps (Fig. 2c) [67]. This package operates in two modes, static and interactive, which means

Ecological Analysis
Quantify Landscape Characteristics One of the most fundamental steps of landscape ecology analyses is to describe and quantify landscape characteristics [2,73]. For discrete land cover classes, the composition (number and abundance) and configuration (spatial arrangement) of the landscape are often described using landscape metrics [74-77 •]. These metrics allow the comparison of different landscapes, quantification of temporal and spatial landscape changes and investigation of interactions between landscape characteristics and ecological processes [75]. The introduction of FRAGSTATS in 1995 heavily facilitated the use of landscape metrics software [77 •-79] and the landscapemetrics package [80] allows to calculate the most widely used landscape metrics within the R environment.
More recently, surface metrics were suggested as an alternative to landscape metrics for continuous raster data [81]. The geodiv package [82] allows calculation of gradient surface metrics to facilitate continuous analysis of landscape features. Additionally, the belg package allows calculation of the Boltzmann entropy of a landscape gradient [83].
Most landscape metrics are represented by a single number depicting specific characteristics of a local landscape.
Another possibility is to derive spatial signatures -a multivalue representation of landscape composition and configuration, such as a co-occurrence histogram [84]. Spatial signatures calculated for many landscapes can be compared using one of a set of existing distance measures (e.g., Euclidian, Jensen-Shannon, Jaccard). This enables several types of spatial analysis on categorical raster data, such as searching for similar landscapes, detecting changes between landscape patterns, and spatial clustering of landscapes based on their composition and configuration. All of the spatial signatures methods mentioned above are implemented in the motif package [84].
Spatial Statistics Spatial statistics are complimentary to landscape metrics, and can be used to analyze patterns in continuous data (e.g., normalized difference vegetation index, disturbance intensity, topography). In landscape ecology, spatial statistics has three key uses: i) detecting and correcting for spatial autocorrelation; ii) quantifying and comparing landscape patterns; iii) interpolating data.
Point pattern analysis uses event-level data, such as locations of individuals, and links the spatial pattern to the ecological process. The spatstat package [85] contains functionality for point pattern analysis, including exploratory analysis; simulation of point process models; and modeling fitting, inference, and diagnostics. A comprehensive textbook covering both theoretical background as well as applied examples can be found here [86].
Distance-based methods allow for the detection and correction of spatial autocorrelation in data. It is key to do so as landscape data are highly spatially autocorrelated, and this non-independence can affect inferences from statistical modeling. The spdep package [45] has methods for quantifying multiple metrics of spatial autocorrelation and correcting these in a spatial autoregressive model. The rinla [87] and inlabru [88] packages also provide functionality for modeling of spatially structured data.
Finally, the spatial structure of continuous landscapes can be quantified and compared with geostatistical tools, such as variograms and correlograms. R packages geoR [89] and gstat [90] provide functionality for this type of analysis, as well as interpolation methods, known as (co-)kriging. Geostatistics also allows for spatial data simulations.

Species Distribution Modeling
Species distribution modeling (SDM) examines how landscape patterns (e.g., habitat suitability or resources availability) influence and determine the patterns of species' distributions, mainly to infer ecological processes and predict future species' distributions [91]. Originated in the 1970s, SDM has experienced numerous methodological advancement, and a large body of literature exists today [92,93]. Additionally, textbooks introducing basic concepts of SDM in R exist [26,94].
Related to SDMs, there is a growing number of R packages to analyze data from tracked animals, to study their movement characteristics, space use, and interaction with other animals and the environment. These analyses often use results of landscape ecological analyses as predictor variables to explain variation in space use [111], behavioral states [112], or habitat selection [113]. Widely used R packages include ctmm [114] and adehabitatHR [115] for home-range estimation, moveHMM [116] for the classification of behavioral states, and amt [117] for habitat selection. A recent and very comprehensive overview of R packages for the analysis of animal movement data is given by [118].
Connectivity Connectivity is one of the core elements of landscape structure [119] and thus one of the core concepts of landscape ecology [3]. Landscape connectivity describes how landscape characteristics facilitate or hinder the movement of species [120] or other aspects of mobility, such as dispersal, gene or nutrient flow [3]. While structural connectivity focuses only on landscape characteristics (e.g., movement corridors, barriers), functional connectivity also includes behavior characteristics of the species such as habitat associations and dispersal distances [3,120]. Given its broad concept, many different measures of connectivity exist [121]. At the patch level, structural connectivity can be measured using nearest-neighbor distances or characterizations of the patch neighborhood (e.g., amount of suitable habitat) [3,121]. Such measures are provided within the landscapemetrics package (see "Quantify Landscape Characteristics"). Furthermore, the lconnect package [122] and Makurhini package [123] provide several landscape connectivity metrics. Another way to describe connectivity is based on graph theory with the advantage that functional connectivity can also be included [121]. In graph theory [124], landscapes are described by nodes (i.e., habitat patches) connected by and functional connections called links (or edges) [124]. The grainscape package [125] provides a tool to model connectivity based on spatially explicit networks. More generally, the igraph package [126] provides functionality for graph theoretic analyses. Resistance surfaces and least-cost paths are other tools to model functional connectivity which include attributes of the matrix. The resistance surface describes the effects of facilitating or hindering the landscape's characteristics for an organism moving within it [127]. Least-cost paths can be calculated using the gdistance package [128]. Absorbing Markov chains quantify landscape connectivity as the combination of movement and mortality based on the landscape characteristics [129], and is provided by the recently published samc package [130].
Landscape Genetics Landscape genetics investigates how characteristics of landscapes interact with gene flow, genetic drift, and selection [131]. Such insights improve our understanding of metapopulation dynamics, speciation, species' distributions, and conservation [132]. By explicitly including landscape characteristics, landscape genetics provides a more detailed analysis than more abstract concepts (e.g., metapopulation genetics) [133]. As a result of its interdisciplinarity, landscape genetics draws together methods from multiple fields, including landscape ecology, spatial statistics, geography, and population genetics [132].
Since describing connectivity between two locations is one of the fundamental steps of landscape genetics, all packages useful for connectivity (see "Connectivity") are also important for landscape genetics. Further functionality for landscape genetics such as quantifying and analyzing population genetic structure, and hierarchical decomposition analysis can be found in the graphs4lg [134], PopGenReport [135,136], HierDpart [137], or GeNetIt [138] packages.
Neutral Landscape Models Neutral landscape models are used to create structured landscapes in the absence of specific ecological and landscape processes as null models against which hypotheses including specific ecological and landscape processes can be tested statistically [139,140]. Because neutral landscape models are not based on ecological and landscape processes, many different generic algorithms to create landscapes can be found across several R packages. A comprehensive collection of algorithms to simulate neutral landscape models specifically designed for landscape ecology can be found in the NLMR package [59]. Furthermore, the RandomFields package [141] allows to simulate Gaussian fields, which could be used as neutral landscape models.

Survey of R Usage by Landscape Ecology Community
To better understand how the landscape ecology community uses R, we conducted a short survey using mailing lists and social media to reach the community. Thus, the survey was not necessarily representative for all skill levels of R users and results are most likely biased towards more advanced users. Also, the survey did not include any personal questions, such as age or country of residence, which might affect the representation of the survey. All raw data and scripts to analyze the data can be found at https:// github.com/r-spatialecology/Hesselbarth et al CLER.
Most people use R either "daily" (53.2%) or a "few times a week" (36.7%). Almost half of all participants described themselves as "advanced" users (46.8%), while 40.4% described themselves as "intermediate" users. Related to this, about half of the participants either implemented their own package (21.1%) or plan to do so in the future (22%) and most of these packages are hosted on GitHub and/or CRAN.
We asked the participants to select which terms describe their research topics the best, and options that were selected by more than 10% of participants included "biodiversity", followed by "land use management", "landscape connectivity", and "nature conservation" (Fig. 3a). (c) the most used R packages and (d) the overall usefulness or R for landscape ecology. The "others" category includes all answers with less than five total mentions Next, we were interested in the most important tasks to the workflow of the participants. Not surprisingly, "(pre-) processing of data", "spatial statistics", and "creating maps" were the most selected options (Fig. 3b). The available options seemed to describe the most important task to the workflow quite well since only very few participants selected the "others" option (all options with less than five total answers were classified as "others").
More people use the raster data model (72.5%) in comparison to the vector data model (27.5%). This was also represented in the most used R packages (Fig. 3c). When asked for the three most used packages, participants of the survey listed 93 packages in total. The raster package was mentioned the most, followed by the sf package. Both packages are designed for basic and advanced data handling and processing of raster and vector data, respectively, representing the results of Fig. 3c. Nevertheless, the large availability and usage of different R packages across the community can be seen in the large "others" option (packages mentioned by less than 5 participants; 35.9%).
Lastly, when asked how useful R is currently for landscape ecology, the vast majority of participants answered with either "very useful" or "useful" (summarized 90.8%) and only very few participants evaluated R as "intermediate", "not useful" or "not useful at all" (summarized 9.2%; Fig. 3d).
The survey also included a section in which participants could list methods and tools currently missing in R and answers to this question were very diverse. Overall, 23.9% of the participants reported that currently no packages and functionality are missing for them or they lack the overview to answer the question. There were three most common topics across the answers of the participants. Firstly, many participants (12.8%) wished for a better computational performance of R in terms of speed and required RAM, especially for larger data sets. Secondly, participants are missing specific approaches to quantify landscape characteristics (such as surface metrics), or are wishing for an improvement of currently available approaches to quantify landscape characteristics (9.2%). Thirdly, many participants (8.3%) are currently missing advanced and easy-to-apply methods to create high-quality maps or other visualization-related functionality.

Conclusions
Since its first introduction in 1995, R has come a long way from an exclusively statistical programming language to a powerful landscape ecology tool. Today, many R packages, mainly developed by the community itself, provide a vast collection of functions and algorithms aimed at spatial data handling and analysis. The highly dynamic development of R packages for landscape ecology also shows the strength of open-source software with its high innovation, transparency, reliability, and longevity. However, since landscape ecology constantly develops and improves, consequently also the R programming language and its packages are under constant change to adapt to these new developments.
A comprehensive collection of R software packages exists to handle the most common tasks of landscape ecology. Because it is possible to import, modify, analyze, and visualize spatial data all in the same scripted programming environment, R allows for transparent and reproducible workflows. Scripts including all analysis steps and parameter settings can easily be shared, thus the scriptbased characteristic of the R programming language allows the easy distribution and reproduction of analysis across all major operation systems (e.g., Windows, macOS, Linux), as demonstrated by the R script in the Appendix. This is a big advantage over point-and-click software interfaces where analysis steps and parameter settings can only be described but not shared, and furthermore, are often only available for certain operating systems. This also allows users to easily interchange, modify, or adapt methods from other related and unrelated fields.
The survey revealed that the landscape ecology community is overall satisfied with the capabilities of the R programming language for landscape ecology. Furthermore, the survey showed that many members of the landscape ecology community actively develop R packages themselves, demonstrating that tools are constantly added and updated.
Landscape ecology combines many different research topics and methodological approaches, and most of them heavily rely on spatial data. While the R programming language is generally well suited to handle, analyze and visualize spatial data, the increasing availability of large data sets also leads to the challenges of increased computational demands, in terms of computational time as well as memory requirements, the R programming language has to face. Some packages discussed herein, such as raster and terra, already provide solutions by processing data in chunks small enough to be stored in RAM memory. Furthermore, parallel processing, including the use of high performance clusters, is also provided by several R packages. While this is outside the scope of this manuscript, further resources about parallel processing in R can be found here [142][143][144]. Furthermore, as the individual fields collected under the umbrella of landscape ecology develop, so will the need for R packages related to those fields. Nevertheless, as the development of R packages over the past years clearly demonstrated, the landscape ecology community is ready to face these challenges.

Glossary
API Application programming interface. A set of protocols for sending and retrieving information, for example, from a server cell Smallest, rectangular unit of raster data model CRAN Comprehensive R Archive Network. A repository for R package CRS Coordinate references system. A coordinate-based local, regional or global system used to locate geographical entities EPSG Public registry of geodetic datums, spatial reference systems, Earth ellipsoids, coordinate transformations and related units of measurement GDAL Open-source translator library for raster and vector spatial data formats GIS Geographic information system landscape Mosaic of land covers, ecosystems, habitat types, land uses NLM Neutral landscape model open-source software Software released under licenses that allow to use, modify and distribute it patch Neighboring cells with same value PROJ Open-source generic coordinate transformation library raster Cell grid based spatial data model resolution Size in meter or degree of one cell R package User-created software extension to R programming language SDM Species distribution modeling Simple Features A set of standards that specify a common storage and access model of spatial vector data vector Points, lines, and polygons-based spatial data model
Author Contribution MHKH and JN designed the survey form and analyzed the responses of the participants. MHKH and JN drafted the manuscript with contributions of JS and LJG and all authors contributed critically to the manuscript and gave final approval for publication. We used the 'sequence-determines-credit' approach (SDC) for the sequence of authors.
Funding Open Access funding enabled and organized by Projekt DEAL. LJG was supported by the Natural Environment Research Council (NERC) grant A complex-systems approach to improve understanding of the biodiversity-landscape structure relationship, grant number NE/T009373/1. Other authors did not receive any funding for this research.

Availability of Data and Material (Data Transparency)
All raw data and scripts to analyze the data can be found at https://github.com/ r-spatialecology/Hesselbarth et al CLER.

Compliance with Ethical Standards
Conflict of Interest MHKH and JN are authors of the landscapemetrics and landscapetools package. MHKH is author of the NLMR package. JN is author of belg and motif package. JS is author of the amt package. LJG is author of the grainchanger package.

Human and Animal Rights and Informed Consent
This article does not contain any studies with human or animal subjects performed by any of the authors.
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons. org/licenses/by/4.0/.