About this Section

Generally speaking ESRI’s approach to building ArcGIS is to create a tool for every situation you might encounter. This is a little different in R. Depending on the package, the idea is usually to provide a minimal set of functions with which the user can create their own tools. The creators of the package sf are very strict on this paradigm.4 As Roger Bivand once put it:

Users should learn to catch fish, not be given tidied fish.

We haven’t found a complete overview of all the “Geprocessing Tools” in ArcGIS, but we’ve scraped ESRI’S website and counted 38 Toolboxes, containing 244 Toolsets and 1132 individual tools5. We cannot possibly cover the R way for every tool in this list. It probably wouldn’t make much sense either: Once you learn the fundamental building blocks, you will be able to replicate most, if not all tools from this list. The aim of this book is to cover these fundamental building block. See figure 5.3 for an interactive visualisation of all tools in ArcGIS.

Figure 5.3: A ‘diagonal Network’ visualisation of many6 of the tools available in ArcGIS Pro.

tools_toodo_yaml <- read_yaml("auxiliary/tools_todo.yaml")
tools_toodo2 <- imap(tools_toodo_yaml, function(toolbox, toolboxname) {
    imap(toolbox, function(toolset, toolsetname) {
        imap(toolset, function(tool, toolname) {
            list(name = toolname)
        })
    })
})

FromListSimple(tools_toodo2, nodeName = "GeoprocessingTools") %>% ToListExplicit(unname = TRUE) %>% 
    diagonalNetwork()

  1. This and this github nicely illustrate this.↩︎

  2. Note: these numbers are an approximation only, we may have made errors when scraping↩︎

  3. Note: these numbers are an approximation only, we may have made errors when scraping↩︎