2

I have two line feature classes for a street network. Their geometries are only crudely similar, while their attributes are different. I am trying to add the attributes of one feature class to the other based on their closest line segments. The screenshot is an example. I want to assign the attributes of the middle red line to the selected lines of the the other feature class (and ultimately do it for the whole feature class). Its been accomplished before, but I don't know how.

Any ideas or suggestions?

enter image description here

1 Answer 1

2

This is called conflation and if you have ArcGIS 10.2 and an Advanced license you can use the Detect Feature Changes tool (under Data Management Tools, Data Comparison Toolset). If the two lines have a common road name attribute that can improve the matching process.

My approach was to manually get a one-to-one match set up in the match table (most 1:1 matches were fine so this primarily dealt with 1:M, M:1, or M:M relationships between the two sources) and use a custom script to transfer the attributes using a cursor and dictionaries (much faster than a join and using the Field Calculator). I actually was doing the opposite and transferring geometry from an external source layer into my master layer and trying to preserve the attributes and orientation of the lines. The 10.4 introduced an enhanced version of the tool that determines if the line direction of the two sources matches or is reversed, which can be used with the Flip Line tool to get everything aligned in the same direction.

4
  • Trying this now. Thanks for tips. I had been buffering the line and then using a spatial join to pull the attributes for lines falling within the buffer - an imperfect process I realize. How about the conflation toolset, would you recommend?
    – tordor
    Commented Jul 6, 2016 at 21:25
  • I found the Detect Feature Changes tool sufficient to do the work of matching two sources that only needed a record that related the two to act as a data transfer table. Probably for your situation you would just need to use the Transfer Attributes tool, since it uses the Match Table output option of the Detect Feature Changes tool to control the transfer of attributes. In my case, since I was moving geometry, the Rubbersheet tools would have possibly worked, but I felt more comfortable doing the manual edits and using a script to reshape my features (I ran several tests on a copy first). Commented Jul 6, 2016 at 21:56
  • Also, you don't have to get a perfect match with the Detect Feature Changes tool. You can always use the Attribute Transfer tool on the Spatial Adjustment toolbar to do manual transfers between features that defy the logic of the Detect Feature Changes tool, when you know they are related. Commented Jul 6, 2016 at 21:59
  • The Detect Changes worked like a charm (so far). I will likely try both, your way as well as the conflation toolset. I mostly just need to transfer attributes, but there are a few geometries that need transferring as well. Thanks for the info.
    – tordor
    Commented Jul 6, 2016 at 22:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.