Latitud y Longitud: La Guía Completa
Todo lo que necesitas saber sobre latitud y longitud - desde conceptos básicos hasta cálculos avanzados. Aprende cómo estas coordenadas definen cada ubicación en la Tierra con precisión.
La latitud y la longitud forman la base de nuestro sistema de posicionamiento global, permitiéndonos ubicar cualquier lugar en la Tierra con notable precisión. Ya sea que estés navegando a través de océanos, construyendo aplicaciones basadas en ubicación o simplemente tratando de entender cómo funciona el GPS, dominar la latitud y la longitud es esencial.
En esta guía completa, exploraremos todo, desde los conceptos básicos hasta los cálculos avanzados, brindándote una comprensión completa de cómo funcionan estos sistemas de coordenadas y por qué son importantes.
¿Qué son la Latitud y la Longitud?
La latitud y la longitud son medidas angulares que describen una posición en la superficie de la Tierra utilizando un sistema de coordenadas esféricas. Juntas, forman una cuadrícula que cubre todo el planeta, lo que nos permite especificar cualquier ubicación con solo dos números.
Latitud: Midiendo Norte y Sur
La latitud mide qué tan al norte o al sur está una ubicación desde el Ecuador. Piensa en la latitud como líneas horizontales que rodean la Tierra en paralelo al Ecuador.
Características clave:
- Rango: -90° a +90° (o 90°S a 90°N)
- Punto cero: El Ecuador (0°)
- Polo Norte: +90° (o 90°N)
- Polo Sur: -90° (o 90°S)
- Valores positivos: Norte del Ecuador
- Valores negativos: Sur del Ecuador
Líneas de latitud importantes:
- Ecuador (Equator): 0° - Divide la Tierra en hemisferios Norte y Sur
- Trópico de Cáncer (Tropic of Cancer): 23.5°N - Límite norte de los trópicos
- Trópico de Capricornio (Tropic of Capricorn): 23.5°S - Límite sur de los trópicos
- Círculo Polar Ártico (Arctic Circle): 66.5°N - Límite sur del Ártico
- Círculo Polar Antártico (Antarctic Circle): 66.5°S - Límite norte de la Antártida
Longitud: Midiendo Este y Oeste
La longitud mide qué tan al este o al oeste está una ubicación desde el Meridiano de Greenwich. Imagina la longitud como líneas verticales que van desde el Polo Norte hasta el Polo Sur.
Características clave:
- Rango: -180° a +180° (o 180°W a 180°E)
- Punto cero: Meridiano de Greenwich (0°) - pasa por Greenwich, Inglaterra
- Línea Internacional de Cambio de Fecha: ±180° - sigue aproximadamente el meridiano 180°
- Valores positivos: Este del Meridiano de Greenwich
- Valores negativos: Oeste del Meridiano de Greenwich
Línea de longitud importante:
- Meridiano de Greenwich (Prime Meridian): 0° - Pasa por el Observatorio de Greenwich en Londres, divide la Tierra en hemisferios Este y Oeste
Entendiendo la Cuadrícula de Coordenadas
El sistema de cuadrícula de latitud y longitud divide la Tierra en un sistema de referencia matemático que permite la especificación precisa de ubicaciones.
Cómo Funciona la Cuadrícula
Imagina la Tierra como una esfera (en realidad, es un esferoide oblato, ligeramente achatado en los polos). La cuadrícula se crea mediante:
- Paralelos de latitud: Círculos paralelos al Ecuador, que disminuyen de tamaño hacia los polos
- Meridianos de longitud: Semicírculos que van de polo a polo, todos de igual longitud
Formato de Coordenadas
Un par de coordenadas completo siempre lista la latitud primero, luego la longitud:
Latitud, Longitud
40.7128°N, 74.0060°W (Nueva York)
35.6762°N, 139.6503°E (Tokio)
-33.8688°S, 151.2093°E (Sídney)
En formato decimal (común en aplicaciones digitales):
40.7128, -74.0060 (Nueva York)
35.6762, 139.6503 (Tokio)
-33.8688, 151.2093 (Sídney)
Entendiendo la Distancia en Coordenadas
Uno de los conceptos más importantes al trabajar con latitud y longitud es entender qué significan estas medidas angulares en términos de distancia en el mundo real.
Distancia de Latitud
Las líneas de latitud son paralelas y están espaciadas uniformemente:
- 1 grado de latitud ≈ 111 kilómetros (69 millas)
- 1 minuto de latitud ≈ 1.85 kilómetros (1.15 millas)
- 1 segundo de latitud ≈ 30.9 metros (101 pies)
Esta distancia es casi constante en todas partes de la Tierra porque todos los círculos de latitud son paralelos al Ecuador.
Distancia de Longitud
Las líneas de longitud convergen en los polos, por lo que la distancia varía según la latitud:
En el Ecuador (latitud 0°):
- 1 grado de longitud ≈ 111.32 kilómetros (69.17 millas)
A 45° de latitud (ej., Minneapolis, Milán):
- 1 grado de longitud ≈ 78.85 kilómetros (49 millas)
A 60° de latitud (ej., Oslo, Helsinki):
- 1 grado de longitud ≈ 55.80 kilómetros (34.67 millas)
En los polos (latitud 90°):
- 1 grado de longitud = 0 kilómetros (todos los meridianos se encuentran)
Fórmula de Cálculo de Distancia
La distancia representada por la longitud depende del coseno de la latitud:
function longitudeDistanceAtLatitude(latitude) {
// Distance in kilometers for 1 degree of longitude
const kmPerDegreeLongitude = 111.32 * Math.cos(latitude * Math.PI / 180);
return kmPerDegreeLongitude;
}
// Example: How far is 1 degree of longitude at different latitudes?
console.log(`At equator (0°): ${longitudeDistanceAtLatitude(0).toFixed(2)} km`);
// Output: 111.32 km
console.log(`At 45° latitude: ${longitudeDistanceAtLatitude(45).toFixed(2)} km`);
// Output: 78.71 km
console.log(`At 60° latitude: ${longitudeDistanceAtLatitude(60).toFixed(2)} km`);
// Output: 55.66 km
Calculando la Distancia entre Coordenadas
Una de las tareas más comunes al trabajar con latitud y longitud es calcular la distancia entre dos puntos. Debido a la forma esférica de la Tierra, usamos la fórmula de Haversine.
La Fórmula de Haversine
La fórmula de Haversine calcula la distancia del círculo máximo entre dos puntos en una esfera, teniendo en cuenta la curvatura de la Tierra:
function haversineDistance(lat1, lon1, lat2, lon2) {
// Earth's radius in kilometers
const R = 6371;
// Convert degrees to radians
const toRadians = (degrees) => degrees * Math.PI / 180;
const dLat = toRadians(lat2 - lat1);
const dLon = toRadians(lon2 - lon1);
const lat1Rad = toRadians(lat1);
const lat2Rad = toRadians(lat2);
// Haversine formula
const a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
Math.sin(dLon / 2) * Math.sin(dLon / 2) *
Math.cos(lat1Rad) * Math.cos(lat2Rad);
const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
// Distance in kilometers
const distance = R * c;
return distance;
}
// Example: Distance from New York to London
const nyLat = 40.7128, nyLon = -74.0060;
const londonLat = 51.5074, londonLon = -0.1278;
const distance = haversineDistance(nyLat, nyLon, londonLat, londonLon);
console.log(`Distance: ${distance.toFixed(2)} km`);
// Output: Distance: 5570.25 km
Calculando el Rumbo
A veces necesitas saber no solo la distancia, sino también la dirección (rumbo, bearing) de un punto a otro:
function calculateBearing(lat1, lon1, lat2, lon2) {
const toRadians = (degrees) => degrees * Math.PI / 180;
const toDegrees = (radians) => radians * 180 / Math.PI;
const dLon = toRadians(lon2 - lon1);
const lat1Rad = toRadians(lat1);
const lat2Rad = toRadians(lat2);
const y = Math.sin(dLon) * Math.cos(lat2Rad);
const x = Math.cos(lat1Rad) * Math.sin(lat2Rad) -
Math.sin(lat1Rad) * Math.cos(lat2Rad) * Math.cos(dLon);
let bearing = toDegrees(Math.atan2(y, x));
// Normalize to 0-360 degrees
bearing = (bearing + 360) % 360;
return bearing;
}
// Example: Bearing from New York to London
const bearing = calculateBearing(nyLat, nyLon, londonLat, londonLon);
console.log(`Bearing: ${bearing.toFixed(2)}° (roughly ${getCardinalDirection(bearing)})`);
// Output: Bearing: 51.38° (roughly NE)
function getCardinalDirection(bearing) {
const directions = ['N', 'NE', 'E', 'SE', 'S', 'SW', 'W', 'NW'];
const index = Math.round(bearing / 45) % 8;
return directions[index];
}
Encontrando un Punto a Distancia y Rumbo
También puedes calcular un punto de destino dado un punto de inicio, distancia y rumbo:
function destinationPoint(lat, lon, distance, bearing) {
const R = 6371; // Earth's radius in km
const toRadians = (degrees) => degrees * Math.PI / 180;
const toDegrees = (radians) => radians * 180 / Math.PI;
const latRad = toRadians(lat);
const lonRad = toRadians(lon);
const bearingRad = toRadians(bearing);
const angularDistance = distance / R;
const destLatRad = Math.asin(
Math.sin(latRad) * Math.cos(angularDistance) +
Math.cos(latRad) * Math.sin(angularDistance) * Math.cos(bearingRad)
);
const destLonRad = lonRad + Math.atan2(
Math.sin(bearingRad) * Math.sin(angularDistance) * Math.cos(latRad),
Math.cos(angularDistance) - Math.sin(latRad) * Math.sin(destLatRad)
);
return {
latitude: toDegrees(destLatRad),
longitude: toDegrees(destLonRad)
};
}
// Example: Find a point 100 km north (bearing 0°) from New York
const destination = destinationPoint(40.7128, -74.0060, 100, 0);
console.log(`Destination: ${destination.latitude.toFixed(4)}, ${destination.longitude.toFixed(4)}`);
// Output: Destination: 41.6123, -74.0060
Precisión y Exactitud de Coordenadas
Entender la precisión es crucial al trabajar con latitud y longitud, especialmente en aplicaciones de software.
Decimales y Exactitud
| Decimales | Grados | Distancia en el Ecuador | Caso de Uso |
|---|---|---|---|
| 0 | 1.0° | ~111 km | País o región grande |
| 1 | 0.1° | ~11.1 km | Ciudad |
| 2 | 0.01° | ~1.11 km | Pueblo o vecindario |
| 3 | 0.001° | ~111 m | Campo grande o edificio |
| 4 | 0.0001° | ~11.1 m | Parcela de terreno |
| 5 | 0.00001° | ~1.11 m | Árboles individuales |
| 6 | 0.000001° | ~11.1 cm | Topografía de alta precisión |
| 7 | 0.0000001° | ~1.11 cm | Mapeo de placas tectónicas |
| 8 | 0.00000001° | ~1.11 mm | Usos científicos especializados |
Eligiendo la Precisión Correcta
function roundCoordinate(coordinate, decimalPlaces) {
const multiplier = Math.pow(10, decimalPlaces);
return Math.round(coordinate * multiplier) / multiplier;
}
// Example: Different precision levels for the same location
const preciseCoord = 40.71278453;
console.log(`City level (1): ${roundCoordinate(preciseCoord, 1)}`);
// Output: 40.7
console.log(`Building level (4): ${roundCoordinate(preciseCoord, 4)}`);
// Output: 40.7128
console.log(`Person level (6): ${roundCoordinate(preciseCoord, 6)}`);
// Output: 40.712785
Pautas prácticas:
- Aplicaciones web: 5-6 decimales (precisión a nivel de metros)
- Aplicaciones móviles: 6 decimales (precisión submétrica)
- Servicios de entrega: 5 decimales (precisión de 2 metros suficiente)
- Servicios de emergencia: 6-7 decimales (precisión a nivel de centímetros)
- Topografía: 7-8 decimales (precisión a nivel de milímetros)
Validación de Coordenadas
Siempre valida los valores de latitud y longitud para asegurarte de que estén dentro de rangos válidos:
function validateCoordinates(lat, lon) {
const errors = [];
// Validate latitude
if (typeof lat !== 'number' || isNaN(lat)) {
errors.push('Latitude must be a number');
} else if (lat < -90 || lat > 90) {
errors.push('Latitude must be between -90 and 90 degrees');
}
// Validate longitude
if (typeof lon !== 'number' || isNaN(lon)) {
errors.push('Longitude must be a number');
} else if (lon < -180 || lon > 180) {
errors.push('Longitude must be between -180 and 180 degrees');
}
return {
isValid: errors.length === 0,
errors: errors
};
}
// Example usage
console.log(validateCoordinates(40.7128, -74.0060));
// Output: { isValid: true, errors: [] }
console.log(validateCoordinates(95, -74.0060));
// Output: { isValid: false, errors: ['Latitude must be between -90 and 90 degrees'] }
console.log(validateCoordinates(40.7128, 185));
// Output: { isValid: false, errors: ['Longitude must be between -180 and 180 degrees'] }
Trabajando con Cajas Delimitadoras
Las cajas delimitadoras (bounding boxes) definen áreas rectangulares usando valores mínimos y máximos de latitud y longitud. Son esenciales para visualizaciones de mapas y consultas geográficas.
Creando una Caja Delimitadora
function getBoundingBox(lat, lon, distanceKm) {
// Earth's radius in km
const R = 6371;
// Convert distance to angular distance
const latDistance = distanceKm / 111.32; // roughly 111.32 km per degree of latitude
// Longitude distance varies by latitude
const lonDistance = distanceKm / (111.32 * Math.cos(lat * Math.PI / 180));
return {
minLat: lat - latDistance,
maxLat: lat + latDistance,
minLon: lon - lonDistance,
maxLon: lon + lonDistance
};
}
// Example: Create a bounding box 10 km around New York City
const bbox = getBoundingBox(40.7128, -74.0060, 10);
console.log(bbox);
// Output: {
// minLat: 40.6230,
// maxLat: 40.8026,
// minLon: -74.1314,
// maxLon: -73.8806
// }
Verificando si un Punto está Dentro de una Caja Delimitadora
function isInsideBoundingBox(lat, lon, bbox) {
return lat >= bbox.minLat &&
lat <= bbox.maxLat &&
lon >= bbox.minLon &&
lon <= bbox.maxLon;
}
// Example: Check if a point is within the bounding box
const testPoint = { lat: 40.7580, lon: -73.9855 }; // Times Square
console.log(isInsideBoundingBox(testPoint.lat, testPoint.lon, bbox));
// Output: true
Errores Comunes y Cómo Evitarlos
Error 1: Intercambiar Latitud y Longitud
Incorrecto:
const location = { lat: -74.0060, lon: 40.7128 }; // SWAPPED!
Correcto:
const location = { lat: 40.7128, lon: -74.0060 }; // Latitude first
Consejo: Recuerda "lat viene primero" o piensa "latitude es como los peldaños de una escalera (horizontal)".
Error 2: Signo Incorrecto para el Hemisferio
Incorrecto:
const sydney = { lat: 33.8688, lon: -151.2093 }; // Australia should have negative lat
Correcto:
const sydney = { lat: -33.8688, lon: 151.2093 }; // South and East
Error 3: Usar Pitágoras en Lugar de Haversine
Incorrecto (distancia en Tierra plana):
const distance = Math.sqrt(
Math.pow(lat2 - lat1, 2) + Math.pow(lon2 - lon1, 2)
);
Correcto (distancia esférica):
const distance = haversineDistance(lat1, lon1, lat2, lon2);
Error 4: Precisión Insuficiente
Incorrecto:
const location = { lat: 40.7, lon: -74.0 }; // Only city-level precision
Correcto:
const location = { lat: 40.712800, lon: -74.006000 }; // Meter-level precision
Aplicaciones del Mundo Real
Geocercas (Geofencing)
Determinar si un usuario entra o sale de un área específica:
function createGeofence(centerLat, centerLon, radiusKm) {
return {
center: { lat: centerLat, lon: centerLon },
radius: radiusKm,
contains(lat, lon) {
const distance = haversineDistance(
this.center.lat, this.center.lon,
lat, lon
);
return distance <= this.radius;
}
};
}
// Example: Create a geofence around Central Park
const centralParkFence = createGeofence(40.7829, -73.9654, 0.5);
// Check if user is inside
console.log(centralParkFence.contains(40.7829, -73.9654)); // true
console.log(centralParkFence.contains(40.7128, -74.0060)); // false
Encontrando Puntos Cercanos
Encontrar todos los puntos dentro de una cierta distancia:
function findNearbyPoints(centerLat, centerLon, points, maxDistanceKm) {
return points
.map(point => ({
...point,
distance: haversineDistance(centerLat, centerLon, point.lat, point.lon)
}))
.filter(point => point.distance <= maxDistanceKm)
.sort((a, b) => a.distance - b.distance);
}
// Example: Find coffee shops within 2 km
const coffeeShops = [
{ name: 'Cafe A', lat: 40.7580, lon: -73.9855 },
{ name: 'Cafe B', lat: 40.7489, lon: -73.9680 },
{ name: 'Cafe C', lat: 40.7128, lon: -74.0060 }
];
const nearby = findNearbyPoints(40.7580, -73.9855, coffeeShops, 2);
console.log(nearby);
Conclusión
La latitud y la longitud son más que solo números: son el lenguaje de la ubicación, permitiendo todo, desde búsquedas simples de mapas hasta cálculos geográficos complejos. Al comprender cómo funcionan estas coordenadas, cómo se miden las distancias y cómo realizar cálculos comunes, estarás equipado para construir aplicaciones y servicios sofisticados basados en ubicación.
Puntos clave:
- La latitud mide norte/sur, con un rango de -90° a +90°
- La longitud mide este/oeste, con un rango de -180° a +180°
- Usa la fórmula de Haversine para cálculos precisos de distancia en una esfera
- Elige la precisión apropiada según tu caso de uso (generalmente 5-6 decimales)
- Siempre valida las coordenadas para asegurarte de que estén dentro de rangos válidos
- Recuerda que las distancias de longitud varían según la latitud
Ya sea que estés construyendo la próxima gran aplicación de mapas, analizando datos geográficos o simplemente satisfaciendo tu curiosidad sobre cómo funciona el GPS, una comprensión sólida de la latitud y la longitud es tu base para el éxito.
Artículos relacionados
Formatos de Coordenadas GPS Explicados: DD, DMS y DDM
Domina los tres formatos principales de coordenadas GPS: Grados Decimales (DD), Grados Minutos Segundos (DMS) y Grados Minutos Decimales (DDM). Aprende cuándo usar cada formato y cómo convertir entre ellos.
¿Qué es una Coordenada GPS? Guía Completa para Principiantes
Aprenda los fundamentos de las coordenadas GPS, cómo funcionan y cómo se utilizan en la navegación diaria. Descubra la tecnología que impulsa los servicios de ubicación en todo el mundo.
¿Qué Afecta la Precisión del GPS? Comprendiendo los Factores Detrás de la Exactitud de Ubicación
Descubre los factores clave que influyen en la precisión del GPS, desde la geometría satelital hasta las condiciones atmosféricas. Aprende cómo mejorar la precisión de ubicación para una mejor navegación y aplicaciones.