Sea*_*ude 1 png image jupyter-notebook ipywidgets azure-maps
我在 Jupyter Notebook 中有一个 Azure Maps API 调用,该调用返回 .png 格式的地图图块。该调用效果很好,但我不知道如何将其显示为图像而不是二进制文本。
\n\n- API 调用:
\n\nimport requests\nfrom ipywidgets import Image\n\nurl = "https://atlas.microsoft.com/map/static/png"\n\nquerystring = {\n "api-version":"1.0",\n "subscription-key":"<myRedactedAPIkey>",\n "layer":"basic",\n "zoom":"5",\n "center":"-122.3950336,47.566848",\n "height":"600",\n "width":"600",\n "pins":"default||-121.95066667 45.9135|-121.062 46.707",\n "format":"png",\n "path":"ra300||-122.3950336 47.566848"\n}\n\npayload = ""\nheaders = {\n \'cache-control\': "no-cache"\n }\n\nresponse = requests.request("GET", url, data=payload, headers=headers, params=querystring)\n\nprint(response.text)\nRun Code Online (Sandbox Code Playgroud)\n\n结果是:
\n\n\xef\xbf\xbdPNG\n\nIHDRX\xef\xbf\xbdf\xef\xbf\xbd\xef\xbf\xbdsRGB\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdgAMA\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbda pHYs\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdo\xef\xbf\xbdd\xef\xbf\xbd\xef\xbf\xbdIDATx^\xef\xbf\xbd\xef\xbf\xbdwt,K~\xef\xbf\xbd \xef\xbf\xbd2\xc3\x95YqGg4+\xef\xbf\xbdiGsVgGg5Z\xef\xbf\xbd\xd1\x9c]IT\xef\xbf\xbdRs9\\J\xe4\x88\xa44r$r%\xef\xbf\xbda\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdnv\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd}\xef\xbf\xbd\xef\xbf\xbdw\xcd\xbb\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd{[\xef\xbf\xbdBy\xef\xbf\xbd20U\\\xef\xbf\xbd6\xef\xbf\xbd\xef\xbf\xbd@T"\n\xef\xbf\xbd\xef\xbf\xbd\n\xef\xbf\xbdA\xef\xbf\xbdE\xef\xbf\xbd\xef\xbf\xbd\xd6\xb5\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd|\xef\xbf\xbd%\xdb\xb6\xef\xbf\xbd\xef\xbf\xbdO\xef\xbf\xbdN\xef\xbf\xbd#\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbddX\xef\xbf\xbd\xef\xbf\xbdF\xef\xbf\xbd\xef\xbf\xbdY\xef\xbf\xbdp\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdy\xef\xbf\xbdl3\xef\xbf\xbdT\xef\xbf\xbd8;\xef\xbf\xbdY\xef\xbf\xbdp\xef\xbf\xbdO\xd2\x89#\xef\xbf\xbd\xd5\xbe8\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdyf\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd+5.\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd@0\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdq\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdJ\xde\x8c\xef\xbf\xbdk\xef\xbf\xbd\xef\xbf\xbd(\xef\xbf\xbd5\xef\xbf\xbd\xd0\x9e\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdu\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdgBl\xef\xbf\xbd=\xef\xbf\xbdE\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd@\xef\xbf\xbdJ\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdm=f\xef\xbf\xbdk&h\xef\xbf\xbd\xef\xbf\xbd^\xef\xbf\xbd\xef\xbf\xbdZ\xef\xbf\xbd\xef\xbf\xbdMs\xef\xbf\xbd\xef\xbf\xbd\xcc\x8a\\\xef\xbf\xbdJ\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdif\xef\xbf\xbd\xef\xbf\xbdC\xef\xbf\xbd\xef\xbf\xbd:2_ <etc.>\nRun Code Online (Sandbox Code Playgroud)\n\n想:
\n\n\n\n有什么建议吗?谢谢。
\n\nEDIT2:这是有效的查询。感谢大家的帮助。
\n\nimport requests\nfrom IPython.display import Image, display\n\nurl = "https://atlas.microsoft.com/map/static/png"\npayload = ""\nquerystring = {\n "api-version":"1.0",\n "subscription-key":"<myApiKeyRedacted>",\n "format":"png",\n "layer":"basic",\n "zoom":"5",\n "center":"-122.3950336,47.566848",\n "height":"600",\n "width":"600",\n "pins":"default||-121.95066667 45.9135|-121.062 46.707",\n "path":"ra300000||-122.3950336 47.566848"\n }\nheaders = {\n \'cache-control\': "no-cache"\n }\n\nr = requests.get(url,data=payload, headers=headers, params=querystring, stream=all)\n\ndisplay(Image(r.content))\nRun Code Online (Sandbox Code Playgroud)\n
stream=all这是最终的工作结果:出现,的组合Ipython.display并.content完成了任务。
import requests
from IPython.display import Image, display
url = "https://atlas.microsoft.com/map/static/png"
payload = ""
querystring = {
"api-version":"1.0",
"subscription-key":"<myApiKeyRedacted>",
"format":"png",
"layer":"basic",
"zoom":"5",
"center":"-122.3950336,47.566848",
"height":"600",
"width":"600",
"pins":"default||-121.95066667 45.9135|-121.062 46.707",
"path":"ra300000||-122.3950336 47.566848"
}
headers = {
'cache-control': "no-cache"
}
r = requests.get(url,data=payload, headers=headers, params=querystring, stream=all)
display(Image(r.content))
Run Code Online (Sandbox Code Playgroud)