Question

How to compare and detect change between a non-spatial table with a feature attribute table?


I would like to be notified if there is any wrong attribute value in a non-spatial table which is read from SQL database by comparing with an spatial attribute table. In other way, I want to detect change if the attribute of a particular entry/row is different from each other. I have intentionally changed attribute values for two entries so that these two are picked. Both tables have few common fields but the schemas of the tables are not same. I have tried with changeDetector, Matcher and DuplicateFilter but not getting the actual outcome. Any help will be very appreciated.

 

In the attached image, 1 is the non-spatial table and 2 is the spatial attribute table. I have used attribute manager so that the attribute names in interest in both tables are same.

 

FME_childLot_issue


10 replies

Userlevel 4
Badge +26

Perhaps the FeatureJoiner? Perhaps I'm not understanding, however a FeatureJoiner can be used with multiple columns (and you don't need to rename them). One that don't match will come out of either the unjoined left or unjoined right ports

Userlevel 4
Badge +36

Have you looked at the ChangeDetector?

Badge +2

@smfks911​ can you show is or attach an example of the data and what result you'd like to see. That might help clarify your question

Have you looked at the ChangeDetector?

Hi @geomancer​ I have tried already but it is not giving me the output I require.

Perhaps the FeatureJoiner? Perhaps I'm not understanding, however a FeatureJoiner can be used with multiple columns (and you don't need to rename them). One that don't match will come out of either the unjoined left or unjoined right ports

Hi @virtualcitymatt​ I have tried featureJoiner but the unjoined left includes many including two rows that I want to be picked actually.

@smfks911​ can you show is or attach an example of the data and what result you'd like to see. That might help clarify your question

Hi @Mark Stoakes​, Table 1 (which need to compare against table 2): here I have changed attribute values of two rows

 

ChangeDetectIssue_1Table 2 comes from a featureclass where these two particular rows does not exist

 

ChangeDetectIssue_2so my interest is to check the first table against the table 2 and return me the rows/entries that have wrong (or mismatch) attribute value for that particular attribute.

Userlevel 4
Badge +36

Have you looked at the ChangeDetector?

Strange, it is a logical choice when you want to detect missing or extra ID's and changes in attributes.

ChangeDetector_Demo

Strange, it is a logical choice when you want to detect missing or extra ID's and changes in attributes.

ChangeDetector_Demo

After working with the source tables, I have figured out the problem is in the data itself. So both changedetector and featuremerger would have worked well if the source datasets were ok. For timebeing, we need to work to fix the data first. Thank you so much.

Userlevel 4
Badge +26

Strange, it is a logical choice when you want to detect missing or extra ID's and changes in attributes.

ChangeDetector_Demo

Ahhh the ol' data issue - a classic headache. Good your were able to eventually track it down. Good luck with the project

Userlevel 4
Badge +36

Strange, it is a logical choice when you want to detect missing or extra ID's and changes in attributes.

ChangeDetector_Demo

Thanks for your feedback, @smfks911​ . I hope you get your data sorted out. Good luck!

Reply