2

By means of FME 2021, I am trying to update one column in a Point feature class inside FileGDB (FME: writer). Updates are comming from another feature class (FME: reader). I dont have unique ID but I do have x and y coordinates which are unique and match between reader and writer. Even though coordinates are identical in reader and writer, ONLY for some features is not working and pops-up:

No rows matched UPDATE query to table/feature class 'points' where x = 95330918.98604 AND y = 9535458.351159

Let's say for 50 features it is working but for some reasons fails in 3 or 4 features! settings I used:

  • Feature opeation: update
  • Match columns: x,y

Do you have any idea how to do this?

3
  • 2
    I would suspect rounding errors with floating point numbers. Try to round the coordinates for example into full millimetres.
    – user30184
    May 9 at 11:48
  • 1
    It works, thanks a lot..... I have to add something. Rounding coordinates is the first thing that I tried but in GIS, and it didnt work because in GIS I think it only lets it display that way but does not remove millimeter values. Now I tried it via "AttributeRounder" inside FME and it worked. Thank you.
    – gisgis
    May 9 at 12:13
  • 1
    Floating point equivalence is a general IT issue. Some values can't be represented. You can do bound-box tests or integer conversion (which is what FGDB uses, so it should work fine)
    – Vince
    May 9 at 13:32
2

Comparisons of floating point numbers with high precision are uncertain because of rounding errors. For example it in not possible to store decimal number 95330918.98604 accurately as double precision floating point number but it converts into value, that is 95330918.98603999614715576171875 when converted back to decimal (result calculated with https://www.exploringbinary.com/floating-point-converter/).

Usually GIS data allows to reduce the accuracy. You will probably find the sama point even with a procision of one millimetre 95330918.986.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.