JSFiddle - React, Tailwind, and code Playground

by John Schulz

JavaScript

function metersPerDegreeLongitudeAt(latitude) {
    latitude = parseFloat(latitude || 0);
    var radius = 6378137,
        PI_180 = (Math.PI / 180),
        PI2 = (2 * Math.PI),
        radians = (latitude / 360) * PI2,
        meters = PI_180 * radius * Math.cos(radians);

    return meters;
}

var locations = {
    'St. Petersburg': 60,
    'Greenwich': 51.4847,
    'Bordeaux': 45,
    'New Orleans': 30,
    'Quito': 0
};

// http://en.wikipedia.org/wiki/Geographic_coordinate_system
for (var city in locations) {
    var latitude = locations[city];
    var meters = metersPerDegreeLongitudeAt(latitude);
    console.log('At', latitude, 'degrees latitude (', city, ') each degree longitude is', meters, 'meters apart');
}