Skip to main content

Hi,

I have a file geodatabase which has a coordinate readout to 15 decimal places. The geodatabase contains lines, polygons and points. I want to be able to clip the features to a grid line, but still keep the 15 decimal place accuracy.

When I try to clip the features the accuracy of the clipped feature at the grid line becomes 1 decimal

place. (See the y value for 'Min Extents').

When I take this gdb back into Esri, the y coordinate for the clipped feature reads

28.000000000000057. I am not sure, but I believe this is because the coordinates of the grid are getting rounded down to 1 decimal place before the clipping takes place. Therefore the mathematical clip of the 15 decimals are being ignored??

Is there a setting or transformer in FME which can control the number of decimal places?

I have tried the 'Coordinate Rounder' transformer, but I still get an output of 28.0.

Thanks

Paul

Hi

This is normal and not something to worry about. It concerns the way computers translate between base-ten and base-two (binary) numbers. Basically, some base-ten number cannot be accurately represented in base-two (binary) and you will therefore get some tiny artefacts when you go back and forth.

However, these artefacts are usually too small to make any real world difference. In your case, I would suspect these artefacts to be negated by the precision and tolerance settings in your ArcGIS feature class anyway.

You can a read more about it here.

David


Are u sure it is the Clipper that is doing this?

I have tried this and it works fine with my test.

Could it be another part of the workspace?


Are u sure it is the Clipper that is doing this?

I have tried this and it works fine with my test.

Could it be another part of the workspace?

Hi Erik_Jan,

I suppose I am not 100% sure that it is the clipper, but I assumed it was as 'Clipper' is the transformer making the change to the line. Here is a screenshot of my workspace, (I am also merging together features with the same attribution).


Hi

This is normal and not something to worry about. It concerns the way computers translate between base-ten and base-two (binary) numbers. Basically, some base-ten number cannot be accurately represented in base-two (binary) and you will therefore get some tiny artefacts when you go back and forth.

However, these artefacts are usually too small to make any real world difference. In your case, I would suspect these artefacts to be negated by the precision and tolerance settings in your ArcGIS feature class anyway.

You can a read more about it here.

David

Thanks for your answer and links to the explanations David. I will not claim I know exactly what they mean but I get the idea!!

Although the inaccuracy is very small, I would prefer to have the data exact, as it is tying into surrounding data.

Thanks again

Paul


Hi Erik_Jan,

I suppose I am not 100% sure that it is the clipper, but I assumed it was as 'Clipper' is the transformer making the change to the line. Here is a screenshot of my workspace, (I am also merging together features with the same attribution).

You can tell by using an Inspector transformer before and after the Clipper.


Are u sure it is the Clipper that is doing this?

I have tried this and it works fine with my test.

Could it be another part of the workspace?

When I inspect the feature straight out of the geodatabase the coordinates are already to 1 decimal place, (before it goes through any transformers).


When I inspect the feature straight out of the geodatabase the coordinates are already to 1 decimal place, (before it goes through any transformers).

So it appears to be the Reader, not the Clipper.

I do not know if you can change that behavior.

I suggest sending an email to support@safe.com.


Are u sure it is the Clipper that is doing this?

I have tried this and it works fine with my test.

Could it be another part of the workspace?

Thanks for your help


Thanks for your answer and links to the explanations David. I will not claim I know exactly what they mean but I get the idea!!

Although the inaccuracy is very small, I would prefer to have the data exact, as it is tying into surrounding data.

Thanks again

Paul

I understand, but the issue is surprisingly complex if you go into detail. It might not ever be possible to "have the data exact".

Let me illustrate it like this: 1/3 is not the same as 0.3333333, however long you go on tacking on 3's at the end. You will get a very good approximation, but it will never be identical. The issue above is exactly the same, you are converting numbers between two representations where the domains do not fully overlap, therefore you will get minuscule differences.

For your topologies, the differences in vertex precision will be identical all over the board, so the topology is preserved without errors anyway.

David


I understand, but the issue is surprisingly complex if you go into detail. It might not ever be possible to "have the data exact".

Let me illustrate it like this: 1/3 is not the same as 0.3333333, however long you go on tacking on 3's at the end. You will get a very good approximation, but it will never be identical. The issue above is exactly the same, you are converting numbers between two representations where the domains do not fully overlap, therefore you will get minuscule differences.

For your topologies, the differences in vertex precision will be identical all over the board, so the topology is preserved without errors anyway.

David

Thanks David.


Thanks for your help

You were right !! It was another part of the workspace. The schema xml file!

I needed to recreate the schema from the geodatabase that had the 15 decimal places. Once I loaded this in, the workspace worked as expected.


Reply