Join Features

Note:

This functionality is currently only supported in Map Viewer Classic (formerly known as Map Viewer). It will be available in a future release of the new Map Viewer.

Join Features The Join Features tool will transfer attributes from one layer or table to another based on spatial and attribute relationships. Optionally, statistics can be calculated for the joined features.

Workflow diagram

Join Features workflow diagram

Examples

An analyst has crime data throughout their city. To analyze and study the impact of these crimes, the analyst needs to understand the relationship that the crime locations have with the various city jurisdictions such as school districts, police beats, neighborhoods, and so on. By using the Join Features tool, additional information about each location can be appended to each crime, and the impact on various jurisdictions can be further studied and analyzed.

Usage notes

The Join Features tool is designed to transfer and append information from one layer to another. The information that is transferred is based on the type of spatial relationship defined or based on a common attribute that is shared between the two datasets.

Tip:

You can add a layer that is not in Map Viewer Classic to the tool pane by selecting Choose Analysis Layer in the drop-down menu.

When joining features, you can join features based on a spatial relationship, an attribute relationship, or a combination of the two.

OptionDescription

Choose a spatial relationship Choose a spatial relationship

The spatial relationship that will determine whether features are joined to each other. The available relationships depend on the geometry type (point, line, or area) of the layers being joined. Available spatial relationships are as follows:

  • Identical to
  • Intersects
  • Completely contains
  • Completely within
  • Within a distance of

Choose the fields to match Choose the fields to match

The attribute relationship that will determine whether features are joined to each other. Features are matched when the field values in the join layer are equal to field values in the target layer.

The join operation determines how joins between the target and join layers will be handled if multiple features in the join layer are found to have the same relationship to the target layer. The following are the two join operations from which to choose:

  • Join one to one—This option joins a single feature in the join layer to each feature in the target layer. The records from the join layer that are used in the join are determined by the Add statistics parameter or the Define which record is kept parameter. If Add statistics is selected, all matching records will be summarized for each feature in the target layer. The count of the summarized records will also be added by default. If Define which record is kept is selected, only one matching record from the join layer will be used for each target feature. You can choose to either keep the first matching record in the join layer (default) or to keep the matching record with the highest or lowest value in a certain field (Order by). The order by expression requires either a numeric field (option for largest or smallest value) or a date field (option for newest or oldest).
  • Join one to many—This option joins all the matching features in the join layer to the target layer. The result layer will contain multiple records of the target feature.

Keep all target features is used to determine whether the output includes only matching features, or all features from the target layer. When this option is not checked (default), only matching features between the target layer and the join layer are returned in the output (an inner join). When checked, all features in the target layer are returned in the output, even if the target feature does not have a match in the join layer (a left outer join).

Example of joining one to many and one to one
An example of one-to-one and one-to-many attribute joins, with and without Keep all target features checked. In this example, the one-to-one joins include the default record, the sum of Occupants, and the maximum from Occupants.

If Use current map extent is checked, only the features visible within the current map extent will be analyzed. If it's not checked, all features in both the target layer and the join layer will be analyzed, even if they are outside the current map extent.

Create results as hosted feature layer view allows the data to stay up to date as the source data changes. Hosted feature layer views containing joins will be read-only. If statistics are included as part of the output, the hosted feature layer view will contain an extra table layer in the view with the statistics. Attachments on the target layer will be preserved if the target layer has attachments enabled and a GlobalID field. For more information on hosted feature layer views, see Limitations.

Limitations

Summary statistics can only be calculated if a Join one to one operation is specified.

Joins cannot be created using fields that have a field type of ObjectID. If the values from an ObjectID field must be used in a join, you can create an integer field and calculate the field based on the ObjectID value.

You can create a hosted feature layer view from the analysis results if all of the following conditions are met:

When storing results as a hosted feature layer view, Use current map extent is unavailable.

When storing results as a hosted feature layer view, Editor tracking functionality cannot be enabled. Therefore, settings such as "Editors can only see their own features" are unavailable for hosted feature layer views resulting from a join. Any editor tracking fields from the target layer and join layer will be included as regular fields in the hosted feature layer view.

How Join Features works

Equations

Standard deviation is calculated using the following equation:

Standard deviation equation

where:

  • N = Number of observations
  • xi = Observations
  • = Mean

Calculations

Statistics are calculated for only those features that meet the specified spatial or attribute relationship used in the Join one to one operation. You can only calculate statistics for numeric fields. When you add statistics, a Join Count field is added that lists the number of matching records summarized for each target feature. Using the table above, numeric statistics were calculated on the Occupants field and string statistics were calculated on the Building_Name field for the values of Apartments for the Type field.

Numeric statisticResults of Occupants of Type Apartment

Sum

130 + 8 + 250 = 388

Minimum

Minimum of:

[130, 8, 250] = 8

Maximum

Maximum of:

[130, 8, 250] = 250

Average

388/3 = 129.333

Standard Deviation

Standard deviation
= 121.0014
Note:

Null values are excluded from all statistical calculations. For example, the mean of 10, 5, and a null value is 7.5 ((10+5)/2).

Similar tools

Use Join Features to transfer attributes from one layer or table to another based on spatial and attribute relationships. Other tools may be useful in solving similar but slightly different problems.

Map Viewer Classic analysis tools

Use the Enrich Layer tool to get demographic and landscape information for the people, places, and businesses associated with your point, line, or area data locations.

ArcGIS Pro analysis tools

Join Features performs the functions of the Spatial Join, Add Join, and Summary Statistics tools.