Skip to main content

Spatial Match Agent 🌎

Compare and match data using geometry relationships

Updated today

The Spatial Match agent allows you to compare two geospatial datasets and return records based on their spatial relationship. It works like a spatial join, where matches are determined by how geometries relate to one another rather than by standard field equality.

Configuration Options

Inputs

Connect the two datasets to the Spatial Match agent:

  • Universe Dataset

  • Target Dataset

These datasets appear as the two incoming paths to the Spatial Match agent on the flow canvas.

Main Path Configuration

Use the Main Path selector to configure the output. The current UI shows the following options:

  • Left: Includes all records from the Universe Dataset and matching records from the Target Dataset.
    ​

  • Inner: Includes only records that satisfy the spatial match condition between both datasets.
    ​

  • Outer: Includes all records from both datasets, whether matched or unmatched.
    ​

  • Cross: Returns records across both datasets for cross-comparison scenarios.

These options are displayed directly in the Spatial Match configuration panel.

Rules Setup

Use the Rules section to define how records from the two datasets should be matched spatially.

Choose how multiple rules interact:

  • AND: All conditions must be met for a match.

  • OR: Any condition met will qualify as a match.

For each rule, select:

  • A field from the Universe Dataset

  • A spatial predicate

  • A field from the Target Dataset

In the UI example, the rule compares Metadata from the Universe Dataset to Metadata from the Target Dataset using the intersects predicate. You can add multiple rules using the Add option.

Include Unmatched Paths

Optionally, include unmatched records by selecting the available unmatched output paths:

  • Universe Dataset

  • Target Dataset

This is useful when you want to review records that did not find a spatial match in the opposite dataset.

Spatial Predicates

Spatial predicates define how geometries from the Universe Dataset and Target Dataset are compared during matching. These predicates evaluate the spatial relationship between points, lines, and polygons to determine whether two records should be treated as a match.

Spatial Predicate

Description

Common Use Cases

intersects

Returns a match when two geometries share any portion of space. This includes partial overlap, edge contact, or point contact.

Find roads crossing, administrative boundaries, or service regions overlapping customer locations.

within

Returns a match when the geometry from one dataset is completely inside the geometry from the other dataset.

Find stores within a city boundary, assets within a district, or incidents within a response zone.

contains

Returns a match when one geometry completely contains the other. This is the inverse of within.

Find regions containing sales territories, districts containing schools, or polygons containing point locations.

overlaps

Returns a match when two geometries partially cover the same area, but neither fully contains the other.

Identify overlapping delivery zones, land-use conflicts, or partially overlapping project areas.

touches

Returns a match when two geometries meet at the boundary but do not overlap internally.

Detect adjacent parcels, neighboring administrative units, or polygons sharing an edge.

crosses

Returns a match when one geometry passes through another. This is commonly used with lines crossing lines or lines crossing polygons.

Find roads crossing rivers, pipelines crossing districts, or routes crossing restricted zones.

equals

Returns a match when two geometries are spatially identical.

Validate duplicate boundaries, compare reference layers, or confirm exact geometry matches between datasets.

disjoint

Returns a match when two geometries do not share any space.

Identify uncovered areas, assets outside service coverage, or records that fall completely outside expected boundaries.

nearest / within distance

Returns a match when two geometries are within a specified distance threshold.

Find customers within a defined distance of a branch, assets near a pipeline, or incidents close to a service center.

Best Practices

  • Use intersects when you want broad spatial match behavior.

  • Use within or contains when strict containment is required.

  • Use touches when adjacency matters but overlap should not count.

  • Use AND when all configured spatial conditions must be satisfied.

  • Use OR when any one rule should qualify as a match.

  • Enable unmatched outputs when you want to inspect records that did not spatially match.

Did this answer your question?