Tech Tip: Units and Accuracy
Accuracy in Conversions
Accuracy in Conversions
Manifold uses integer coordinates to achieve
speed and robustness in critical geometric operations. This means we do truncation when
getting data from a floating-point source (import, editing inside ObjectCoordinates
dialog, etc.) However, it is possible to keep the desired accuracy within
Manifold up to very high limits. The limit is reached when the overall coordinate data
domain expressed in data resolution units (e.g. size of Nevada expressed in centimeters)
exceeds 10^9.
UTM is a good example of this. First, decide what accuracy is required for data. UTM uses
meters by default so let's suppose we want centimeters instead. When the accuracy is
chosen, compute the coordinate translation factor needed to go from the existing units to
the desired units. For example, if we are going from meters to centimeters each coordinate
should be multiplied by 100. A coordinate of 2.11 will become 211. It is best to try to
make the translation factor an integer.
After that, go into Access and multiply every coordinate by the translation factor. [If
you are not one of those lucky people who has the Manifold Calculator for Access, you will
need to use update queries to accomplish this.] After the translation factor has been
applied to the X and Y or Lat and Lon coordinates, import the map into Manifold, then go
to Options and set the meter-to-units value to the right of the "1 meter ="
prompt to the translation factor (100 in our example). Now you have the same map with
better accuracy.
Tip: Never, never exceed the 10^9 boundary as the coordinates would then
wrap towards zero. Here is how to be sure it doesn't get exceeded when improving the
conversion accuracy level of an existing map:
Run the Geometry/Measurement/ExtremalCoords solver on "all layers" to find the largest and smallest coordinates in the existing map rectangle.
Multiply each extremal coordinate by the translation factor
you propose to apply to the map. (100 in our example of using centimeters instead of
meters) to see if applying the translation factor puts any of the extremal values outside
the range -10^9..10^9.
Network Import Shapes Vary by Units Used
This problem involves coordinate units. The
Manifold network import solver imports a network into a circle with a given center and
radius. To choose a radius you select the desired measurement unit from a combo box and
enter a value (e.g. 5 miles). By default, the solver uses a value of 1 and current
measurement units.
Because Manifold uses integer coordinates for objects (see above), there is a
"natural" unit of measurement relationship that consists of what should be the
physical distance between two points at any given abstract coordinates (for example,
beween 0,0 and 1,0 or between 100,100 and 100,101).
This unit of measurement relationship may consist of different physical values for
different maps, so Manifold allows each map to have a "meters per unit" (or
"degrees per unit" for geographical maps in lon/lat) parameter that can be
specified within the Options dialog. By default 1 unit equals 1 meter
(for lan/lon geographic maps, 10000 units equal 1 degree).
When we import a network into a 1-mile circle, Manifold places
points representing nodes within a circle that has a radius of 1609 units since by
default one unit is one meter and there are 1609 meters per mile. However, when we import
a network into a 1-meter circle, Manifold places points onto a
circle of only one unit in radius. Since we use integer coordinates we
have only 9 possible coordinate values at which we can place the points:
(x-1,y-1), (x,y-1), (x+1,y-1), ... , (x+1,y+1)
where x,y is the center of the circle.
In fact, not all of even these possibilities are used because of rounding errors. The
net gets created but many points and lines overlap and the entire picture looks very
strange (somewhat linear, one might say). Fortunately, all of the above can be
corrected with a few mouse clicks: when importing using meters, replace the default radius
value 1 with, say, 10 or 100.
(Experienced users could also play with the "units in meter" parameter under
Options - we don't recommend this unless all issues involved with integer coordinates are
completely understood).
|
Home Page -
Products -
Search -
Support -
Shopping -
News -
Online Store Prices, terms and conditions, and product specifications subject to change without notice. Please contact Manifold Net with any special needs or requests. |