Skip to main content
unbalanced parens
Source Link
Vince
  • 20.3k
  • 16
  • 48
  • 65

There are several issues raised in this question:

Accuracy and precision are not equivalent

You state that you have a question about "snapping accuracy", but the rest of the question focuses on precision issues. Quoting wiki.gis.com:

Accuracy is the degree of veracity while precision is the degree of reproducibility.

That is, accuracy is the difference between the actual position and the value measured, while precision is closeness of the values when when measured multiple times.

It is not possible capture 20 places of precision in a shapefile

The IEEE standard defines how floating-point values are encoded in bytes. The mantissa of a 64-bit "double" contains 53 bits (implicitly), which only provides for 15.955 significant digits (which, depending on the magnitude, only permits 12-14 digits to the right of the decimal in decimal degree values).

It should be noted that 12 places is roughly 1.11e-08 meters (11 nanometers), which would allow you to map ultraviolet light as an area feature. Twenty places, ignoring Heisenberg's Uncertainty Principle, would allow you to map individual protons within atoms.

I should mention that any geospatial tool which cannot tolerate coordinate differences of less than a micron ought not be trusted for any purpose.

Shapefile isn't the best storage format for this sort of operation

The file geodatabase format permits you to specify precision in coordinate values in a way that shapefile does not. Geodatabase also defines the origin from which measurements are made, the absolute precision with which it is measured, and a separate value for the tolerance by which coordinates are considered equivalent. In fact, it would be possible for geodatabase to map at 1.0e-20 degree precision, but only within a single square micrometer.

I would recommend you define a custom spatial reference, with a WGS84 geographic coordinate system (GCS) an origin of {-400,-400}, an XY resolution of 0.0000001, and a XY tolerance of 0.0000002, then use that to create a feature class, and load your shapefile into that. Once you've finished snapping, export again to shapefile.

There are several issues raised in this question:

Accuracy and precision are not equivalent

You state that you have a question about "snapping accuracy", but the rest of the question focuses on precision issues. Quoting wiki.gis.com:

Accuracy is the degree of veracity while precision is the degree of reproducibility.

That is, accuracy is the difference between the actual position and the value measured, while precision is closeness of the values when when measured multiple times.

It is not possible capture 20 places of precision in a shapefile

The IEEE standard defines how floating-point values are encoded in bytes. The mantissa of a 64-bit "double" contains 53 bits (implicitly), which only provides for 15.955 significant digits (which, depending on the magnitude, only permits 12-14 digits to the right of the decimal in decimal degree values.

It should be noted that 12 places is roughly 1.11e-08 meters (11 nanometers), which would allow you to map ultraviolet light as an area feature. Twenty places, ignoring Heisenberg's Uncertainty Principle, would allow you to map individual protons within atoms.

I should mention that any geospatial tool which cannot tolerate coordinate differences of less than a micron ought not be trusted for any purpose.

Shapefile isn't the best storage format for this sort of operation

The file geodatabase format permits you to specify precision in coordinate values in a way that shapefile does not. Geodatabase also defines the origin from which measurements are made, the absolute precision with which it is measured, and a separate value for the tolerance by which coordinates are considered equivalent. In fact, it would be possible for geodatabase to map at 1.0e-20 degree precision, but only within a single square micrometer.

I would recommend you define a custom spatial reference, with a WGS84 geographic coordinate system (GCS) an origin of {-400,-400}, an XY resolution of 0.0000001, and a XY tolerance of 0.0000002, then use that to create a feature class, and load your shapefile into that. Once you've finished snapping, export again to shapefile.

There are several issues raised in this question:

Accuracy and precision are not equivalent

You state that you have a question about "snapping accuracy", but the rest of the question focuses on precision issues. Quoting wiki.gis.com:

Accuracy is the degree of veracity while precision is the degree of reproducibility.

That is, accuracy is the difference between the actual position and the value measured, while precision is closeness of the values when when measured multiple times.

It is not possible capture 20 places of precision in a shapefile

The IEEE standard defines how floating-point values are encoded in bytes. The mantissa of a 64-bit "double" contains 53 bits (implicitly), which only provides for 15.955 significant digits (which, depending on the magnitude, only permits 12-14 digits to the right of the decimal in decimal degree values).

It should be noted that 12 places is roughly 1.11e-08 meters (11 nanometers), which would allow you to map ultraviolet light as an area feature. Twenty places, ignoring Heisenberg's Uncertainty Principle, would allow you to map individual protons within atoms.

I should mention that any geospatial tool which cannot tolerate coordinate differences of less than a micron ought not be trusted for any purpose.

Shapefile isn't the best storage format for this sort of operation

The file geodatabase format permits you to specify precision in coordinate values in a way that shapefile does not. Geodatabase also defines the origin from which measurements are made, the absolute precision with which it is measured, and a separate value for the tolerance by which coordinates are considered equivalent. In fact, it would be possible for geodatabase to map at 1.0e-20 degree precision, but only within a single square micrometer.

I would recommend you define a custom spatial reference, with a WGS84 geographic coordinate system (GCS) an origin of {-400,-400}, an XY resolution of 0.0000001, and a XY tolerance of 0.0000002, then use that to create a feature class, and load your shapefile into that. Once you've finished snapping, export again to shapefile.

Source Link
Vince
  • 20.3k
  • 16
  • 48
  • 65

There are several issues raised in this question:

Accuracy and precision are not equivalent

You state that you have a question about "snapping accuracy", but the rest of the question focuses on precision issues. Quoting wiki.gis.com:

Accuracy is the degree of veracity while precision is the degree of reproducibility.

That is, accuracy is the difference between the actual position and the value measured, while precision is closeness of the values when when measured multiple times.

It is not possible capture 20 places of precision in a shapefile

The IEEE standard defines how floating-point values are encoded in bytes. The mantissa of a 64-bit "double" contains 53 bits (implicitly), which only provides for 15.955 significant digits (which, depending on the magnitude, only permits 12-14 digits to the right of the decimal in decimal degree values.

It should be noted that 12 places is roughly 1.11e-08 meters (11 nanometers), which would allow you to map ultraviolet light as an area feature. Twenty places, ignoring Heisenberg's Uncertainty Principle, would allow you to map individual protons within atoms.

I should mention that any geospatial tool which cannot tolerate coordinate differences of less than a micron ought not be trusted for any purpose.

Shapefile isn't the best storage format for this sort of operation

The file geodatabase format permits you to specify precision in coordinate values in a way that shapefile does not. Geodatabase also defines the origin from which measurements are made, the absolute precision with which it is measured, and a separate value for the tolerance by which coordinates are considered equivalent. In fact, it would be possible for geodatabase to map at 1.0e-20 degree precision, but only within a single square micrometer.

I would recommend you define a custom spatial reference, with a WGS84 geographic coordinate system (GCS) an origin of {-400,-400}, an XY resolution of 0.0000001, and a XY tolerance of 0.0000002, then use that to create a feature class, and load your shapefile into that. Once you've finished snapping, export again to shapefile.