This process step and all subsequent process steps were performed by the same person, Kate Ackerman, in ArcMap (ver. 10.7.1) using tools from ArcToolbox, unless otherwise stated. For complex operations, names of specific tools used are given in CAPITAL letters (any critical parameters used are given in parentheses, separated by a semicolon, immediately after the tool name). The input and output file names are provided in [square brackets] when necessary. Units for length and area calculations are meters (m) and square meters (m^2) unless otherwise stated.
a) Set the data frame coordinate system and projection to NAD 1983 UTM Zone 18N.
b) Dissolve the vegetated and unvegetated classes in each marsh unit to have only one class for each marsh unit. DISSOLVE(Input features=[CMU_BW.shp]; Dissolve field=FID_CMU; Statistics field=ATOT_M2 and FLG with Statistics type= First). PROJECT(Input coordinate system=WGS 1984 Web Mercator Auxiliary Sphere; Output coordinate system=NAD 1983 UTM Zone 18N; Geographic transformation=WGS 1984 (ITRF00) to NAD 1983) the feature dataset to obtain dissolved marsh units [mu_diss.shp].
c) Create a rectangular polygon that covers the domain [extent.shp]. CLIP the CoNED elevation dataset by the boundaries polygon [elev_mosaic.tif].
Contact_Person: Kate Ackerman
Contact_Organization: U.S. Geological Survey
Address_Type: mailing address
Contact_Voice_Telephone: 508-548-8700 x2331
Address: 384 Woods Hole Road
City: Woods Hole
Prepare a mask polygon to define analysis boundaries. In order to account for the possible influence of the surrounding terrain on the analysis, a mask area larger than the salt marsh extent is first created [UVVR_mask.shp]. At the end of the analysis the results are clipped to the boundaries of the salt marsh area [MU_mask.shp]. Both [UVVR_mask.shp] and [MU_mask.shp] are edited to determine which interior polygons are removed.
a) EXPORT features from NWI dataset after SELECT("ATTRIBUTE" LIKE 'E2%EM%' OR "ATTRIBUTE" LIKE 'E2AB3%' OR "ATTRIBUTE" LIKE 'E2EM%' OR "ATTRIBUTE" LIKE 'E2SS%' OR "ATTRIBUTE" LIKE 'E2US4%') to select from estuarine intertidal areas of 1) emergent wetland, 2) scrub-shrub area, 3) rooted vascular aquatic bed, 4) organic unconsolidated shore classes [NWI_exclusive_select.shp].
b) BUFFER(Input features=[NWI_exclusive_select.shp]; Linear unit=5 meters; Dissolve type=All) to obtain the mask polygon [buff5m.shp] and ELIMINATE POLYGON PART(Condition=Percentage; Percentage=99; Eliminate contained part only) to obtain [UVVR_mask01.shp]. Apply buffer with -5 meters to obtain [MU_mask01.shp].
c) EXPORT features from NWI dataset after SELECT("ATTRIBUTE" NOT LIKE 'E%' OR "ATTRIBUTE" LIKE '%FO') to obtain features that are not estuarine or are forested estuarine. MULTIPART TO SINGLEPART to separate individual polygons [NWI_inclusive_single.shp].
d) To exclude the voids in the NWI map during the analysis, these interior polygons need to be removed from the mask. ERASE [NWI_exclusive_select.shp] from [extent.shp] and MULTIPART TO SINGLEPART to get [NWI_voids_single.shp].
e) SELECT BY LOCATION from [NWI_inclusive_single.shp] that are completely within the [MU_mask01.shp] and SELECT BY LOCATION from [NWI_voids_single.shp] that are completely within the [MU_mask01.shp]. If any of additional polygons need to be removed from the mask include them in a new feature layer [erase_mask_manual.shp]. Merge all three feature sets to get polygons to be excluded [erase_inside.shp] from the final masks.
f) ERASE [erase_inside.shp] from [MU_mask01.shp] to obtain [MU_mask.shp], and ERASE [erase_inside.shp] from [UVVR_mask01.shp] after BUFFER [erase_inside.shp] by -5 meters, to obtain [UVVR_mask.shp].
Compute vegetated and unvegetated boundaries by image processing.
a) EXTRACT BY MASK from elevation raster [elev_mosaic.tif] and the NAIP imagery using [UVVR_mask.shp] polygon. Rescale the elevation raster values to the same range with 8-bit NAIP imagery (0 to 255) using min-max scaling. Perform ISO CLUSTER UNSUPERVISED CLASSIFICATION with 5 input bands: the Near Infrared, Blue, Green, and Red from the NAIP imagery and the rescaled elevation raster; with 32 classes and a minimum class size of 5000 cells. RECLASSIFY the classified raster by visually comparing the NAIP imagery to obtain the unvegetated-vegetated raster [UVVc.tif].
b) Dissolve unvegetated regions smaller than a threshold value to the surrounding vegetated regions and vice versa to clean the UVV raster. For this purpose, use the REGION GROUP(Number of neighbors=4; Zone grouping method=Within; Add Link field to output) to get the [UVV_region.tif], and TEST("Count" < 9) to set a threshold value of 9 raster cells [lt9.tif]. Use RASTER CALCULATOR to toggle the value of the Link field in the region raster [Map algebra expression=Con("%lt9.tif%", ~Lookup("%UVVc_region.tif%","LINK"),Lookup("%UVVc_region.tif%","LINK"))], where the test raster indicates regions with areas smaller than the threshold.
c) RASTER TO POLYGON(Simplify polygons=False) and CLIP with the final marsh complex outline [mu_diss.shp] to obtain [UVVc_filt_clip.shp].
d) REPAIR GEOMETRY, ADD GEOMETRY ATTRIBUTES (Geometry properties=Area_geodesic; Area unit=Square_meters), CALCULATE FIELD (Python_9.3 expression; Field name=gridcode, Expression=filt(!gridcode!, !AREA_GEO!), Code Block= def filt(gridcode, AREA_GEO):/if gridcode== 0 and AREA_GEO < 9:/return 1/else:/return gridcode) and DISSOLVE(Create multipart features=False) to get filtered, clipped and dissolved unvegetated-vegetated polygons [UVVc_filt_clip_diss.shp].
e) INTERSECT the final conceptual marsh units [CMU.shp] with unvegetated-vegetated polygons [UVVc_filt_clip_diss.shp], REPAIR GEOMETRY, and calculate the area of unvegetated and vegetated polygons in each marsh unit. To do this ADD GEOMETRY ATTRIBUTES(Geometry properties=Area_geodesic; Area unit=Square_meters) to get [UVV_poly.shp], and DISSOLVE(Input features=[UVV_poly.shp]; Dissolve fields=FID_CMU, gridcode; Statistics field=gridcode.MEAN) and REPAIR GEOMETRY to get [UVV_poly_diss.shp]. Edit the fields to have "TYP", "APGN_M2", and "ATOT_M2" fields for type of polygon indicating vegetated or unvegetated, surface area of the polygon, and total surface area of the marsh unit, respectively. Visually inspect and manually remove marsh units that are fully forested due to polygon artifacts that are a result of buffering.
f) Add field "UVVR" and calculate unvegetated to vegetated ratio based on "TYP", "APGN_M2" and "ATOT_M2" fields. If the vegetated area is zero for a marsh unit set the value of UVVR to -1.
g) DISSOLVE(Input features=[UVV_poly_diss.shp]; Dissolve fields=FID_CMU, gridcode; Statistics field=UVVR, ATOT_M2 and FLG with Statistics type= First for all) to obtain [mu_UVVR_BW.shp].
h) Add field "FLG" to flag anomalous marsh units based on absence of vegetation, elevation and surface area. The flags are calculated in their respective shapefile (i.e., elevation flags are calculated in the elevation shapefile). Set FLG to (-1) no vegetated area in the marsh unit; (-10) marsh unit elevation higher than the 99.8 percentile; (-100) marsh unit elevation less than 0.2 percentile; (-200) greater than 25 percent of the marsh unit elevation is hydro-flattened; (-1000) marsh unit surface area less than 900 m^2; and (0) no flag. Combination of negative values indicates a combination of flags; for example, -1001 indicates no vegetated area and area less than 900 m^2.
i) SELECT BY ATTRIBUTES FROM [CMU_BW.shp] where "TYP"= 'vegetated,' and join field "APGN_M2" from [CMU_BW.shp] on the feature dataset [mu_UVVR_BW.shp] and rename this field "AVEG_M2."
j) Rearrange field names and change the projection for better performance of web services with online base maps. PROJECT(Input coordinate system=NAD 1983 UTM Zone 18N; Output coordinate system=WGS 1984 Web Mercator Auxiliary Sphere; Geographic transformation=WGS 1984 (ITRF00) to NAD 1983) the feature dataset to obtain the UVVR for each marsh unit [mu_UVVR_BW.shp].