Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

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 have access to ArcGIS 10.1 or QGIS 2.0

EDIT: 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.

share|improve this question
1  
Have your tried a Spatial Join in ArcGIS with these settings target_features = layer1, join_features = layerABC, join_operation = JOIN_ONE_TO_MANY ? –  Jens Feb 19 at 12:14
    
Ahha! That is exactly what I was after. I will accept this if you want to post it as an answer. Thanks. –  MAJ742 Feb 19 at 14:24
add comment

2 Answers 2

up vote 4 down vote accepted

Use ArcGIS Spatial Join Tool with these settings:

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

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

SELECT
    f.*,
    g.field_1,
    g.field_2,
    g.field_3
FROM
    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".

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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