the x-axis goes through long,lat (0,0), so longitude 0 meets the equator;
    the y-axis goes through (0,90);
    and the z-axis goes through the poles.

    In other words:
    * (0, 0, 0) is the center of earth
    * (0, 0, R) is the north pole
    * (0, 0, -R) is the south pole
    * (R, 0, 0) is somewhere in africa?

    :param lat: latitude in radians
    :param lon: longitude in radians

def get_cartesian(lat, lon):
    """
    the x-axis goes through long,lat (0,0), so longitude 0 meets the equator;
    the y-axis goes through (0,90);
    and the z-axis goes through the poles.

    In other words:
    * (0, 0, 0) is the center of earth
    * (0, 0, R) is the north pole
    * (0, 0, -R) is the south pole
    * (R, 0, 0) is somewhere in africa?

    :param lat: latitude in radians
    :param lon: longitude in radians
    """
    R = 6371000.0  # metres
    x = R * math.cos(lat) * math.cos(lon)
    y = R * math.cos(lat) * math.sin(lon)
    z = R * math.sin(lat)
    return [x, y, z]