Analysis and Geoprocessing
Analysis and Geoprocessing tests your ability to choose the right tool, control its environment, and build repeatable workflows in ModelBuilder or Python. Questions often hinge on why an output is empty, clipped, or in the wrong coordinate system.
Tool logic and environments
Overlay tools differ: Clip cuts input to the boundary and keeps input attributes; Intersect keeps only overlapping geometry and combines attributes; Union keeps all areas. Spatial Join transfers attributes by relationship; Select By Location creates a selection; Select By Attribute uses SQL. Geoprocessing honors selections by default. Environment settings control output coordinate system, extent, mask, cell size, snap raster, and workspace. Precedence is tool parameter, then environment, then application setting.
ModelBuilder and Python
Model variables can be model parameters, exposing them when the model runs as a tool. Inline variable substitution uses %variable% inside paths and expressions. Preconditions force one process to finish before another starts. Iterators run a process per feature, row, or value. Intermediate data are temporary unless added to display or saved. ArcPy exposes tools as arcpy.management, arcpy.analysis, and arcpy.sa; arcpy.Env sets environments in scripts. Notebooks and the Python window use the project's active environment.
Worked example
Buffer commercial parcels by 50 meters and intersect them with flood zones. Select commercial parcels with Select Layer By Attribute, then connect a precondition to Pairwise Buffer. Set the buffer distance as a model parameter and use %Distance% in later tools. Set the output coordinate system environment to the project's State Plane system. Run Pairwise Intersect on the buffer and flood zones. Reasoning: the selection limits input, the precondition guarantees selection before buffering, the parameter makes distance reusable, and the environment controls output projection. Check that the mask environment is not set, or the output may be clipped unexpectedly.
Traps
Shapefile output truncates field names to 10 characters and has a 2 GB limit. A mask or small extent environment can produce empty or clipped results. Joins and relates do not permanently transfer fields unless you export or calculate them. Field Calculator uses an expression, while Calculate Value is a ModelBuilder-only tool. Locked data, invalid geometry, and output names with spaces or reserved words also cause failures.