something is not right...
Look at the median for geodesic... I don't get it, unless the constant raster shouldn't be a flat plane but a curved one conforming to the surface????
And the max... must be some edge thing?
If you are in the U.S, you should file it. If I report it, Canada has to confirm it, then it goes to Redlands (might be retired by then
import arcpy
import arcpy.sa as SA
#NAD83 example
nad83=arcpy.SpatialReference(4269)
arcpy.env.outputCoordinateSystem = nad83
const_ras = SA.CreateConstantRaster(1.0,"FLOAT",0.0001,"-90.1 29.9 -89.9 30.1")
slope_ras = SA.Slope(const_ras,"DEGREE",'',"GEODESIC","METER")
#UTM example
utm15n = arcpy.SpatialReference(26915)
arcpy.env.outputCoordinateSystem = utm15n
const_ras = SA.CreateConstantRaster(1.0,"FLOAT",10,"779470 3311230 799367 3333922")
slope_ras = SA.Slope(const_ras,"DEGREE",'',"GEODESIC","METER")
slope_ras2 = SA.Slope(const_ras,"DEGREE",'',"PLANAR","METER") #This shows what the slope should look like
a_planar = arcpy.RasterToNumPyArray(slope_ras2)
a_geod = arcpy.RasterToNumPyArray(slope_ras)
a_planar.max(), a_planar.min()
(0.0, -3.4028235e+38)
a_geod.max(), a_geod.min()
(89.99978, -3.4028235e+38)
np.median(a_planar), np.median(a_geod)
(0.0, 1.2710605)
even clipping is showing some weirdness in the geodetic
a_p_small = a_planar[1000:1500, 1000:1500]
a_g_small = a_geod[1000:1500, 1000:1500]
a_p_small.min(), a_p_small.max()
(0.0, 0.0)
a_g_small.min(), a_g_small.max()
(0.00015188563, 89.998856)
Good snag... but if you said everything was good elsewhere, you might want to check some of you other samples using my example. But do check with the distributing agency and/or file a bug