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
Uso
-
Las entidades de línea de diferentes orígenes de datos y que cubren la misma área, por ejemplo, carreteras mantenidas por un gobierno municipal y carreteras de la misma ciudad de un proveedor comercial de datos, puede que no se alineen perfectamente debido a conjuntos de datos incoherentes u otros motivos. Las desviaciones espaciales entre las entidades correspondientes no son a menudo uniformes. Si es consciente que los datos de un origen son menos precisos que los de otro, puede mejorar la precisión de los datos a través del ajuste de estirado "rubber sheeting" utilizando esta herramienta para generar vínculos de estirado "rubber sheeting", seguida de la herramienta Entidades de estirado "rubber sheeting" para realizar el ajuste. Para referirse a los dos conjuntos de entidades de línea se utilizan los términos entidades de origen y entidades de destino (normalmente más precisos). Esta herramienta busca las líneas de origen y destino correspondientes dentro de una distancia de búsqueda especificada y genera los vínculos de estirado "rubber sheeting".
-
La unión de las extensiones de entrada se utiliza como extensión de procesamiento. Los recuentos de las entidades de origen y destino que participan se notifican en los mensajes de procesamiento.
La clase de entidad de salida contiene líneas que representan vínculos de estirado "rubber sheeting" para la entrada a la herramienta Entidad de estirado "rubber sheeting". Un enlace normal conecta una ubicación de origen a una ubicación de destino no idéntica pero coincidente.
Puede visualizar estos vínculos en un mapa como con cualquier otra entidad de línea. Las líneas se pueden trazar con una flecha en los extremos para generar un mapa parecido al de la ilustración de arriba.
Además de la clase de entidad de línea de salida, esta herramienta crea una clase de entidad de puntos derivada que contiene los vínculos de identidad. Un vínculo de identidad conecta una ubicación de origen a una ubicación de destino idéntica y coincidente; las ubicaciones con vínculos de identidad no se mueven en el estirado "rubber sheeting". Si no hay ubicaciones de origen idénticas y las ubicaciones de destino son coincidentes, no se generarán vínculos de identidad; por lo tanto, la clase de entidad de puntos está vacía. Solo debe proporcionar la clase de entidad de puntos como la entrada a la herramienta Entidades de estirado "rubber sheeting" cuando no está vacía. La clase de entidad de puntos de salida se encuentra en la misma ubicación que la clase de entidad de salida y tiene el mismo nombre que la clase de entidad de salida, pero con el sufijo _pnt. Por ejemplo, si la clase de entidad de salida tiene el nombre outputLinks, la clase de entidad de puntos de salida se llamará outputLinks_pnt.
Ambas salidas (los vínculos de estirado "rubber sheeting" normales y los vínculos de identidad) tienen los siguientes campos:
- SRC_FID: Id. de entidades de origen en los puntos iniciales de los vínculos. El valor es -1 si la ubicación está compartida por más de una entidad de origen (por ejemplo, una intersección de carreteras).
- TGT_FID: Id. de entidades de destino en los puntos finales de los vínculos. El valor es -1 si la ubicación está compartida por más de una entidad de destino (por ejemplo, una intersección de carreteras)
-
El parámetro Distancia de búsqueda se utiliza para buscar candidatos que coinciden. Utilice una distancia que sea lo suficientemente grande para captar la mayoría de cambios entre las entidades correspondientes, pero no demasiado para generar el procesamiento innecesario de un exceso de candidatos y obtener potencialmente coincidencias erróneas.
La coincidencia de entidades se realiza analizando la topología de las líneas, los patrones y las características geométricas. Cuando las entidades coinciden espacialmente, los vínculos de estirado "rubber sheeting" se generan desde las ubicaciones de origen correspondientes. Para las entidades de origen que son curvas paramétricas (verdaderas), los vínculos se generan en ubicaciones densificadas a lo largo de las curvas.
Si especifica una o más parejas de campos para el parámetro Campos coincidentes, los candidatos coincidentes espacialmente se comprueban frente a estos valores de campo para ayudar a determinar la coincidencia correcta. Por ejemplo, supongamos que tanto las entidades de origen como las de destino STREET_NAME contienen nombres de calles. Si una entidad de origen coincide espacialmente con dos entidades de destino, pero solo un candidato de destino tiene el mismo valor STREET_NAME que la entidad de origen, se considera la mejora concordancia. La comparación de cadenas de texto no distingue mayúsculas de minúsculas, lo que significa que Calle Mayor se considera igual que calle mayor.
-
La Tabla de concordancia de salida es opcional. Esta tabla de concordancia proporciona exhaustiva información de coincidencia de entidades, incluidos los FID de origen y destino, los grupos coincidentes, las relaciones coincidentes y el nivel de confianza de la correspondencia derivada de las condiciones coincidentes de espacio y atributo. Esta información puede servir para comprender las situaciones coincidentes y facilitar la inspección posterior, la postedición y los análisis adicionales. Para obtener más información, consulte Acerca de la geocodificación de entidades y la tabla de coincidencias.
La precisión de la coincidencia de entidades depende de la calidad de los datos y la complejidad y la similitud de las dos entradas.
Como entrada durante el procesamiento previo, debe minimizar los errores de datos y seleccionar las entidades relevantes. En general, siempre es útil que dentro de un dataset de entrada, las entidades sean topológicamente correctas, tengan una geometría válida y sean de parte simple y no duplicadas; de lo contrario, pueden producirse errores inesperados.
Se recomienda que revise los resultados y haga las correcciones necesarias. Durante la inspección posterior y la postedición, puede usar las herramientas de edición existentes para editar los vínculos, por ejemplo, para eliminar un vínculo no deseado, alterar un vínculo moviendo su vértice inicial o final o agregar un nuevo vínculo donde sea necesario. Asegúrese de actualizar los valores SRC_FID y TGT_FID según convenga.
Todas las entradas deben estar en el mismo sistema de coordenadas.
Sintaxis
Parámetro | Explicación | Tipo 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
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")
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")