示例#1
0
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))
示例#2
0
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
示例#3
0
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)
        }