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 have two layers, one for "States" (Polygon) and the other for "Important_Cities_location" (Point). "States" feature class is completed with all attributes. I want to update the state name field automatically in "Important_Cities_Location" when I place them in the respective "States" spatially.

Can anyone help?

share|improve this question

1 Answer 1

ArcGIS does not provide a piece of functionality that will let you do this directly out-of-the-box. In other words, there is no standard way for software to check what area a new feature is being created in and then populate a certain field in a feature class with a respective value obtained by performing a spatial join.

Alternative that can get you closer:

  1. Use feature templates for different states with predefined attributes.
  2. Develop a custom add-in (ArcObjects) which will have this logic (large work).
  3. Develop a custom Python add-in with some geoprocessing logic which will let you do this in several steps combined into one transaction (as appears to user). I'd go for this.

Of course if you don't need to get a point state attribute updated immediately after clicking a map when creating a point feature, you can wait after you are done with adding all points and then run manually a GP tool Spatial join which will let you transfer the state attribute to the point feature class depending on which state a point is located.

share|improve this answer
    
Thanks Alex, actually i am not a programmer but can you explain a little bit more your point # 3 - Custom python add-in process. may be i will get it. –  user34810 Aug 20 at 3:55
    
Sure. You will need to develop a piece of code which will become a custom tool button in ArcMap user interface. User can activate this tool, click a map to create a point in a point feature class, and a spatial join operation is performed behind the scenes for this point and thus a state name is obtained. This value is used to populate a field in the point feature class. I suggest you going through the tutorial on Python add-ins (link above), I've seen non-developers creating Python add-ins with just some help. –  Alex Tereshenkov Aug 20 at 5:15
    
Dear Alex, i have a new query related to this one. I want to spatially (Spatial Join) update few fields, not all, from other feature class. is there any way to select and update few field instead of all the fields from the other layer and spatially update them directly into the target feature class. please keep in mind that i am working in SDE environment. –  user34810 Aug 24 at 7:01
    
@user34810, could you please create a new question and post it with all the details? Thank you. –  Alex Tereshenkov Aug 24 at 15:29

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.