This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Why does 'Export' produce coordinates 15 decimal places long?

Hi

My Oregon records coordinates to six decimal places:

<trkpt lat="51.390768" lon="-2.352493"><ele>25.61</ele><time>2023-09-11T18:23:27Z</time></trkpt>


However Basecamp's 'Export' to GPX feature produces it at an accuracy of 15 & adds spurious digits to the elev tag!

      <trkpt lat="51.386732021346688" lon="-2.352317003533244">
        <ele>35.710000000000001</ele>
        <time>2023-09-12T14:56:29Z</time>
      </trkpt>


Why does it do this unnecessary action & is there a way to keep it as on the unit?

  • Why does it matter?

    (The only downside I see is that the files are somewhat bigger.)

    =======================

    The extra digits in the elevation aren't "spurious" (one would have to dig fairly deep into how computers work to explain why).

    =======================

    BaseCamp probably uses "double float" numbers (64 bit wide), which provide for 15-16 digits. "float" numbers are 32 bit wide and provide for about 8 digits. The digits include the whole number digits and the fractional digits.

    https://blog.demofox.org/2017/11/21/floating-point-precision/

    The values for coordinates run from 0 to 180 (which means 7 fractional digits to 5 fractional digits).

    https://support.garmin.com/en-US/?faq=hRMBoCTy5a7HqVkxukhHd8

    With floats (your preferred 6 digits), that would mean the distance resolution ranges between 1 cm and 100 cm (which wouldn't be good).

    Using doubles (and outputting more decimals) means every coordinate has the same resolution.

    Keep in mind, too, that some devices might use more digits. By doing one thing, BaseCamp doesn't have to deal with these units differently. Creating the output one way works for any uses without losing resolution (BaseCamp doesn’t necessarily know what device or program the file will be used on).

  • I matters because it is bogus precision that results from incompetent software "engineers" using floating point numbers instead of fixed decimal numbers.  Everything after the actual accuracy of the capturing GPS -- 4 or 5 digits -- is a lie that implies accuracy that does not exist.  It is just lazy programming but given all of BaseCamp, is that a surprise to anyone?

  • 4 decimal places is about 11m (36 ft). You don't want roads (or anything) placed on maps with better accuracy?

    The maps you use routinely place things with more accuracy than 4 or 5 places. Where does that come from?

    There's no reason BaseCamp has to be limited to the accuracy of handheld GPS units. It's not like the accuracy of even handheld GPS units hasn't improved and might improve further still. But you are basically arguing that things like BaseCamp should be stuck supporting only the accuracy of old GPS units (at whatever number of fixed decimals that was "enough" for the old units).

    And, even with all that, it doesn't matter at all (beyond the file size) that more decimal places are used.

  • 6 digits is 4 inches of accuracy, far beyond what any consumer GPS can even provide.   You are confusing accuracy with precision.

    My track points were recorded by an iPhone using GAIAGPS that saved 6 digits of precision, which likely was already greater than the device's accuracy. However, after I loaded that GPX file into BaseCamp, it bastardized every Latitude and Longitude to 15 digits -- an implied precision of sub-nanometer accuracy.  Everything past the original 6 digits is pure b*llsh*t. Having a 7th digit doesn't magically locate me at this specific centimeter when the best the GPS could originally say was I was somewhere in a 3 meter circle, No, those extra digits imply accuracy that is a lie.

    A good software engineer would have known to not use floating point or they would have rounded to reasonable precision instead of the BS they wrote because they were sloppy, lazy, or uninformed (sad that someone at Garmin wouldn't understand such a simple thing).  There's a reason banks and financial institutions never use floating point when dealing with money.  The same is true here.  There are an infinite set of numbers that floating point numbers can never represent.  If you had a device that had 15 digits of accuracy, floating point would still be a complete failure because it can't accurately  represent every position at any level of precision.

  • (Deeply weird and pointless rant.)

    the GPS could originally say was I was somewhere in a 3 meter circle,

    If you put a waypoint on a bench or a fountain on the map, using 4 (or 5 digits) could put it in quite a different location (far enough to be annoying).

    6 digits is 4 inches of accuracy, far beyond what any consumer GPS can even provide.

    Why should the use of BaseCamp be limited to "consumer GPS" devices?

    You wanted 4 (!!) or 5 digits (anything beyond that was "a lie"). Now, you want 6 digits?

    It's likely any libraries being used support floating point. Using floating point (internally) might be faster. Fixed decimals is not common at all (it's typically restricted to using for money).

    ===========================

    Again, the only place where it has an impact is the size of files. The larger number of digits could make reading/writing files a bit slower.

    Given that Garmin mostly froze work on BaseCamp years ago, your rant is even more weird and pointless.

  • As Basecamp development stopped long ago it is what it is, whether you like it or not, so pointless worrying about it.