Constructs dict with URL params

    :param tile_id: original tile identification string provided by ESA (e.g.
                    'S2A_OPER_MSI_L1C_TL_SGS__20160109T230542_A002870_T10UEV_N02.01')
    :type tile_id: str
    :param bbox: bounding box of requested area in WGS84 CRS
    :type bbox: geometry.BBox
    :param start_date: beginning of time range in ISO8601 format
    :type start_date: str
    :param end_date: end of time range in ISO8601 format
    :type end_date: str
    :param absolute_orbit: An absolute orbit number of Sentinel-2 L1C products as defined by ESA
    :type absolute_orbit: int
    :return: dictionary with parameters as properties when arguments not None
    :rtype: dict

def _prepare_url_params(tile_id, bbox, end_date, start_date, absolute_orbit):
    """ Constructs dict with URL params

    :param tile_id: original tile identification string provided by ESA (e.g.
                    'S2A_OPER_MSI_L1C_TL_SGS__20160109T230542_A002870_T10UEV_N02.01')
    :type tile_id: str
    :param bbox: bounding box of requested area in WGS84 CRS
    :type bbox: geometry.BBox
    :param start_date: beginning of time range in ISO8601 format
    :type start_date: str
    :param end_date: end of time range in ISO8601 format
    :type end_date: str
    :param absolute_orbit: An absolute orbit number of Sentinel-2 L1C products as defined by ESA
    :type absolute_orbit: int
    :return: dictionary with parameters as properties when arguments not None
    :rtype: dict
    """
    url_params = {
        'identifier': tile_id,
        'startDate': start_date,
        'completionDate': end_date,
        'orbitNumber': absolute_orbit,
        'box': bbox
    }
    return {key: str(value) for key, value in url_params.items() if value}