Source code for turf.bbox_polygon._bbox_polygon

from turf.helpers import polygon
from turf.utils.error_codes import error_code_messages
from turf.utils.exceptions import InvalidInput


[docs]def bbox_polygon(bbox, options=None): """ Takes a bounding box and returns an equivalent Polygon feature. :param bbox: bounding box extent in [minX, minY, maxX, maxY] order :param options: optional parameters [options["properties"]={}] Translate GeoJSON Properties to Point [options["id"]={}] Translate GeoJSON Id to Point :return: a Polygon representation of the bounding box """ if not options: options = {} if not isinstance(bbox, list) or len(bbox) != 4: raise InvalidInput(error_code_messages["InvalidBoundingBox"]) west = float(bbox[0]) south = float(bbox[1]) east = float(bbox[2]) north = float(bbox[3]) low_left = [west, south] top_left = [west, north] top_right = [east, north] low_right = [east, south] return polygon( [[low_left, low_right, top_right, top_left, low_left,]], options.get("properties", None), {"bbox": bbox, "id": options.get("id", None)}, )