Skip to main content
Question

Line on Line Differences


I have two spatially identical line datasets and need to find where they differ by the "type" field that is in both feature classes.

 

 

which transformer is best suited for this type of comparison?

6 replies

richardatsafe
Safer
Forum|alt.badge.img+10

Hi @ethanheidtman,

The easiest transformer to use for this would be the ChangeDetector, but this tutorial series should help with an overall understanding of Change Detection.


richardatsafe wrote:

Hi @ethanheidtman,

The easiest transformer to use for this would be the ChangeDetector, but this tutorial series should help with an overall understanding of Change Detection.

The problem I am running into is that there is no common ID between the two datasets.


ebygomm
Influencer
Forum|alt.badge.img+31
  • Influencer
  • June 4, 2019

I would try the matcher to match identical geometries and use the 'type' field for the attributes must differ parameter.

 


geolassi
Contributor
Forum|alt.badge.img+5
  • Contributor
  • June 4, 2019

ChangeDetector should work fine. You don't need to have a common ID. ChangeDetector works with or without an update detection key attribute.

You can select your attribute in Check Attributes > Selected Attributes. By default Check Geometry should be enabled.

Features, which match by geometry and by selected attribute, are output from Unchanged port. Features, which either differ by geometry or by the selected attribute, are output from Inserted port.


ebygomm wrote:

I would try the matcher to match identical geometries and use the 'type' field for the attributes must differ parameter.

 

So it looks like the matcher is working. Is there way to show how the attribute changed?

 

 

i.e. "Type" changed from Class 1 to Class 3.....

ebygomm
Influencer
Forum|alt.badge.img+31
  • Influencer
  • June 4, 2019
ethanheidtman wrote:

So it looks like the matcher is working. Is there way to show how the attribute changed?

 

 

i.e. "Type" changed from Class 1 to Class 3.....

I would probably use the matched port rather than the SingleMatched port, sort by the match group then date, then use adjacent attribute handling to work out the previous value.

You could also use the SingleMatched output port and build a list containing the date and type attributes, sort the list by date, then list{0}.type is the previous value and list{1}.type is the new value. Although I'm not sure with this scenario which value of the type attribute the single matched output inherits

 

(I'm also presuming you only have 1:1 matches)


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings