ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Desktop.Editing Namespace / EditOperation Class / Rubbersheet Method / Rubbersheet(Layer,RubbersheetMethod) Method
The layer to rubbersheet.
The rubbersheet method to use.
Example

In This Topic
    Rubbersheet(Layer,RubbersheetMethod) Method
    In This Topic
    Rubbersheet a layer.
    Syntax
    Public Overloads Sub Rubbersheet( _
       ByVal layer As Layer, _
       ByVal rubbersheetMethod As RubbersheetMethod _
    ) 
    public void Rubbersheet( 
       Layer layer,
       RubbersheetMethod rubbersheetMethod
    )

    Parameters

    layer
    The layer to rubbersheet.
    rubbersheetMethod
    The rubbersheet method to use.
    Exceptions
    ExceptionDescription
    Rubbersheet method cannot be null.
    Invalid rubbersheet method
    Remarks
    Performs a rubbersheet using the specified rubbersheet method.
    Example
    Edit Operation Rubbersheet Features
    // Performs a rubber-sheet transformation on the features of a specified layer using the provided link lines, anchor points, and limited adjustment areas.
    await QueuedTask.Run(() =>
    {
      //Perform rubber-sheet by geometries
      var rubbersheetMethod = new RubbersheetByGeometries()
      {
        RubbersheetType = RubbersheetMethodType.Linear, //The RubbersheetType can be Linear of NearestNeighbor
        LinkLines = linkLines, //IEnumerable list of link lines (polylines)
        AnchorPoints = anchorPoints, //IEnumerable list of anchor points (map points)
        LimitedAdjustmentAreas = limitedAdjustmentAreas //IEnumerable list of limited adjustment areas (polygons)
      };
    
      var rubbersheetOp = new EditOperation();
      //Performs linear rubber-sheet transformation on the features belonging to "layer" that fall within the limited adjustment areas
      rubbersheetOp.Rubbersheet(layer, rubbersheetMethod);
      //Execute the operation
      if (!rubbersheetOp.IsEmpty)
      {
        var result = rubbersheetOp.Execute(); //Execute and ExecuteAsync will return true if the operation was successful and false if not
      }
    
      //Alternatively, you can also perform rubber-sheet by layer
      var rubbersheetMethod2 = new RubbersheetByLayers()
      {
        RubbersheetType = RubbersheetMethodType.NearestNeighbor, //The RubbersheetType can be Linear of NearestNeighbor
        LinkLayer = linkLayer,
        AnchorPointLayer = anchorPointsLayer,
        LimitedAdjustmentAreaLayer = limitedAdjustmentAreaLayer
      };
    
      //Performs nearest neighbor rubber-sheet transformation on the features belonging to "layer" that fall within the limited adjustment areas
      rubbersheetOp.Rubbersheet(layer, rubbersheetMethod2);
      if (!rubbersheetOp.IsEmpty)
      {
        //Execute and ExecuteAsync will return true if the operation was successful and false if not
        var result = rubbersheetOp.Execute();
      }
    });
    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.0 or higher.
    See Also