def make_geotransform(x_len, y_len, origin):
    """
    Build an array of affine transformation coefficients.


    Parameters:
        x_len (int or float): The length of a pixel along the x axis.
            Generally, this will be a positive value.
        y_len (int of float): The length of a pixel along the y axis.
            Generally (in North-up rasters), this will be a negative value.
        origin (tuple of ints or floats): The origin of the raster, a
            2-element tuple.

    Returns:
        A 6-element list with this structure:
        ::

            [
                Origin along x-axis,
                Length of a pixel along the x axis,
                0.0,  (this is the standard in north-up projections)
                Origin along y-axis,
                Length of a pixel along the y axis,
                0.0   (this is the standard in north-up projections)
            ]

    """
    return [origin[0], x_len, 0, origin[1], 0, y_len]