Introducción.
El método que utilizo habitualmente para realizar la conversión entre notaciones de coordenadas se basa en el método descrito anteriormente y es mas simple aunque aparentemente tiene un ligeramente mayor margen de pérdida de decimales en los cálculos.
A continuación se describe rápidamente las fórmulas matemáticas utilizadas para estos cálculos y se presentan los enlaces para la aplicación de deomstración y el formulario en Excel para pruebas.
Procedimiento.
Notación Grados-Minutos-Segundos a notación decimal.
latitude_sign = (latitude_dir == “N”) ? 1 : -1;
latitude = (latitude_deg + (latitude_min / 60.0) + (latitude_sec / 60.0 / 60.0)) * latitude_sign;
longitude_sign = (longitude_dir == “E”) ? 1 : -1;
longitude = (longitude_deg + (longitude_min / 60.0) + (longitude_sec / 60.0 / 60.0)) * longitude_sign;
Notación Decimal a notación Grados-Minutos-Segundos.
latitude_deg = Math.floor(Math.abs(latitude));
latitude_min = Math.floor((Math.abs(latitude) – latitude_deg) * 60);
latitude_sec = Math.ceil(((Math.abs(latitude) – latitude_deg) * 60 – latitude_min) * 60);
latitude_dir = (latitude_sign > 0) ? “N” : “S”;
longitude_deg = Math.floor(Math.abs(longitude));
longitude_min = Math.floor((Math.abs(longitude) – longitude_deg) * 60);
longitude_sec = Math.ceil(((Math.abs(longitude) – longitude_deg) * 60 – longitude_min) * 60);
longitude_dir = (longitude_sign > 0) ? “E” : “W”;
Enlaces.
- Clase CoordConverter en Javascript.
http://demo.jorgeivanmeza.com/JavaScript/CoordConverter/0.1a/ - Aplicación de demostración de la conversión de coordenadas.
http://demo.jorgeivanmeza.com/JavaScript/CoordConverter/0.1a/test.html - Formulario de demostración de la conversión de coordenadas en Excel.
http://demo.jorgeivanmeza.com/JavaScript/CoordConverter/0.1a/CoordinatesConverter_0.1a.xls