def osm_zoom_level_to_pixels_per_meter(
    zoom_level: float, equator_length: float
) -> float:
    """
    Convert OSM zoom level to pixels per meter on Equator. See
    https://wiki.openstreetmap.org/wiki/Zoom_levels

    :param zoom_level: integer number usually not bigger than 20, but this
        function allows any non-negative float value
    :param equator_length: celestial body equator length in meters
    """
    return 2.0**zoom_level / equator_length * 256.0