Convertir coordenadas geográficas grados-minutos-segundos a notacional decimal (2): versión simple

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.

One thought on “Convertir coordenadas geográficas grados-minutos-segundos a notacional decimal (2): versión simple”

Leave a Reply

Your email address will not be published. Required fields are marked *