Effectuer l'étirement caoutchouté d'entités (Mise à jour)

Niveau de licence :BasicStandardAdvanced

Récapitulatif

Modifie les entités linéaires en entrée en les ajustant spatialement par étirement caoutchouté, en utilisant les liens d'étirement caoutchouté spécifiés, afin qu'elles soient mieux alignées avec les entités cible visées.

Illustration

Effectuer l'étirement caoutchouté d'entités

Utilisation

Syntaxe

RubbersheetFeatures_edit (in_features, in_link_features, {in_identity_links}, {method})
ParamètreExplicationType de données
in_features

Entités linéaires en entrée à ajuster.

Feature Layer
in_link_features

Entités linéaires en entrée représentant des liens standard d'étirement caoutchouté.

Feature Layer
in_identity_links
(Facultatif)

Entités ponctuelles en entrée représentant les liens d'identité pour l'étirement caoutchouté.

Feature Layer
method
(Facultatif)

Méthode d'étirement caoutchouté à utiliser pour ajuster les entités.

  • LINEARCette méthode est légèrement plus rapide et fournit de bons résultats lorsque vous utilisez de nombreux liens répartis uniformément dans les données que vous ajustez. Il s'agit de l'option par défaut.
  • NATURAL_NEIGHBORAdoptez cette méthode lorsque vous utilisez quelques liens très éloignés.
String

Exemple de code

Exemple 1 d'utilisation de l'outil Effectuer l'étirement caoutchouté d'entités (fenêtre Python)

Le script de fenêtre Python suivant illustre l'utilisation de la fonction Effectuer l'étirement caoutchouté d'entités en mode immédiat.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.RubbersheetFeatures_edit("source_Roads.shp","rubbersheet_Links.shp",
                               "rubbersheet_Links_pnt.shp", "LINEAR")
Exemple 2 d'utilisation de l'outil Effectuer l'étirement caoutchouté d'entités (script Python autonome)

Le script autonome suivant dessous est un exemple d'application de la fonction Effectuer l'étirement caoutchouté d'entités dans un environnement de scripts.

# Name:        RubbersheetFeatures_example_script2.py
# Description: Performs rubbersheeting spatial adjustment using links produced by
#              GenerateRubbersheetLinks, assuming newly updated roads are more
#              accurate than existing base roads. The links go from base road data
#              to corresponding 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")

Environnements

Thèmes connexes

Informations de licence

ArcGIS for Desktop Basic: Annuler
ArcGIS for Desktop Standard: Annuler
ArcGIS for Desktop Advanced: Oui
6/5/2014