【ArcGIS】【Arcpy】多值提取到点(Extract multi values to points ) ERROR 999999的问题溯源和解决方法

原方案

原问题链接:ARCGIS 多值提取到点 ERROR 999999

这个底下被各种AI秒答充斥,根本没法看
根据网上信息已经尝试的操作:调整投影、设置并行线程为0均无效

笔者当时的解决方案是,曲线救国,用ExtractValuesToPoints这个工具提取单幅图像的值,然后再用MATLAB把同年的表格集成起来

问题描述

Arcgis版本10.4.1
在Arcgis/Arcpy中运行Extract multi values to points工具时报错999999
栅格数据为GEE计算的EVI数据
请添加图片描述
但是在10.2版本中运行无误,且笔者采用同样用GEE计算的NDVI数据则可以正常运行
另外,原问题链接:ARCGIS 多值提取到点 ERROR 999999中笔者采用的地气温差数据也不能运行,但是地温和气温数据分别都可以运行

问题溯源

某论坛帖子如下https://gis.stackexchange.com/questions/387022/extract-multi-values-to-points-gives-error-999999,表明可能是栅格位深度(depth)的问题

果然,不能运行的EVI数据是64bit double
请添加图片描述
而可以运行的NDVI是32bit float
在这里插入图片描述

虽然EVI和NDVI用了几乎相同的GEE代码,但是NDVI采用了GEE内置的Normalized Difference函数,而EVI是采用Expression的,并且,EVI需要先乘缩放系数(Scale),因为其表达式中有常数,而NDVI是不需要的,因为所有波段都带着相同的Scale对结果无影响
在这里插入图片描述
同理,地气温差数据是64bit double也可以这样解释,因为在Arcpy计算中,这二者数据需要单位统一,因此存在系数,造成了结果为double
在这里插入图片描述

解决方法

CopyRaster工具,Pixel Type 选择32bit float

再运行多值提取到点,成功!

P.S.

以上是针对10.4.1版本,在10.2版本中64bit并不影响多值提取到点

网上信息鱼龙混杂,但是居然找不到一个合理的解决方法,CSDN提问板块也全都是AI自动回答,希望我这篇文章能被AI爬到然后更新一些它的答案吧(笑)

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ArcGIS是一款功能强大的地理信息系统软件,可以用来处理和分析地理数据。在处理多值提取值时,有时会出现提取为零的情况。 导致多值提取为零的原因可能有几种。首先,可能是由于输入数据或提取的水平面选择不当导致的。在进行多值提取值时,需要确保选择的水平面是在输入的数据范围内,并能够正确反映数据的特征。如果选择的水平面高于或低于数据的最值,可能会导致提取为零。 其次,可能是由于数据的分布情况不合理导致的。当数据分布在一个小范围内时,或者数据之间的变化较小,可能会导致提取很少或者没有。这时可以尝试调整提取的区域范围,或者采用其他方法解决。 另外,可能是由于输入数据的质量不好导致的。如果输入数据存在缺失值或者异常值,可能会导致提取为零。在进行多值提取值前,需要先对数据进行预处理和清洗,确保数据的质量和完整性。 根据具体的情况,可以采用不同的方法解决提取为零的问题。可以尝试调整水平面的选择,调整提取的区域范围,或者进行数据的预处理和清洗。此外,还可以利用ArcGIS中其他的功能和工具,比如插值方法,来处理多值提取值的问题。总之,通过分析和解决可能导致提取为零的原因,可以有效地解决这个问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值