static function fromResponse(array $arr) { $polygon = Polygon::fromResponse($arr["polygon"]); $bbox = Bbox::fromResponse($arr["bbox"]); $sourceType = null; if (array_key_exists("url", $arr)) { $sourceType = "URL"; $source = $arr["url"]; } else { if (array_key_exists("base64", $arr)) { $sourceType = "BASE64"; $source = $arr["base64"]; } else { //throw new \Exception ("Invalid image response"); $source = ""; $sourceType = "BASE64"; } } return new Image($source, $sourceType, $polygon, $bbox, $arr["width"], $arr["height"]); }