How to copy points from one fc to another fc with different schema, while mapping attribute transfer

847
2
Jump to solution
11-29-2021 11:42 AM
BenCunningham
New Contributor III

Hey folks, a little help if you know better than me please.

I'm trying to transfer a subset of WaterValve points fc to a new ValveSurveyInspectionPoints fc. They have different schemas, otherwise I would simply be able to copy/paste these 1900 points into the new layer, copying geometry and transferring attributes in one move. Know any way to do a copy/paste that transfers mapped attributes?

Many of the field are analogous (FacilityID -> AssetID, Diameter -> Size, CurrOpen -> LeftOpen, etc.) so I fiddled with Attribute Transfer Mapping in the Spatial Adjustment Toolbar, but this toolbar would have me click each point one by one to make the attribute transfer of points that are topologically identical, which is what I want to avoid (clicking +1900 times). Is there a way to iterate a tool like this on ModelBuilder? Or do you know of a different tool to do exactly what I want?

This screenshot shows the attribute table relationship I want to preserve. I only did this for the

BenCunningham_0-1638214641381.png

 

I know I can do this with a spatial join, but am wondering if there is a more direct or a more elegant way to go about it. Or if I am over thinking it and should just do the Spatial Join then I'm all ears for that too - mostly just looking to learn a new better way if there is one.

Thanks

using ArcMap 10.7.1

0 Kudos
1 Solution

Accepted Solutions
curtvprice
MVP Esteemed Contributor

If you aren't adding features, just updating attributes, I agree that Spatial Join followed by Add Join and Calculate Field is what you want to do. 

If you are adding new valves you want to use Append with NO_TEST and map your data across using the field map.

If it is a mix you may want to do a select by location to find the ones that are new and the ones that are existing and handle them differently. If this is a process you will do again, this may be a good job for ModelBuilder (though note the field maps you edit inside MB are 'hard coded' and get reset when you connect inputs, so it will only work if the input and output datasets do not change).

I highly suggest working on copies as you develop this workflow -- a lot of things could go wrong!

View solution in original post

2 Replies
curtvprice
MVP Esteemed Contributor

If you aren't adding features, just updating attributes, I agree that Spatial Join followed by Add Join and Calculate Field is what you want to do. 

If you are adding new valves you want to use Append with NO_TEST and map your data across using the field map.

If it is a mix you may want to do a select by location to find the ones that are new and the ones that are existing and handle them differently. If this is a process you will do again, this may be a good job for ModelBuilder (though note the field maps you edit inside MB are 'hard coded' and get reset when you connect inputs, so it will only work if the input and output datasets do not change).

I highly suggest working on copies as you develop this workflow -- a lot of things could go wrong!

BenCunningham
New Contributor III

Hey thanks so much! Append did the trick! I knew there was a cleaner way to get there than creating new layer, copy paste, spatial join, join, calculate fields, then spatial join again to original target layer and calculate again.

Thanks for helping me get there and saving me some steps.