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
Uso
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 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.
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". Para más información, consulte Acerca de estirado "rubber sheeting" de ajuste espacial.
- LINEAR: este método crea una superficie de TIN rápida, pero no tiene en cuenta realmente la vecindad. Es levemente más rápido y produce buenos resultados cuando tiene muchos vínculos de estirado "rubber sheeting" repartidos de manera uniforme sobre los datos que está ajustando.
- NATURAL_NEIGHBOR: 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.
Sintaxis
arcpy.edit.RubbersheetFeatures(in_features, in_link_features, {in_identity_links}, {method})
Parámetro | Explicación | Tipo de datos |
in_features | Entidades de entrada que se ajustarán. Pueden ser puntos, líneas o polígonos. | 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.
| String |
Salida derivada
Nombre | Explicación | Tipo de datos |
out_feature_class | Las entidades de entrada actualizadas. | Capa de entidades |
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 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 (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 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
Información de licenciamiento
- Basic: No
- Standard: No
- Advanced: Sí