首页 > 解决方案 > 如何在 Google Earth Engine 中运行大气校正模型

问题描述

我正在尝试在 Google Earth Engine 中对 Landsat 图像进行大气校正。在我感兴趣的区域中,大量图像仅在 TOA 反射时可用,我想尽可能地近似表面反射。

我正在考虑使用 Sam Murphy 的设置,该设置使用github上提供的 Py6S 。我在运行 docker 容器时遇到了困难。

我经历了以下步骤:

  1. 启用虚拟机
  2. 在 powershell 中启用 Microsoft Hyper V
  3. 安装 Docker - Docker 登录 - 测试 docker:以管理员身份打开 cmd - 运行:docker run hello-world
  4. Docker 文件(从 gi​​thub 下载)位于名为 D:\ProjectFolder\GEE\preprocess\ee-atmcorr-timeseries-master 的文件夹中。因此,在以管理员身份打开 cmd 并尝试运行以下代码后:

docker build D:\ProjectFolder\GEE\preprocess\ee-atmcorr-timeseries-master -t atmcorr-timeseries

我得到一个错误(即使在允许 Deamon 在实验模式下运行之后):

Error:
The command '/bin/sh -c conda install -c anaconda pip               &&     pip install                                        earthengine-api                                    openpyxl                                           oauth2client' returned a non-zero code: 1

以下是冗长的错误报告。我在 Windows 10 机器(版本 1803)64x 上。我之前安装了 Anaconda 和 Python,但认为这不应该影响结果。我是 docker 新手以及与谷歌地球引擎的交互,对于冗长(但可能仍然不完整)的问题感到抱歉。我认为这与不正确调用我的驱动器上的位置有关(模型位于 D 驱动器上时 C 中的 Anaconda/Python)但我不确定并且无法通过更改工作目录来修复它(cmd中的cd命令)。

 # >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<

    Traceback (most recent call last):
      File "/miniconda/lib/python3.6/site-packages/conda/exceptions.py", line 819, in __call__
        return func(*args, **kwargs)
      File "/miniconda/lib/python3.6/site-packages/conda/cli/main.py", line 78, in _main
        exit_code = do_call(args, p)
      File "/miniconda/lib/python3.6/site-packages/conda/cli/conda_argparse.py", line 77, in do_call
        exit_code = getattr(module, func_name)(args, parser)
      File "/miniconda/lib/python3.6/site-packages/conda/cli/main_install.py", line 11, in execute
        install(args, parser, 'install')
      File "/miniconda/lib/python3.6/site-packages/conda/cli/install.py", line 235, in install
        force_reinstall=context.force,
      File "/miniconda/lib/python3.6/site-packages/conda/core/solve.py", line 518, in solve_for_transaction
        force_remove, force_reinstall)
      File "/miniconda/lib/python3.6/site-packages/conda/core/solve.py", line 451, in solve_for_diff
        final_precs = self.solve_final_state(deps_modifier, prune, ignore_pinned, force_remove)
      File "/miniconda/lib/python3.6/site-packages/conda/core/solve.py", line 180, in solve_final_state
        index, r = self._prepare(prepared_specs)
      File "/miniconda/lib/python3.6/site-packages/conda/core/solve.py", line 592, in _prepare
        self.subdirs, prepared_specs)
      File "/miniconda/lib/python3.6/site-packages/conda/core/index.py", line 215, in get_reduced_index
        new_records = query_all(spec)
      File "/miniconda/lib/python3.6/site-packages/conda/core/index.py", line 184, in query_all
        return tuple(concat(future.result() for future in as_completed(futures)))
      File "/miniconda/lib/python3.6/site-packages/conda/core/subdir_data.py", line 95, in query
        self.load()
      File "/miniconda/lib/python3.6/site-packages/conda/core/subdir_data.py", line 149, in load
        _internal_state = self._load()
      File "/miniconda/lib/python3.6/site-packages/conda/core/subdir_data.py", line 246, in _load
        _internal_state = self._process_raw_repodata_str(raw_repodata_str)
      File "/miniconda/lib/python3.6/site-packages/conda/core/subdir_data.py", line 369, in _process_raw_repodata_str
        info['fn'] = fn
    TypeError: 'NoneType' object does not support item assignment

`$ /miniconda/bin/conda install -c anaconda pip`

  environment variables:
                 CIO_TEST=<not set>
               CONDA_ROOT=/miniconda
                     PATH=/miniconda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin
                          :/bin
       REQUESTS_CA_BUNDLE=<not set>
            SSL_CERT_FILE=<not set>

     active environment : None
       user config file : /root/.condarc
 populated config files : /root/.condarc
          conda version : 4.5.11
    conda-build version : not installed
         python version : 3.6.6.final.0
       base environment : /miniconda  (writable)
           channel URLs : https://conda.anaconda.org/anaconda/linux-64
                          https://conda.anaconda.org/anaconda/noarch
                          https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/free/linux-64
                          https://repo.anaconda.com/pkgs/free/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
                          https://repo.anaconda.com/pkgs/pro/linux-64
                          https://repo.anaconda.com/pkgs/pro/noarch
          package cache : /miniconda/pkgs
                          /root/.conda/pkgs
       envs directories : /miniconda/envs
                          /root/.conda/envs
               platform : linux-64
             user-agent : conda/4.5.11 requests/2.20.0 CPython/3.6.6 Linux/4.14.23-linuxkit ubuntu/16.04 glibc/2.23
                UID:GID : 0:0
             netrc file : None
           offline mode : False


An unexpected error has occurred. Conda has prepared the above report.

标签: pythondockeranacondagoogle-earth-engine

解决方案


推荐阅读