I'm trying to do a spatial join that takes the attributes of multiple polygons and applies them to a single polygon in another layer. The data is currently in a geodatabase, but can be exported to shp if needed.

In the example below I want to end up with polygon 1 also having the attributes of the features that intersect it so A, B and C. The output doesn't have to remain as a single feature so the output layer would have features 1A, 1B and 1C.

Many to one join

I am using ArcGIS 10.1 for Desktop.

To clarify, the output would need to maintain the geometry of 1 for all 3 output features so that they have the same area and 3 different sets of attributes rather than splitting the feature into 3 parts.

| improve this question | | | | |

Use ArcGIS Spatial Join Tool with these settings:

  • target_features = layer1
  • join_features = layerABC
  • join_operation = JOIN_ONE_TO_MANY
| improve this answer | | | | |

If i can store your data in Postgres\Postgis or Spatialite, you can do a query like this:

    table_1 AS f JOIN
    table_abc AS g
    ON (ST_Intersects(f.geom, g.geom))

Assuming that your tables are called "table_1" and "table_abc", and that the table _abc fields that you are interested in are called "field_1", "field_2" and "field_3".

| improve this answer | | | | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.