sexagesimal2decimal function
Converts a sexagesimal string (degrees, minutes, seconds) to a decimal value.
Implementation
double sexagesimal2decimal(String sexagesimal) {
sexagesimal = sexagesimal.trim();
final parts = sexagesimal
.split(RegExp(r"""[°'"\s]+"""))
.where((s) => s.isNotEmpty)
.toList();
if (parts.length < 3) {
throw FormatException("Invalid sexagesimal format: $sexagesimal");
}
final d = double.parse(parts[0]);
final m = double.parse(parts[1]);
final s = double.parse(parts[2]);
final dec = d + (m / 60.0) + (s / 3600.0);
return dec;
}