Skip to main content

Join Features

This tool allows you to combine data from two layers based on attribute matching or spatial relationships. The result is a new layer containing the Target Layer's geometry and attributes, enriched with attributes from the Join Layer.

1. Explanation​

Joining is the process of attaching fields from one layer (Join Layer) to another layer (Target Layer).

GOAT supports three join methods:

  • Attribute: match features based on a common field (e.g., matching a zip code in both layers).
  • Spatial: match features based on their geometric relationship (e.g., features that intersect).
  • Spatial and Attribute: requires both a spatial overlap and a matching attribute.

An Attribute Join links two layers by comparing values in a shared field. Every feature in the Target Layer is matched against features in the Join Layer where the field values are equal.

Basic Attribute Join

Join Type​

The Join Type controls which features appear in the output:

  • Inner Join: only features with a match in both layers are kept. Features without a match are dropped.
  • Left Join: all features from the Target Layer are kept. Features without a match receive NULL for the joined fields.

One-to-One​

When each target feature matches at most one feature in the Join Layer, the result has the same number of rows as the Target Layer.

One-to-One Join: Inner Join vs Left Join

One-to-Many​

When one target feature matches multiple features in the Join Layer, the result contains one row per match: the target geometry is repeated for each matching record.

One-to-Many Join: Inner Join vs Left Join

2. Example use cases​

Attribute Join​

  • Add population data to district areas (matching on district ID).
  • Combine survey results with census boundaries (matching on tract ID).

Spatial Join​

  • Count the number of schools within each city district.
  • Find which municipality each point of interest belongs to.
  • Sum the total length of roads within a park boundary.

Spatial and Attribute Join​

  • Match buildings within a flood zone that also share the same building type.

3. How to use the tool?​

1
Click on Toolbox Toolbox. Under Data Management, click on Join Features.

Select Layers​

2
Select your Target Layer: the main layer whose geometry you want to keep.
3
Select your Join Layer: the layer containing the fields you want to add.

Match Method​

4
Under Match Method, enable Attribute Match, Spatial Match, or both.

Under Attribute Relationship, click + Add Match Field, then select the Target Field and the Join Field: the shared field used to match features between the two layers.

Join Options​

5
Select the Join Type: Inner Join (keep only matched features) or Left Join (keep all target features, unmatched get NULL).
6
Select the Match Handling: One to One or One to Many.
7

Optionally, enable Add Join Fields to select which fields from the Join Layer to include in the output, and/or enable Calculate Statistics to compute aggregated values when multiple Join Layer records match a single Target Layer feature. When Calculate Statistics is enabled, configure the statistic:

  • Select operation: Count, Sum, Min, Max, Mean, or Standard Deviation.
  • Select field: choose the numeric field from the Join Layer to aggregate (hidden when operation is Count).
  • Result column name (optional): name for the output column. Leave empty to use the default name (e.g. count or fieldname_operation).
8
Click Run to execute the join. The result layer will be added to the map.