Generate Rubbersheet Links (Editing)

License Level:BasicStandardAdvanced


Finds where the source line features spatially match the target line features and generates lines representing links from source locations to corresponding target locations for rubbersheeting.


Generate Rubbersheet Links



GenerateRubbersheetLinks_edit (source_features, target_features, out_feature_class, search_distance, {match_fields}, {out_match_table})
ParameterExplanationData Type

Line features as source features for generating rubbersheet links. All links start at source features.

Feature Layer

Line features as target features for generating rubbersheet links. All links end at matched target features.

Feature Layer

Output feature class containing lines representing regular rubbersheet links.

Feature Class

The distance used to search for match candidates. A distance must be specified and it must be greater than zero. You can choose a preferred unit; the default is the feature unit.

Linear unit
[[source_field, target_field],...]

Lists of fields from source and target features. If specified, each pair of fields are checked for match candidates to help determine the right match.

Value Table

The output table containing complete feature matching information.


Code Sample

GenerateRubbersheetLinks example 1 (Python window)

The following Python window script demonstrates how to use the GenerateRubbersheetLinks function in immediate mode.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.GenerateRubbersheetLinks_edit("source_Roads.shp", "target_Roads.shp", 
                                    "rubbersheet_Links.shp", "25 Feet")
GenerateRubbersheetLinks example 2 (stand-alone Python script)

The following stand-alone script is an example of how to apply the GenerateRubbersheetLinks function in a scripting environment.

# Name:
# Description: Generates links for rubbersheeting spatial adjustment. The links go
#              from base road data to newly updated road data. The links are then
#              analyzed for potential errors; they are finally used to adjust the
#              base roads (a copy is made) to better align with the updated roads.
# Author:      Esri
# -----------------------------------------------------------------------

# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.overwriteOutput = True
env.workspace = r"D:\conflationTools\ScriptExamples\data.gdb"

# Set local variables
sourceFeatures = "baseRoads"
targetFeatures = "updateRoads"
grlOutput = "grlinks_out"
grlOutputPts = "grlinks_out_pnt"

search_distance = "300 Feet"
match_fields = "FULLNAME RD_NAME"

qaLocations = "qa_locations"

# Generate rubbersheet links
arcpy.GenerateRubbersheetLinks_edit(sourceFeatures, targetFeatures, grlOutput, search_distance, match_fields)

# ====================================================================================
# Note 1:  The result of GenerateRubbersheetLinks may contain errors; see tool reference.
#          Inspection and editing may be necessary to ensure correct links before using
#          them for rubbersheeting.
#          One of the common errors are intersecting or touching links. Their locations 
#          can be found by the process below.
# ====================================================================================

# Find locations where links intersect or touch; the result contains coincident points
arcpy.Intersect_analysis(grlOutput, qaLocations, "", "", "POINT")

# Delete coincident points
arcpy.DeleteIdentical_management(qaLocations, "Shape")

# ====================================================================================
# Note 2:  At this point you can manually inspect locations in qaLocations; delete or
#          modify links as needed.
# ====================================================================================

# Make a copy of the sourceFeatures for rubbersheeting
arcpy.CopyFeatures_management(sourceFeatures, "sourceFeatures_Copy")

# Use the links for rubbersheeting
arcpy.RubbersheetFeatures_edit("sourceFeatures_Copy", grlOutput, grlOutputPts, "LINEAR")


Related Topics

Licensing Information

ArcGIS for Desktop Basic: No
ArcGIS for Desktop Standard: No
ArcGIS for Desktop Advanced: Yes