Generar vínculos de estirado "rubber sheeting" (Edición)

Resumen

Busca el lugar donde las entidades de línea de origen coinciden espacialmente con las entidades de línea de destino y genera las líneas que representan los vínculos de las ubicaciones de origen con las ubicaciones de destino correspondientes para el estirado "rubber sheeting".

Ilustración

Generar vínculos de estirado "rubber sheeting"

Uso

Sintaxis

GenerateRubbersheetLinks_edit (source_features, target_features, out_feature_class, search_distance, {match_fields}, {out_match_table})
ParámetroExplicaciónTipo de datos
source_features

Entidades de línea como entidades de origen para la generación de vínculos de estirado "rubber sheeting". Todos los vínculos empiezan en entidades de origen.

Feature Layer
target_features

Entidades de línea como entidades de destino para la generación de vínculos de estirado "rubber sheeting". Todos los vínculos finalizan en entidades coincidentes.

Feature Layer
out_feature_class

La clase de entidad de salida contiene líneas que representan vínculos de estirado "rubber sheeting".

Feature Class
search_distance

Distancia utilizada para buscar candidatos que coinciden. Se debe especificar una distancia, que debe ser mayor que cero. Puede elegir la unidad que prefiera; el valor predeterminado es la unidad de la entidad.

Linear unit
match_fields
[[source_field, target_field],...]
(Opcional)

Listas de campos de entidades de origen y de destino. Si se especifican, cada pareja de campos se comprueba para candidatos coincidentes con el fin de ayudar a determinar la concordancia adecuada.

Value Table
out_match_table
(Opcional)

Tabla de salida que contiene información completa de coincidencia de entidades.

Table

Ejemplo de código

Ejemplo 1 de GenerateRubbersheetLinks (ventana Python)

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

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.GenerateRubbersheetLinks_edit("source_Roads.shp", "target_Roads.shp", 
                                    "rubbersheet_Links.shp", "25 Feet")
Ejemplo 2 de GenerateRubbersheetLinks (secuencia de comandos Python independiente)

La siguiente secuencia de comandos de Python independiente es un ejemplo de cómo se aplica la función GenerateRubbersheetLinks en un entorno de secuencias de comandos.

# Name:        GenerateRubbersheetLinks_example_script2.py
# 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")

Entornos

Temas relacionados

5/9/2014