Calculating edge length of polygon within overlapping polygon using ArcGIS Desktop?

Here's an idea, based on using Feature To Line. With ESRI, the tool is only available at the ArcInfo/Advanced license level, but with QGIS I'm sure you can find an version of it. So you could, as I often do, supplement your ArcView/Basic license workflow with free QGIS tools.

  1. Run Feature To Line to convert the lake features to lines (make sure you're using projected coordinate system, it'll help later)
  2. Clip the new lines using the wetland polygon
  3. Make sure length is calculated in the new clipped feature class
  4. Use spatial join to attach the lengths of any lines that intersect each polygon

If you would be interested in just finding the intersection between two polygons, you'd use the Intersect GP tool and then adding the area of the resultant features back to the wetlands. But you are interested not in intersection yet essentially in the edge, or a segment which polygons share.

There is a very nice GP tool in ArcGIS Desktop, but few have used that. It is the Polygon Neighbors GP tool. It is available in all licenses since 10.1. Read more about How Polygon Neighbors Works.

I'd approach your problem like this:

  1. Erase the wetlands polygon layer by cutting the lakes. This is because we need to get the polygons that will share a side (or part of the side, a certain segment).

  2. Copy both wetlands and the lakes into a new polygon layer. Keep in mind that you would need a certain uniqueID field that would identify each of the polygons in a unique way. You could call every lake feature "Lake + ObjectId", so you'll get Lake1,Lake2,LakeN. Likewise, "Wet + ObjectId" would give Wet1,Wet2,WetN. You can copy those features in the edit session.

  3. Run the Polygon Neighbors. Specify the feature class with your wetlands and lakes; the field which will be ID (type of feature) and XY tolerance if your polygons have small gaps but you would still would like to treat them as if they would share a segment.

enter image description here

  1. Transfer back the segment length value with the Join Field GP tool. Use the Feature type field you've used to identify your lakes and wetlands.