Entidades de Rubbersheet (Edición)

Resumen

Modifica las entidades de entrada ajustándolas espacialmente mediante el estirado “rubber sheeting” con los vínculos de estirado “rubber sheeting” especificados, de forma que se alinean mejor con las entidades de destino previstas.

Ilustración

Ilustración de la herramienta Entidades de Rubbersheet

Uso

    Precaución:

    Esta herramienta modifica los datos de entrada. Consulte Herramientas que modifican o actualizan los datos de entrada para obtener más información y estrategias para evitar cambios de datos no deseados.

  • Esta herramienta está pensada para utilizarse tras la herramienta Generar vínculos de Rubbersheet. El estirado "rubber sheeting" realiza ajustes espaciales para alinear las ubicaciones de las entidades de entrada con ubicaciones de entidades de destino más precisas según los vínculos de estirado "rubber sheeting" especificados. Las entidades de vínculo de entrada representan vínculos normales; las entidades de puntos de entrada representan vínculos de identidad que mantienen estáticas las posiciones de origen durante el proceso de estirado "rubber sheeting". Tanto las entidades de vínculo de entrada como las entidades de vínculo de identidad deben tener campos SRC_FID y TGT_FID.

  • Nota:

    Todas las entradas deben estar en el mismo sistema de coordenadas.

  • El parámetro Método determina el método de interpolación que se utiliza para crear las TIN temporales en el estirado "rubber sheeting".

    • Lineal: este método crea una superficie de TIN rápida, pero no tiene en cuenta realmente la vecindad. Es levemente más rápida y produce buenos resultados cuando tiene muchos vínculos de estirado "rubber sheeting" diseminados de manera uniforme sobre los datos que se están ajustando.
    • Vecino natural: este método es más lento, pero resulta más exacto cuando no se tienen muchos vínculos de estirado "rubber sheeting" y estos están dispersados en el dataset. El uso del método lineal en este caso será menos exacto.

Parámetros

EtiquetaExplicaciónTipo de datos
Entidades de entrada

Entidades de entrada que se ajustarán. Pueden ser puntos, líneas, polígonos o anotaciones.

Feature Layer
Entidades de vínculo de entrada

Las entidades de línea de entrada que representan vínculos regulares para el estirado "rubber sheeting".

Feature Layer
Entidades de puntos de entrada como vínculos de identidad
(Opcional)

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

Feature Layer
Método
(Opcional)

Especifica el método de estirado "rubber sheeting" que se utilizará para ajustar las características.

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

Salida derivada

EtiquetaExplicaciónTipo de datos
Entidades de entrada modificadas

Las entidades de entrada actualizadas.

Feature Layer

arcpy.management.RubbersheetFeatures(in_features, in_link_features, {in_identity_links}, {method})
NombreExplicaciónTipo de datos
in_features

Entidades de entrada que se ajustarán. Pueden ser puntos, líneas, polígonos o anotaciones.

Feature Layer
in_link_features

Las entidades de línea de entrada que representan vínculos regulares para el estirado "rubber sheeting".

Feature Layer
in_identity_links
(Opcional)

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

Feature Layer
method
(Opcional)

Especifica el método de estirado "rubber sheeting" que se utilizará para ajustar las características.

  • LINEAREste método es levemente más rápido y produce buenos resultados cuando tiene muchos vínculos repartidos 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

Salida derivada

NombreExplicaciónTipo de datos
out_feature_class

Las entidades de entrada actualizadas.

Feature Layer

Muestra de código

Ejemplo 1 de RubbersheetFeatures (ventana de Python)

El siguiente script de la ventana de Python demuestra cómo utilizar la función RubbersheetFeatures de modo inmediato.

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

El siguiente script independiente es un ejemplo de cómo aplicar la función RubbersheetFeatures en un entorno 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 then used to adjust the
             base roads (a copy is made) to better align with the updated roads.
"""

# Import system modules
import arcpy

# Set environment settings
arcpy.env.overwriteOutput = True
arcpy.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.edit.GenerateRubbersheetLinks(sourceFeatures, targetFeatures, grlOutput, search_distance, match_fields)

"""
Note 1:  The result of GenerateRubbersheetLinks may contain errors; see the tool reference.
         Inspection and editing may be necessary to ensure correct links before using
         them for rubbersheeting.

         One of the common errors is 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.analysis.Intersect(grlOutput, qaLocations, "", "", "POINT")

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

"""
Note 2:  You can manually inspect locations in qaLocations and delete or
         modify links as needed.
"""

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

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