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 fuentes 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 a menudo no son uniformes. Si es consciente de 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" con esta herramienta para generar vínculos de Rubbersheet, seguida de la herramienta Entidades de Rubbersheet para realizar el ajuste. Para referirse a los dos conjuntos de entidades de líneas 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 Rubbersheet normales para la entrada a la herramienta Entidades de Rubbersheet. 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 Rubbersheet 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: los 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: los 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 Rubbersheet se generan desde las ubicaciones de origen a las ubicaciones de destino 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 tienen un campo STREET_NAME que contiene 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 de STREET_NAME que la entidad de origen, se considera la mejor 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. Consulte Acerca de la geocodificación de entidades y la tabla de coincidencias para obtener información detallada.
La precisión de la coincidencia de entidades depende de la calidad de los datos, 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.
Sintaxis
GenerateRubbersheetLinks(source_features, target_features, out_feature_class, search_distance, {match_fields}, {out_match_table})
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 Rubbersheet. 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 Rubbersheet. 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 |
Salida derivada
Nombre | Explicación | Tipo de datos |
out_point_feature_class | Una clase de entidad que contiene vínculos de identidad. | Clase de entidad |
Muestra de código
Ejemplo 1 de GenerateRubbersheetLinks (ventana Python)
El siguiente script de la ventana de Python demuestra 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 (script independiente)
El siguiente script independiente es un ejemplo de cómo aplicar la función GenerateRubbersheetLinks en un entorno de scripts.
# 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
Información sobre licencias
- Basic: No
- Standard: No
- Advanced: Sí