This will be my final annoying question on GMT 5/6 cpt files, I promise! For info, I’m updating my cptutils package to support them, and I’d like to get it right.
In a GMT5 cpt file, one would often see a
# HINGE = 0
predating the SOFT_HINGE
and HARD_HINGE
. I get what that means, but what if the value is non-zero, when the cpt file is “stretched”, what would the hinge be mapped to in that stretch?
The only example in the GMT5 distribution is etopo1.cpt
, which has the HINGE
value at -0.001, and this is the same as the original ETOPO1.cpt
, a GMT4 cpt. But the former is normalised to -1/1, while the latter is not, its range is -11000/8500.
This leads me to think that the hinge value is invariant in the stretching, but that would imply that the HINGE value h must be -1 < h < 1, else unstretched the hinge would be outside -1/1, and the cpt file would be non-monotone and look very strange indeed:
# RANGE = -1/3
# HINGE = 2
-1 r/g/b 2 r/g/b
2 r/g/b 1 r/g/b
Is it just the case that this never came up because there was only the one non-zero hinge in scope and that had a tiny value? If so that’s fine for my purposes, I can just error if the input hinge is outside -1/1 and the user selects “normalised” (-1/1) output.
Or maybe I’ve missed something?
Thanks in advance, Jim