def register_ipe_graph(conn, ipe_graph): url = "{}/graph".format(VIRTUAL_IPE_URL) res = resolve_if_future(conn.post(url, json.dumps(ipe_graph, sort_keys=True), headers={'Content-Type': 'application/json'})) if res.status_code == 200: return res.text else: raise BadRequest("Problem registering graph: {}".format(res.text))
def fetch_metadata(conn, url): res = conn.get(url) res_json = res.json() if res.status_code != 200 or ('error' in res_json or 'message' in res_json): raise BadRequest("Problem fetching image metadata: {}".format( res_json.get('error', res_json['message']))) else: return res_json
def get_ipe_metadata(conn, ipe_id, node='toa_reflectance'): md_response = conn.get(VIRTUAL_IPE_URL + "/metadata/{}/{}/metadata.json".format(ipe_id, node)).result() if md_response.status_code != 200: raise BadRequest("Problem fetching image metadata: status {} / {}".format(md_response.status_code, md_response.reason)) else: md_json = md_response.json() return { "image": md_json["imageMetadata"], "georef": md_json.get("imageGeoreferencing", None), "rpcs": md_json.get("rpcSensorModel", None) }