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 want to auto-populate a field based on the spatial location of another feature's attribute.

Add a point on top of a building. The point automatically adds the name of the building.

This seems like a standard work flow.

Does anyone know how to do this? Is it an event trigger?

The goal is to assist field workers using what seems like simple GIS logic.

Thank you

share|improve this question
1  
Which software are you working with? Or do you want to develop from scratch? –  underdark Apr 19 '11 at 7:04
    
Not sure about python but this can be done programatically with ArcObjects. (iSpatialFilter, iHitTest, etc.) –  Jakub Apr 20 '11 at 0:32
add comment

4 Answers

If you are using building polygons with points that lie somewhere within the polygon use a spatial join to join each building with the point residing in it. Then calculate your field in the point feature class based on the joined building polygon feature class field of choice.

share|improve this answer
    
I appreciate both of your responses. Spatial Join is the work flow I'd follow if doing this manually. I want to trigger an event that updates the field at the moment a new point feature is added. Is there a way to use Calculated Field, python or something? –  RGIA Apr 20 '11 at 4:31
add comment

The Attribute Assistant allows you to take field values from intersecting or nearby features and put them in specified fields of the created feature. It can be configured to populate fields when a feature is created, or on a selected set of features, and when you update a feature's attributes or position.

There is a tutorial here, and a blog post on how I implemented it here.

It is a powerful tool that has saved me a great deal of typing and data entry error. I have it configured to create sequential ids, grab ids of nearby features, get house numbers from the intersecting parcels.

It can do a great deal more.

share|improve this answer
add comment

I would have thought a simple spatial query based on the point would select the building from the building layer, and from there, a simple update on the point object based on the details from the selection.

It's not a large body of work; search at point, select and update.

share|improve this answer
add comment

If you have your two data layers in a relational database (as opposed to 2 shapefiles or similar), what if you just had a field on the point layer that you could populate with the unique ID of the building feature? That way you could join/relate any of the information from the building layer back to your point.

If you are manually placing the point on top of the building, it doesn't seem like this would have to be a spatial operation...

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.