Person: This module is all about
gearing up your geoprocessing skillset,
building and demonstrating comprehension
of geoprocessing tools,
interpreting error messages,
and where to find guidance for tool use and troubleshooting.
This module is not a call to memorize
entire geoprocessing toolboxes and tool sets.
No need to commit to memory
the optional and required parameters
of any geoprocessing effort.
Rather, your time is better spent reviewing
the thematic groupings of various raster
and vector analysis tool sets
to understand, at least conceptually, what's possible.
See a tool set or a specific tool that piques your interest?
Dive in.
Find some data to plug into the algorithm,
experiment with alternative parameter configurations,
take notes, and compare the results.
Pre-formatted lessons can only take you so far,
practicing with the good, the bad, and the ugly
of publicly available data is the best way
to experience the highs and lows of a geoprocessing addict.
More importantly, you develop confidence
to find a bioprocessing solution
to a vexing problem in a data scarce region
without instructions to guide your workflow,
confidence to troubleshoot even the most dreaded of errors,
in ArcGIS, that's the error code 999999,
"Something unexpected caused the tool to fail,"
and the confidence to try new things,
assess software, and data resources evolve.
Let's look at the anatomy of a tool reference page
while stepping through the contents of the intersect tool.
I could have chosen any geoprocessing tool here,
but thought it best to start with something
we're all familiar with.
Regardless of the geoprocessing tool,
the technical documentation and help are organized the same.
For those of you interested
in advancing your Python programming skills,
this is where you can find resources
on that topic as well.
You can see the eight categories
of information included in each tool reference file,
I've hopefully created a link document here
that you might find helpful as a reference.
Click any of the categories on this page
to proceed directly to that section of the lecture slides.
We'll proceed from left to right, starting with the summary.
For most of the remaining slides,
I present two columns of information.
On the left slide is the general description
of the resource topic provided in the anatomy
of the tool reference page
I provided a link to on the previous slide.
On the right side, I share excerpts
of the intersect tool documentation.
The summary section provides a short description
of the geoprocessing tool and links to additional,
typically more detail or theory oriented depiction
of the tool function.
As we already know, the intersect tool
computes the geometric intersection of the input features.
You might also consider a pairwise intersect
as an alternative and could, and probably should,
learn more about how the intersect function works.
This section is also where you can find
a graphical depiction of the tool,
including required inputs,
and the output produced by the algorithm.
The usage section provides notes and clarifications
for tool use.
One to note here, the parameter labels.
For example, "Input Features" are referred to in the notes,
but if you are interested in including the tool
in a Python script,
the proper syntax calls for the parameter name.
The relationship between the two is usually obvious,
but be sure to double check the usage notes
if you're writing scripts.
You can see from the tool interface
which parameters are required,
the ones next to a red asterisk.
If you need more details on this, see the syntax section.
Here are the intersect usage details.
There's a lot we already know,
and perhaps even a few things we know that we don't realize.
We already know that points, lines, and polygons
are acceptable input feature data types,
but what happens when we mix and match
the input feature geometries?
The second bullet specifies
that the output feature class will assume
the lowest dimension geometry of the input features.
You can even specify a lower dimension geometry
than what would be output by default if you so choose.
The details go on to describe tiling
and parallel processing considerations.
The syntax section lays out the format
and set of parameters required
to execute the tool in a Python environment.
This section also includes a straightforward table,
listing the parameters, their explanations,
and the possible data types.
If you're interested in learning more about Python,
I suggest a quick review of the "Tool syntax decoded" link
on this slide.
On the right, we see that the "in_features"
and "out_feature_class" are required parameters
of the intersect tool,
and that the "{join_attributes},"
among others not shown due to space constraints,
is an optional parameter.
The code sample section provides just that,
one or more examples illustrating tool use
in a Python environment.
Here we see two code samples, one for immediate mode
that can be run directly from the Python window
in ArcGIS Pro, and the other, a standalone script
that can be executed from outside ArcGIS Pro
using an integrated development environment like IDLE.
The environments section provides links
to all the environment settings honored by the tool.
We looked at environment settings in the context
of raster geoprocessing during the introduction
to GIS class.
They can also be applied to vector data
and geoprocessing operations.
The licensing information section
identifies the license level necessary
to access tool functionality.
Here we see there is limited functionality
for the basic and standard licenses
for the intersect tool.
You want the full meal deal?
You need to step up to the advanced license.
In this case, the license level limits
the number of input feature classes that are allowed.
Basic and standard can only intersect
two feature classes at a time,
advanced is less limited.
You can find more details on this in the usage section.
The tool syntax provides even more detail
on developing Python scripts.
Feel free to ignore this
if you're not interested in writing code,
and just to be clear, there's nothing wrong with that.
For those of you interested in going down this path,
this is a good stop for sussing out finer points
of the tool parameters, requirements, and limitations.
That's it for today's anatomy lesson.
Please reference this slide deck for general guidance
or dig into tool specific help
as you're working your way through exercises.
It can prove useful to read through a tool help document
for a tool that you already understand,
just to gauge the style
and content of the technical writing.
Learning something under pressure
is not the best way to make a lasting impression.
In the next lecture, we'll look at some vector
and raster geoprocessing tools,
dig into their associated guidance documents,
and conduct experiments that are not likely
to change the world, but will hopefully broaden
your geoprocessing horizons.