# Identifying top and bottom 1% of raster cells to identify threshold value for symbology using ArcGIS Desktop

My question is similar to Identifying top 10% of raster cells using ArcGIS Desktop.

I have a Raster layer and want to identify the threshold value for top 1% and bottom 1% of the raster. This is so I can change the symbology to show top 1% as one colour, and Bottom 1% as another.

The raster is a 32bit floating point file with a Max value of 2630.755126953125 and a Min value of -2737.8447265625

I am using ArcMap 10.61 Desktop

I have tried to use the formula indicated in the response below with no success. I tried to test it with the 10% value (0.9) before trying it with 1% (0.99). I end up with a blank raster.

From your comment I understand that you are not looking for percentile but a given percentage of your range. You can use the raster calculator

Con("raster" >= (0.9 * ("raster".maximum - "raster".minimum) + "raster".minimum), 1) of course 0.9 could be replaced by any value (this is an example with 10%). Note that the results will be a raster with 1 or Nodata, but you can also set a value instead of NoData if you need.

You can use python and numpy.percentile:

``````import arcpy
import numpy as np

rasterfile = r'C:\GIS\data\DEM50m\grid50m\nh_65_3.tif' #Change
arr = arcpy.RasterToNumPyArray(rasterfile) #Create array from raster
arr[arr==-9999]=np.nan #I have nodata values of -9999. This converts them to nan...

for p in [1,99]:
print np.nanpercentile(arr, p) # ...so i can use nanpercentile to ignore them
#print np.percentile(arr,p) #If you have no nan use np.percentile
`````` 