def render_single_tile(m: StaticMap, ext: list) -> Image: """ Revised version of StaticMap.render() allows explicit extent + empty maps Args: m: Static map object for rendering ext: the map extent in (min_lon, min_lat, max_lon, max_lat) Returns: The returned RGB image as an PIL.Image """ ex_poly = [[ext[0], ext[1]], [ext[0], ext[3]], [ext[2], ext[1]], [ext[2], ext[3]]] polygon = Polygon(ex_poly, 'white', 'white', True) m.add_polygon(polygon) m.zoom = m._calculate_zoom() # get extent of all lines extent = ext # calculate center point of map lon_center, lat_center = (extent[0] + extent[2]) / 2, (extent[1] + extent[3]) / 2 m.x_center = _lon_to_x(lon_center, m.zoom) m.y_center = _lat_to_y(lat_center, m.zoom) image = Image.new('RGB', (m.width, m.height), m.background_color) m._draw_base_layer(image) m.polygons.remove(polygon) m._draw_features(image) return image