Question

Detect different attribute values between two dataset?

  • 13 September 2018
  • 4 replies
  • 5 views

I've got two dataset, one is original and the other is revised, they have same attribute schema and a unique FEATUREID attribute to pair them. I want to detect which attributes are changed and write them into a new attribute with a separator like "/". Neither ChangeDetector nor Matcher will work, they can only detect which two are different but not the attribute in them.

I'm thinking about creating a list with different attributes, then use ListConcatenator to write the new attribute. So my question is how can I create that list? @takashi @Mark2AtSafe


4 replies

Userlevel 4
Badge +13

Hi @bobo I've created a demo at https://hub.safe.com/templates/find_differing_attributes which uses the list created in the Matcher, then compares the two elements of that list for each of the attributes. If they don't match then an element is added to a second list when can then be used in the ListConcatenator. Ideally you would loop through each of the attributes with a PythonCaller.

Hi @bobo I've created a demo at https://hub.safe.com/templates/find_differing_attributes which uses the list created in the Matcher, then compares the two elements of that list for each of the attributes. If they don't match then an element is added to a second list when can then be used in the ListConcatenator. Ideally you would loop through each of the attributes with a PythonCaller.

Thank you, Dan, I'll try the demo. But I'm not very goot at Python:(

 

 

Hi @bobo I've created a demo at https://hub.safe.com/templates/find_differing_attributes which uses the list created in the Matcher, then compares the two elements of that list for each of the attributes. If they don't match then an element is added to a second list when can then be used in the ListConcatenator. Ideally you would loop through each of the attributes with a PythonCaller.

I noticed that you used 3 tester for 3 attribute, before asking this question I've searched the community for similar questions, and one question said he had like 100 attributes, and one answer from @takashi suggested is to place 100 ChangeDetector. The number of attributes in my data is less than that, but still, it would make a very long workbench, is there a way to put this in a loop without Python?

 

 

Hi @bobo I've created a demo at https://hub.safe.com/templates/find_differing_attributes which uses the list created in the Matcher, then compares the two elements of that list for each of the attributes. If they don't match then an element is added to a second list when can then be used in the ListConcatenator. Ideally you would loop through each of the attributes with a PythonCaller.

Hello @danatsafe, I have come across this post because I am looking for the exact same thing. Only mine would compare several feature classes. The link towards your demo is no longer working, is there a way that you could help me get further along with my problem? Any help would be greatly appreciated!

Reply