EsriOceans / btm

Benthic Terrain Modeler
http://resources.arcgis.com/en/communities/oceans/
Mozilla Public License 2.0
26 stars 7 forks source link

NumPy / SciPy errors on very large window #133

Open scw opened 6 years ago

scw commented 6 years ago

With very large windows over an area without data in every block, I got this error when computing IQR:

Calculating depth interquartile range...
Beginning block analysis...
Processing block 1 of 118948 in Lidar_2011_BathymetryResa.tif...
 ValueError: operands could not be broadcast together with shapes (0,0) (0,88)
 Start Time: October 10, 2017 10:55:50 PM
Succeeded at October 10, 2017 10:55:51 PM (Elapsed Time: 1.47 seconds)
Python Error:   File "z:\data\arcgis\addins\btm\Install\toolbox\scripts\depth_statistics.py", line 168, in main
    bp.computeBlockStatistics(funct, blocksize, out_raster, overlap)
  File "z:\data\arcgis\addins\btm\Install\toolbox\scripts\utils.py", line 355, in computeBlockStatistics
    block = func(block, overlap)
  File "z:\data\arcgis\addins\btm\Install\toolbox\scripts\depth_statistics.py", line 34, in iqr
    iqr_array = (np.percentile(iqr_array, 75, axis=0) -
  File "C:\ArcGIS\bin\Python\envs\arcgispro-py3\lib\site-packages\numpy\lib\function_base.py", line 4269, in percentile
    interpolation=interpolation)
  File "C:\ArcGIS\bin\Python\envs\arcgispro-py3\lib\site-packages\numpy\lib\function_base.py", line 4011, in _ureduce
    r = func(a, **kwargs)
  File "C:\ArcGIS\bin\Python\envs\arcgispro-py3\lib\site-packages\numpy\lib\function_base.py", line 4373, in _percentile
    ap.partition(concatenate((indices_below, indices_above)), axis=axis)

Later, this also came up (I'm guessing from Kurtosis):

C:\ArcGIS\bin\Python\envs\arcgispro-py3\lib\site-packages\scipy\stats\stats.py:930: RuntimeWarning: overflow encountered in square
  s = a_zero_mean**2