I have two layers with a 1:many relationship. Working within ArcMap, I'd like to have that relationship somehow formalized so that when I add a new feature to the child layer, it automatically gets an attribute from the parent, so the link is automatically sustained.

For example, say I have a county layer and a site layer. Sites are all within Counties and I want that site layer to have an attribute that indicates which county each site is within. I want to be able to edit the site layer, adding a new polygon, and have that polygon automatically attributed with the county.

I thought for a moment that Relationship Classes in a File Geodatabase would do the trick... but I created the relationship class and tried adding a polygon to the site layer. The relationship field remained Null.

Seems like a common need that should have an existing method...?

  • Eric, I think relate may help you. Have a look at these links. joining and relating tables joins – Dr. A.D.Prasad Dec 22 '12 at 4:53
  • There are ways to do this but AFAIK they all involve custom programming. Are you interested in that? – blah238 Dec 22 '12 at 5:46
  • A join, relate, or relationship class will not help in the example given because the relationship is a spatial one (e.g., "what county is this newly added site within?"). – blah238 Dec 22 '12 at 5:48
  • There is an ArcGIS Idea for a "spatial relationship class". – blah238 Dec 22 '12 at 5:50
  • 1
    I think one of the reasons this doesn't already exist as a staple feature is that the spatial relationship is implied by the geometry of the two objects and need not be attributed explicitly as it can be easily computed when needed. Another thing you have to consider that makes this problem tricky is what do you do if a feature sits on the boundary between its "containing" features, or if it is explicitly contained by more than 1 feature. – blah238 Dec 22 '12 at 6:37

Your Answer

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

Browse other questions tagged or ask your own question.