This is my 1st time to use UPDATEDETECTOR to compare the changes in an Oracle SDE feature class and update it accordingly. Very simple process. The same SDE feature class is both the original and the writer. The feature class is initially empty. The first run works correctly to insert 75 features. I would expect the 2nd run to do nothing, but it still finds 75 updates and writes to the feature class. I have only have 2 attributes to match against, the key attribute, and a number attribute. I also tried on a Date attribute to match against, the same result. See attached. Anything I did wrong?
The ArcSDE writer may slightly change the coordinates of geometries when writing according to the ArcSDE system specification. Such slight change could cause the unexpected behavior which you have observed, if the Revised features came from other format dataset.
Pick a few sample features, and check if the coordinates of the features from ArcSDE exactly match the coordinates of the Revised features, using Data Inspector.
See also the ArcSDEGridSnapper transformer.
The ArcSDE writer may slightly change the coordinates of geometries when writing according to the ArcSDE system specification. Such slight change could cause the unexpected behavior which you have observed, if the Revised features came from other format dataset.
Pick a few sample features, and check if the coordinates of the features from ArcSDE exactly match the coordinates of the Revised features, using Data Inspector.
See also the ArcSDEGridSnapper transformer.
Hi @MitaAtSafe, cc: @DeWetAtSafe, maybe the "questions belonging to sub categories are not displayed in the All Questions page" problem has occurred again. Can you find this question in the "All Questions" page?
I thought I replied yesterday, but did not see it today. I could not see my question in All Questions. Yes, the issue is with the geometry. The Data Inspector shows the geometry matches exactly but the UpdateDetector interprets them as different . If I exclude the geometry from change detection and only do attributes in UpdateDetector, it does the update correctly (meaning no updates). I also used CRCCalculator. With geometry included, it gives different CRC value. Using attributes only, the CRC value is the same. The target and source feature classes are in different SDE databases and both feature classes use st_geometry and high-precision. I tried ArcSDEGridSnapper, does not seem to help.
Have you tried rounding the coordinates of both datasets before comparing the geometries? You can use the CoordinateRounder to do so (e.g. round to 3 decimals). The Reader and or Writer can add decimals up to 10 digits behind the decimal point caused by number conversions.
Erik, CoordinateRounder works. I got the same CRC value for the same key attribute. Thanks a lot.