OpenOrienteering / mapper

OpenOrienteering Mapper is a software for creating maps for the orienteering sport.
https://www.openorienteering.org/apps/mapper/
GNU General Public License v3.0
399 stars 106 forks source link

Precision in georeferencing values #329

Closed dg0yt closed 9 years ago

dg0yt commented 10 years ago

gandym01 reported on Sourceforge [tickets:#329]:

Hi,

To what precision is grivation and declination applied to a georeferenced map? In OOM's georeferencing window, only a single decimal place is shown.

The answer to this question is significant if one wishes to align a georeferenced map to the printed page using grid north. To do this, I believe you must ultimately set the declination to be the exact opposite value of the natural grivation value, to give a final grivation of exactly zero. But, if the natural grivation is displayed as 0.5º, which is really the rounded product of say 0.51162º, and you can only set the declination to one decimal place, then it is impossible to set the declination to the required -0.51162º.

Maybe there will be limited desire to fix this properly, but giving the user access to another decimal place in the grivation and declination fields of the georeferencing window, and angle field of the Rotate Map window would reduce the difference to a negligible level.

Thanks, gandym

dg0yt commented 10 years ago

It would be easy to add more digits to the input field. However I feel that the precision indicated by these digits should be balanced with all the sources of errors. Declination/grivation is changing all the time.

With the current precision (0.1°), the rounding error (0.05°) causes an offset of app. 300mm*sin(0.05°)= 0,26mm over the length of A4 paper. Isn't this already negligible? This seems to be much better than the precision required by a standard orienteering map, let alone the precision that can be achieved with a standard compass.

dg0yt commented 10 years ago

Somebody posted on Sourceforge:

Hi,

I take it that I am correct in assuming that the declination and grivation are displayed at 1dp but applied at 5dp?

I see a few possibilities: 1) Give access to 2dp for declination to provide the user with a very close approximation of the exact value 2) Round the declination and grivation values before applying the transformation to the map, thereby providing the user with exact rotation values from grid north, but that which is up to 0.05º out. 3) A combination of 1 & 2, to achieve an exact rotation value from grid north that is up to 0.005º out. 4) Do nothing. I can see that the needs of the orienteering community are probably already largely served by the current implementation. They would only need a solution like 3) in order to import and georeference OCAD maps into OOM. This could probably be avoided with improvements to OOM's import function.

Also, in the case of a typical A3 rogaine map at 1:50 000 scale, the offset is approximately 400mm page length × sin(0.05°) × (50m per mm) = 17.5m difference on the ground, versus <2m when using 0.005º.

Thanks, gandym

dg0yt commented 10 years ago
dg0yt commented 10 years ago

We did indeed have a problem with hidden significant digits. The source of theses digits was the calculation of the convergence.

Now declination, convergence and grivation are always rounded to 2 decimal places, and the georefencing dialog uses the same number of decimal points.

dg0yt commented 10 years ago