1

我正在使用我在网上找到的教程(here)让谷歌地球引擎与我的 python 设置(Windows 7、Python 2.7.8)一起工作。我可以让 EE 初始化,但不能让它显示图像。

import ee
from IPython.display import Image,display
ee.Initialize()
image = ee.Image('srtm90_v4')
url = image.getThumbURL({'min':0,'max':3000})
Image(url) 

最后一行返回以下错误:

"------------------------------------------------ -------------------------- ValueError Traceback (最近一次调用最后一次) in () ----> 1 Image(url)

D:\miniconda\envs\py27\lib\site-packages\IPython\core\display.pyc in init (self, data, url, filename, format, embed, width, height, Retina, unconfined, metadata) 750 751 if self.embed 和 self.format 不在 self._ACCEPTABLE_EMBEDDINGS: --> 752 raise ValueError("Cannot embed the '%s' image format" % (self.format)) 753 self.width = width 754 self.height = height

ValueError: 无法嵌入 'com/api/thumb?thumbid=a7f37aaf3e0e9a8ec6a0ef27f0a5ff89&token=34a700091c83cadbc034141f7ea765da' 图像格式"

如果我将 url 放入网络浏览器并保存出现的图像,它会保存一个 PNG。如果我将 PNG 附加到 url,则Image(url+'.png') Image()不再引发错误,而是显示:

 <IPython.core.display.Image object>

display()应该能够显示这一点,但它也只会带来:

 <IPython.core.display.Image object>

如果我指向Image()保存的 PNG 文件,它可以正常工作:

Image('./test_thumb.png')

SRTM

关于导致Image()不显示 Google 地球引擎缩略图的任何想法?

我尝试%matplotlib lineline在初始导入后添加(matplotlib 是通过我的 ipython 配置文件加载的)。

4

1 回答 1

1

错误的原因是使用了错误的IPython.display.Image构造函数参数。参数是第data一个,url参数是第二个。

help(Image)在 Jupyter 笔记本中,您可以使用帮助魔术功能(例如:)或Shift-Tab键盘快捷键查看对象的参数列表。

要解决此问题,请在调用 Image 函数时使用关键字参数形式:

Image(url=url)
于 2017-07-28T18:24:18.417 回答