2301_80837809 2024-01-27 10:13 采纳率: 0%
浏览 375

invest模型运行报错: 在光栅计算器中遇到地理处理错误异常

土地利用模拟是flus模型运行出来的,flus模型正常的,但是加入invest中就出现了这种异常
2024-01-24 09:18:54,210 (natcap.invest.utils) utils.prepare_workspace(161) Level 100 Writing log messages to [C:\Users\Ljz\Desktop\InVEST-natcap.invest.carbon-log-2024-01-24--09_18_54.txt]
2024-01-24 09:18:54,219 (main) cli.main(459) Level 100 Starting model with parameters:
Arguments for InVEST natcap.invest.carbon 3.14.0:
calc_sequestration False
carbon_pools_path C:\shuju\shuju2\tangchi\carbon1(未修正).csv
discount_rate
do_redd False
do_valuation False
lulc_cur_path C:\Flus\flus\finshnet1200\yuce2005_2019\lucc2005\daochu\lucc2005.tif
lulc_cur_year
lulc_fut_path
lulc_fut_year
lulc_redd_path
n_workers -1
price_per_metric_ton_of_c
rate_change
results_suffix
workspace_dir C:\Users\Ljz\Desktop

2024-01-24 09:18:54,224 (natcap.invest.carbon) carbon.execute(364) INFO Building file registry
2024-01-24 09:18:54,265 (natcap.invest.carbon) carbon.execute(409) INFO Map all carbon pools to carbon storage rasters.
2024-01-24 09:18:54,265 (natcap.invest.carbon) carbon.execute(420) INFO Mapping carbon from 'lulc_cur_path' to 'c_above_cur' scenario.
2024-01-24 09:18:54,289 (pygeoprocessing.geoprocessing) geoprocessing.raster_calculator(470) INFO starting stats_worker
2024-01-24 09:18:54,289 (pygeoprocessing.geoprocessing) geoprocessing.raster_calculator(476) INFO started stats_worker <Thread(Thread-1 (stats_worker), started daemon 12460)>
2024-01-24 09:18:54,297 (pygeoprocessing.geoprocessing) geoprocessing.raster_calculator(571) ERROR exception encountered in raster_calculator
Traceback (most recent call last):
File "pygeoprocessing\geoprocessing.py", line 517, in raster_calculator
File "pygeoprocessing\geoprocessing.py", line 2179, in _map_dataset_to_value_op
pygeoprocessing.geoprocessing.ReclassificationMissingValuesError: The following 1 raster values [-9999] from "C:\Flus\flus\finshnet1200\yuce2005_2019\lucc2005\daochu\lucc2005.tif" do not have corresponding entries in the value map: {1: 3257.28, 2: 518.4, 3: 578.8799999999999, 4: 228.96, 5: 0.0, 6: 0.0, 0: 0.0}.
2024-01-24 09:18:54,297 (pygeoprocessing.geoprocessing) geoprocessing.raster_calculator(586) INFO Waiting for raster stats worker result.
2024-01-24 09:18:54,297 (pygeoprocessing.geoprocessing_core) threading.run(953) WARNING No valid pixels were received, sending None.
2024-01-24 09:18:54,297 (taskgraph.Task) Task.add_task(706) ERROR Something went wrong when adding task carbon_map_c_above_cur (0), terminating taskgraph.
Traceback (most recent call last):
File "natcap\invest\utils.py", line 993, in reclassify_raster
File "pygeoprocessing\geoprocessing.py", line 2186, in reclassify_raster
File "pygeoprocessing\geoprocessing.py", line 517, in raster_calculator
File "pygeoprocessing\geoprocessing.py", line 2179, in _map_dataset_to_value_op
pygeoprocessing.geoprocessing.ReclassificationMissingValuesError: The following 1 raster values [-9999] from "C:\Flus\flus\finshnet1200\yuce2005_2019\lucc2005\daochu\lucc2005.tif" do not have corresponding entries in the value map: {1: 3257.28, 2: 518.4, 3: 578.8799999999999, 4: 228.96, 5: 0.0, 6: 0.0, 0: 0.0}.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "taskgraph\Task.py", line 674, in add_task
File "taskgraph\Task.py", line 1093, in _call
File "natcap\invest\carbon.py", line 553, in _generate_carbon_map
File "natcap\

  • 写回答

1条回答 默认 最新

  • GISer Liu 2024-01-30 21:44
    关注

    该回答引用自GPT-3.5,由博主GIS_Liu编写:

    根据您提供的错误信息,问题出现在地理处理中,具体是在对指定的栅格数据进行重新分类时遇到了异常。

    错误信息显示,在处理文件 "C:\Flus\flus\finshnet1200\yuce2005_2019\lucc2005\daochu\lucc2005.tif" 时,有一个像素值为 -9999 的值没有在重新分类的数值映射中找到对应的条目。

    这种情况通常是因为在您的代码中,尝试将像素值为 -9999 的像素重新分类,但是您的重新分类映射中没有包含 -9999 这个值的处理方案,导致了异常。

    要解决这个问题,您需要检查您的重新分类映射表,确保它包含了您输入数据中可能出现的所有像素值,并且有对应的处理方案。

    解决方案大致如下:

    1. 检查重新分类映射表:打开您的代码中关于重新分类的部分,找到对应的映射表,确认是否包含了 -9999 这个像素值的处理方案。

    2. 更新重新分类映射表:如果映射表中没有对 -9999 像素值的处理方案,您需要更新映射表,添加对 -9999 的处理方案。您可以将 -9999 映射到一个合适的值,或者根据需求将其忽略或处理为其他值。

    3. 检查数据质量:确保输入的栅格数据质量良好,避免出现不必要的异常像素值。

    4. 调试代码:如果您对代码逻辑有任何疑问,可以通过添加调试语句或者使用调试工具逐步检查代码运行过程中的变量和状态,以便更好地理解问题所在。

    根据报错信息,您需要检查和更新关于栅格数据重新分类的部分的代码,确保能够正确处理所有可能出现的像素值,从而解决该异常问题。

    如果该回答解决了您的问题,请采纳!如果没有,请详述问题所在!

    评论

报告相同问题?

问题事件

  • 创建了问题 1月27日