Entidades de estirado "rubber sheeting" (Edición)

Resumen

Modifica las entidades de línea mediante el ajuste espacial de las mismas a través del estirado "rubber sheeting" utilizando los vínculos de estirado "rubber sheeting" especificados, de modo que queden mejor alineadas con las entidades de destino previstas.

Ilustración

Entidades de estirado "rubber sheeting"

Uso

Sintaxis

RubbersheetFeatures_edit (in_features, in_link_features, {in_identity_links}, {method})
ParámetroExplicaciónTipo de datos
in_features

Entidades de línea de entrada que se deben ajustar.

Feature Layer
in_link_features

Entidades de vínculo de entrada que representan vínculos normales para el estirado "rubber sheeting".

Feature Layer
in_identity_links
(Opcional)

Entidades de punto de entrada que representan vínculos de identidad para el estirado "rubber sheeting".

Feature Layer
method
(Opcional)

Método de estirado "rubber sheeting" que se utiliza para ajustar las entidades.

  • LINEAREste método es levemente más rápido y produce buenos resultados cuando tiene muchos vínculos diseminados de manera uniforme sobre los datos que está ajustando. Esta es la opción predeterminada.
  • NATURAL_NEIGHBOREste método se debería utilizar cuando tiene pocos vínculos separados.
String

Ejemplo de código

Ejemplo 1 de RubbersheetFeatures (ventana de Python)

La siguiente secuencia de comandos de la ventana de Python demuestra cómo utilizar la función RubbersheetFeatures en el modo inmediato.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.RubbersheetFeatures_edit("source_Roads.shp","rubbersheet_Links.shp",
                               "rubbersheet_Links_pnt.shp", "LINEAR")
Ejemplo 2 de RubbersheetFeatures (secuencia de comandos de Python independiente)

La siguiente secuencia de comandos independiente es un ejemplo imple de cómo aplicar la función RubbersheetFeatures en un entorno de secuencias de comandos.

# 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")

Entornos

Temas relacionados

5/9/2014