Morphological Surface Tool Bathymetry

This tool classifies an area into three morphology surface categories: Plane, Slope and Escarpment from bathymetry data. The three morphology surface categories are classified based on the values of slope gradient.

The surface classification method is based on the seabed morphology scheme published in [Dove et al., 2020].

The followings are the key steps of this tool.

  1. Calculate slope gradient raster from the input bathymetry raster.

  2. Reclassify the slope gradient raster into a three-class raster based on the following criteria:

    • If slope gradient <= 2, class = 1 (Plane)

    • If 2 < slope gradient <= 10, class = 2 (Slope)

    • If slope gradient > 10, class = 3 (Escarpment)

  3. Apply Majority Filter to the reclassified raster a number of time using the number_neighbors option of Eight and the majority_definition option of Half. The number of time is defined by the nuMF input parameter.

  4. Convert the filterred raster into polygons.

  5. Select the polygons with areas smaller than the Area threshold parameter and merge them into their largest neighbours to obtain the final surface features as output.

_images/surface.png
 1from arcpy import env
 2from arcpy.sa import *
 3arcpy.CheckOutExtension("Spatial")
 4
 5# import the python toolbox
 6arcpy.ImportToolbox("C:/semi_automation_tools/User_Guide/Tools/Surface.pyt")
 7
 8env.workspace = 'C:/semi_automation_tools/testSampleCode/Gifford.gdb'
 9env.overwriteOutput = True
10
11# specify input and output parameters of the tool
12inBathy = 'gifford_bathy'
13outSlope = 'gifford_slope'
14outFeat = 'gifford_surface1'
15areaT = '1 SquareKilometers'
16numMajorityFilter = 3
17tempWorkspace = 'C:/Users/u56061/Documents/ArcGIS/Projects/UserGuide/UserGuide.gdb'
18
19
20# execute the tool with user-defined parameters
21arcpy.Surface.SurfaceToolBathy(inBathy,outSlope,outFeat,areaT,numMajorityFilter,tempWorkspace)