SexagesimalToDMS

Espacio de nombres: Digi21.Math
Ensamblado: Digi21.DigiNG

Descompone un ángulo en grados sexagesimales con fracción decimal en grados, minutos, segundos y signo. Método de Angles.

public static void SexagesimalToDMS(this double sexagesimal, out int degrees, out int minutes, out double seconds, out bool east)

Parámetros

Parámetro Descripción
sexagesimal Ángulo en grados sexagesimales con fracción decimal.
degrees Parte entera de |sexagesimal|.
minutes Parte entera de los minutos de |sexagesimal|, entre 0 y 59.
seconds Segundos restantes, con fracción decimal.
east true si sexagesimal es mayor que 0. Con sexagesimal igual a 0 vale false.

degrees, minutes y seconds son siempre positivos o 0: el signo se devuelve en east. Para longitudes, true significa este; para latitudes, norte.

Los segundos arrastran el error de redondeo de la fracción decimal: 3,7025° devuelve 8,99999… segundos en lugar de 9. Redondea seconds al número de decimales que muestres.

Ejemplo

Angles.SexagesimalToDMS(-3.7025, out var grados, out var minutos, out var segundos, out var positivo);
// grados = 3, minutos = 42, segundos ≈ 9, positivo = false
Console.WriteLine($"{grados} {minutos} {segundos} {positivo}");