A curiosity journal of math, physics, programming, astronomy, and more.

Mid-oceanic ridge trace

I haven't found geographic coordinates for the mid-ocean ridge, so I'm going to trace it from this image of seafloor crustal age:

Seafloor crustal age
Seafloor crustal age, from Wikipedia.

I want to trace the main loop of the mid-ocean ridge without going off the edges of the map, so let's rotate the map to put Asia in the middle:

Image rotated to put Asia in the middle.

There's a repeating a slice of eastern Asia on both sides of the map, so here's a version that removes the overlap, aligning on the mid-ocean ridge in the Indian Ocean as best as possible:

Overlapping edges of image is required to align landforms.

Here's the trace around the main mid-ocean ridge:

A trace of the mid-ocean ridge.

I've imagined a link between where the mid-ocean ridge goes under Alaska and where it emerges from eastern Russia in the Arctic Ocean, though I've only seen scant evidence to support such a link. For the moment it makes a convenient connection to complete the loop. I've also omitted several minor spurs, a couple small loops in the eastern Pacific, and a ridge that ducks under South America and reconnects in the south Atlantic.

I traced this line manually on the above image, using essentially the following JavaScript:

function trace(svg) {
  const points = [];

  const path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
  path.setAttribute('stroke', 'black');
  path.setAttribute('stroke-width', 1);
  path.setAttribute('fill', 'none');
  svg.appendChild(path);

  svg.addEventListener('click', e => {
    const bbox = svg.getBoundingClientRect();
    points.push([e.clientX - bbox.left, e.clientY - bbox.top]);
    path.setAttribute('d', `M${points.join('L')}`);
  });

  return points;
}

After some trial and error with different projections, this seems to be an equirectangular projection. I found it by browsing d3-geo's catalog of projections and trying different formulas on rough outlines of Africa and Greenland (traced on geojson.io). Here's how they align on the seafloor map under an equirectangular projection:

Traces of Greenland and Africa under equirectangular projection align well with their respective landforms on the map.

The equirectangular projection is simplest possible projection, as it just uses longitude as the x-coordinate and latitude as the y-coordinate. Inverting the projection is a no-op, so we can easily render the trace's coordinates on a sphere:

The mid-ocean ridge projected onto a sphere. Drag to rotate.

It's been said the mid-ocean ridge wraps around the globe like the seam on a baseball, which is hard to appreciate on a flat map, but you see on the transparent sphere above that it's not just a metaphor, the mid-ocean ridge really does bear the signature C shape of a baseball seam.

I've posted the GeoJSON data in this Gist. If you have improvements to suggest, or you know where I can find better data, please email me.