what you want isnt ${Math.Abs[${Math.Calc[${Me.Heading.Degrees}-360]}]} its ${Math.Calc[360-${Me.Heading.Degrees}]}
ok, going back over this since i'm home and a bit toasty/drunk/etc
first off mq2data is in phase 1 so obviously this is still up for debate, not laid in stone. either way, someone is going to end up having their way and the other isnt, and it really doesnt matter to me
#1 "it's been like this forever, why change it now" -- we're already breaking every macro and custom mq2 ui, now is the time for change if ever. if we are only talking about change and change is bad, we might as well keep mq2parm in the first place
#2 NW(U/H)/XYZ/YXZ really doesnt matter. there is obviously no speed benefit, there is obviously no technical merit, it all has to do with the way the information is presented to the end user. X and Y in MQ2Data at this point are exactly the same as Y and X in MQ2Parm. YXZ has been the "norm" for years de facto, not because it's better, or faster, or easier to understand, or any of the above. It's just because "well, we should use Y to mean north/south because that makes more sense". The simple fact is that neither XYZ or YXZ makes more sense, because there is a relevant argument against both, and in reality neither of us is ever going to win this kind of argument. Argument 1 is that "we've done it like this forever, why change it now, and X for east/west makes more sense on a cartesian plane than Y for east/west... why change it?". . Argument 2 is "Why is the second loc the first loc? Dont you read left to right instead of middle left right? And the cartesian plane is still backwards as it is because negative Y is east".. So it's a never-ending cycle. I'll change it back simply because the argument is impossible for either side to win, so someone has got to give. I'll give up my ego on this one and return to YXZ and keep friends.
There's no reason to drop XYZ or YXZ in favor of NWH/NWU, they would be one and the same. Just ways of saying the same thing in a different fashion, just like string.Equal[text] is the same as string.Compare[text]!=0. I would not be in favor at all of completely dropping the scheme for NWH/NWU.
As far as heading, clockwise is going to be the norm from now on, BUT I will add a counterclockwise option to the "heading" object... I'm not going to debate on this one about how people think in clockwise and MQ goes counterclockwise, sorry if you wanted to make that case ml2517
Notes:
graphing coordinates and people/map coordinates directly conflict as you and I have shown. I would opt in favor of the people coordinates for people functionality, and in favor of graphing coordinates for graphinc functionality... but I guess thats just me.
The values E = 2100 and S = 4100 would be of use to more easily represent being east/south of the origin. I'm just making the case for people here, people dont think in -W being E, they think in +E being E. An example use would be a UI that displays "###N ###W", "###S" "###W", "###N" "###E" etc as your loc, without having to ${Calc[-${Me.W}]}. I'd be the last one you have to explain to that they have no use other than that. On the other hand, this relieves said person of having to know in the first place that the coordinate system is based on NWH. Relieving the person of needing to know something in order to accomplish a task, without giving up basically anything, is good in my book. If we were talking about a big decrease in efficiency we'd obviously not be catering. There is no "technical" merit to having it, this is "aesthetic" merit without having a notable technical penalty.