About joining the attributes of features by their location

Often, what's most interesting about a map is not the individual layers but the relationships between the features in those layers. For example, suppose you wanted to tell customers where they can find the nearest branch office of your business, or you want to compare different wildlife species with information about the habitats they live in. These types of queries can be answered with a spatial join.

A spatial join joins the attributes of two layers based on the location of the features in the layers. Like joining two tables by matching attribute values in a field, a spatial join appends the attributes of one layer to another.

You can then use the additional information to query your data in new ways. While you can also select features in one layer based on their location relative to another layer, a spatial join provides a more permanent association between the two layers because it creates a new layer containing both sets of attributes.

Performance tips for performing spatial joins

You can perform a join with either the Join Data dialog box, accessed by right-clicking a layer in ArcMap, or a geoprocessing tool. You should use the Spatial Join tool rather than the dialog box if you are performing spatial joins with large or complex datasets. The Spatial Join tool will give you better performance and reliability, and you can use the geoprocessing framework to easily automate repetitive or frequently performed joins with the tool as part of a model or script or simply by entering the parameters for the tool in the Python window. For example, you may want to perform several similar spatial joins to compare the results.

In addition, for the best results with spatial joins, it is recommended that both layers have the same coordinate system. If the layers have different coordinate systems, the following rules apply:

Related Topics