Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 对于循环类型错误:';字典';对象不可调用_Python_Dictionary_For Loop_Google Earth Engine - Fatal编程技术网

Python 对于循环类型错误:';字典';对象不可调用

Python 对于循环类型错误:';字典';对象不可调用,python,dictionary,for-loop,google-earth-engine,Python,Dictionary,For Loop,Google Earth Engine,我正在尝试用Python构建一个for循环,将来自GoogleEarth引擎的图像导出到我的GoogleDrive中。每个图像的边界框坐标取自称为DHS的数据帧 我已使用以下代码成功导出单个图像: landsat = ee.Image('ESA/GLOBCOVER_L4_200901_200912_V2_3') geometry = [[DHS.loc[1,'lon.min'], DHS.loc[1,'lat.min']], [DHS.loc[1,'lon.min']

我正在尝试用Python构建一个for循环,将来自GoogleEarth引擎的图像导出到我的GoogleDrive中。每个图像的边界框坐标取自称为DHS的数据帧

我已使用以下代码成功导出单个图像:

landsat = ee.Image('ESA/GLOBCOVER_L4_200901_200912_V2_3')

geometry = [[DHS.loc[1,'lon.min'], DHS.loc[1,'lat.min']], 
            [DHS.loc[1,'lon.min'], DHS.loc[1,'lat.max']],
            [DHS.loc[1,'lon.max'], DHS.loc[1,'lat.max']],
            [DHS.loc[1,'lon.max'], DHS.loc[1,'lat.min']]]

File_Name = str(DHS.loc[1,'Survey Year']) + "_" + str(DHS.loc[1,'Cluster Number'])

task_config = { 
    'folder': 'Earth Engine Data',
    'region': geometry
    }

task = ee.batch.Export.image(landsat, File_Name, task_config)

task.start()
但是,当我尝试将此代码放入for循环时,会出现以下错误:

landsat = ee.Image('ESA/GLOBCOVER_L4_200901_200912_V2_3')

for row in range(0,1):

    geometry = [[DHS.loc[row,'lon.min'], DHS.loc[row,'lat.min']],
                [DHS.loc[row,'lon.min'], DHS.loc[row,'lat.max']],
                [DHS.loc[row,'lon.max'], DHS.loc[row,'lat.max']],
                [DHS.loc[row,'lon.max'], DHS.loc[row,'lat.min']]]

    File_Name = str(DHS.loc[row,'Survey Year']) + "_" + str(DHS.loc[row,'Cluster Number'])

    task_config = {
        'folder': 'Earth Engine Data',
        'region': geometry
        }

    task = ee.batch.Export.image(landsat, File_Name, task_config)

    task.start()

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-144-164162d7da6c> in <module>
      1 landsat = ee.Image('ESA/GLOBCOVER_L4_200901_200912_V2_3')
      2 
----> 3 for row in range(0,1):
      4 
      5     geometry = [[DHS.loc[row,'lon.min'], DHS.loc[row,'lat.min']],

TypeError: 'Dictionary' object is not callable
landsat=ee.Image('ESA/GLOBCOVER_L4_200901_200912_V2_3')
对于范围(0,1)中的行:
几何图形=[[DHS.loc[row,'lon.min'],DHS.loc[row,'lat.min']],
[DHS.loc[row,'lon.min',DHS.loc[row,'lat.max']],
[DHS.loc[row,'lon.max',DHS.loc[row,'lat.max']],
[DHS.loc[row,'lon.max',DHS.loc[row,'lat.min']]
文件名=str(DHS.loc[行,'调查年])+“”+str(DHS.loc[行,'群集编号])
任务配置={
'文件夹':'地球引擎数据',
“区域”:几何体
}
task=ee.batch.Export.image(陆地卫星,文件名,任务配置)
task.start()
---------------------------------------------------------------------------
TypeError回溯(最近一次调用上次)
在里面
1陆地卫星=ee.图像('ESA/GlobalCover_L4_200901_200912_V2_3')
2.
---->3对于范围(0,1)中的行:
4.
5几何体=[[DHS.loc[row,'lon.min'],DHS.loc[row,'lat.min'],
TypeError:“Dictionary”对象不可调用

有人知道这是为什么吗?

您已经用字典替换了内置的
范围

它必须发生在您未发布的代码部分的某个地方

您可以轻松地复制以下内容:

print(range) # <class 'range'>
range = {}
print(type(range)) # <class 'dict'>
for i in range(5): # TypeError: 'dict' object is not callable
    pass
打印(范围)#
范围={}
打印(类型(范围))#
对于范围(5)中的i:#TypeError:“dict”对象不可调用
通过

下次,请发布一个独立的最小、完整且可验证的示例,其中包括重现问题所需的所有代码。

嗨,迈克,你说得对,这是我从GitHub页面复制粘贴的一段代码,后来忘记了。谢谢,我以后一定会这么做!@Misc584如果它回答了你的问题r问题不要忘了把它标记为答案。它告诉别人你不再需要答案,它会给帮助你解决问题的人带来声誉。