The Attribute Transfer Tool behavior in ArcGIS Pro is not equivalent to the behavior of this tool in ArcMap Desktop. The tool behavior is only equivalent when the user's clicks on a single feature for both the source and the transfer targets, in which case no dialogs appear in either program. However, if the user ever clicks on more than one feature for either the attribute transfer source feature or destination feature in ArcMap Desktop, a dialog listing the features by their layer Display tab expression that provides access to a list of feature attributes appears to allow the user to select the exact feature they want to use as the source or destination feature. Clicking on more than one feature can occur when a user clicks on the boundary between two adjacent features in feature classes that aren't designed to have actual overlapping features and can't be avoided in feature classes that are designed to have overlapping features. An example of the dialogs that appear in ArcMap Desktop when more than one feature is clicked for either an attribute transfer source feature or destination feature is shown below:
In ArcGIS Pro when the user clicks on more than one feature for the source or the target no dialogs appear and the tool always uses the feature with the lowest ObjectID to do the transfer. If the user didn't want to use the feature with the lowest ObjectID for either the source or the target, the tool behavior nonetheless does a transfer based on that rule and results in data corruption. The ArcGIS Pro version of the Attribute Transfer tool needs to provide an option for the user to choose the source or destination feature they want whenever they click on more than one feature that provides the same functionality that the ArcMap Desktop Attribute Transfer tool dialogs above provide.
Just encountered this feature update and noticed that even with the source and target specified in the mapping, after selecting a single source feature and then selecting a single target feature that overlaps with that selected source feature, the popup still comes up prompting to select what feature the transfer should occur to...Shouldn't that be a given? If I selected a source feature and then I select a single target feature whether it's overlapping with a source feature or not, shouldn't the transfer occur to the target automatically? Why bother setting up a field mapping between a source and target if it's always going to ask what I want to transfer to?
One more note to add, there was a mistake in the Help that has been fixed at ArcGIS Pro 3.5.
ArcGIS Pro 3.4 Help step 6 Note is incorrect:
Help at ArcGIS Pro 3.5 has been updated to:
@JenniferCadkin thanks for the additional insight on the tool. I strongly believe that automatically filling the field mapping matrix with all column/layer combinations across a project is a huge source of the trouble that folks are having with the attribute transfer tool. Put bluntly, this is wildly different than the behavior in ArcMap, and seems to cause a lot of frustration from seasoned users. I also do not think this makes Pro any easier for novice users, because they are likely unaware of the potential pitfalls this introduces. Either way, there’s massive risk for data corruption for seasoned and novice users alike when everything is “on” by default for attribute transfers.
I’ll use this as a shameless opportunity to plug my idea for a separate field mapping for attribute transfers https://community.esri.com/t5/arcgis-pro-ideas/create-a-separate-field-mapping-for-the-attribute/idi...
Thinking through it further, it may make more sense to confine field mapping to the attribute transfer tool alone (like it was in Arc Map) and only enable those mappings that are specifically turned on by the users. I also struggle to see the use case for field mapping in any other tools. For a copy/paste operation it’s intuitive for any common fields between the source and target to come across. IMO that’s expected in a “copy”.
For any data moving operations where you only want to carry across specific fields, or you want source.A column to populate target.B column, the append tool has pretty powerful field mapping capabilities to handle the process.
In short, I think the project-wide field mapping in Pro is trying to solve a problem that does not exist, with the added expense of introducing a whole host of other problems for tools such as attribute transfers
I'm sure you are aware, but I wanted to point this out to any others that are reading: If you don't want to accidentally transfer attributes from a source layer to itself you can clear the field mapping that exists for that layer as a target and a source:
I am aware of the field mapping - I set field mapping every time before using the Attribute Transfer tool. Even with it set to have a different feature class as the target, it still is overwriting source feature class feature data. Even with the mappings set up in Editor Settings, it's still asking me which feature from which feature class I'd like to transfer to. Is there another set of mappings outside of Editor Settings that is taking priority that I'm not aware of?
Hi @Melissa_B
If you clear the field mapping between the source layer and itself it should not being transferring attributes. However, I can see where you might be in a situation where you have a source feature overlapping the intended target feature. In that case, the new behavior of showing the chip for overlapping features would still show the chip asking you for the intended target of the overlapping features where you clicked. It comes down to editability.
The key step for that situation would be to turn off editability of the source layer since that's not the intended target and it will not be found by any target clicks of the transfer attributes tool. Source clicks are still allowed in that case.
For example, here my source is layerA and my target is layerB. If layerA has features that overlap features from layerB, as long as editability is turned off for layerA, I will only get the chip when there are overlapping features in layerB:
So if "All combinations of source and target layer field mappings are always 'active', regardless of what happens to be chosen in the Field Mapping dropdowns", then why allow users to set field mappings at all? If the source-target mappings we're setting up are not the only mappings being honored, then the settings dialog should have a notice stating that behavior.
Per the documentation on configuring field mappings: "Field mapping is the process of matching attribute fields on a source feature layer to attribute fields on a target feature layer for the purpose of transferring attribute data between features...Click the Target drop-down arrow and choose the feature layer for the features to which attribute values are to be transferred...Click the Source drop-down arrow and choose the feature layer for the features from which attribute values are to be copied." To me, that implies a one direction relationship from source to target. The language needs to be changed to reflect that these mappings can go in any direction including from source to source.
"Further, Transfer Attributes does not change its behavior based on what is in the Field Mapping dropdowns." Then why does the Transfer Attributes editing tool have a direct link to the Field Mapping Editor Settings in the sandwich menu in the corner? Why direct users to set up a field mapping for the tool if the tool is not using the field mapping?
Am I just confused or something? I've been using ArcGIS Pro since 2017 and I've used this specific tool for workflows for over 4 years and I've only noticed these issues because of the popup introduced in 3.5. But it really seems to me like there should be more transparency in what is happening with this tool. I've read the documentation and I am not seeing anything that suggests that the target-source relationship is multi-directional or can also be source-source despite the mapping not being configured that way.
I performed testing on this tool and I have found that even ignoring the issue of overlapping features, if I have two feature classes, Test1 and Test2, and I set Test2 as the target and Test1 as the source with field mappings and then I click a feature from Test1(source) and then click another feature from Test1(source), the features are over-written with the data from the first click despite both features being part of the source feature class. The documentation seems to suggest that the only features that should change are the features in the target feature class.
Hi @Melissa_B did you clear the field mapping that exists between the source layer and itself like I suggested above?
Did you also try turning off editability of the source layer like I also suggested in my last comment to you?
I think doing both things will help in your daily work. There are open Ideas that may address these issues:
Regarding the doc, agree, it needs to be clearer. Adjustments are in progress.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.