Skip to main content
I've been attempting to use the changedetector to manage modification to some shapefiles.  In the workspace data is coming from a postgis table (original) and shapefiles (revised) into the changedetector.  Both the shapefile and postgis table contain the same data, the postgis was created from the shapefile.  The changedetector is  matching attributes with treating blank vlaue as different from missing set to no. For some reason the changedetector will report that some feature (~ 10%) have changed even if no change has happened.

 

 

Is there a way to capture which attributes are different and the specific values?

 

My guess is that this may have to do with how PostGIS handle NULLs compared to shapefiles.  If that is case is there a way to replace NULL on multiple attributes (dynamically)?

 

 

 

Hi,

 

 

The NullAttributeReplacer transformer can be used to replace Null with a specific value.

 

 

How's setting of "Lenient Geometry Matching" parameter?

 

If there are differences in the order of vertices etc. between ORIGINIAL and REVICED features, the ChangeDetector detects "changed" when the parameter is "No", even though they represent the same geometry.

 

Takashi
Takashi,

 

 

Thanks for you response.  I am only testing attribute values, geometry is set to none.
Hi Travis,

 

 

I've had the same type of issues when data types were different or nulls handles differently. One of my issues was the date: Oracle accepted it as null or 0, ESRI formats translated it as 30/12/1899...

 

 

http://resources.arcgis.com/en/help/mai … 016q000000

 

 

Note:

 

 

    If a time is entered without a date, the default date of December 30, 1899, will be used.

 

    If a date is entered without a time, the default time of 12:00:00 AM will be used.

 

 

Could it be the issue you have?
That's right. Representation of a datetime value could be different one depending on source dataset format.

 

 

If the original features and the revised features have common unique identifier as attribute (e.g. named "ID"), I think you can extract only attributes whose values have been changed using several transformers including the AttributeExploder and Matcher etc. like this image.

 

If you could find changed attributes, how you should treat them would become clear.Takashi

Reply