Resumen
Busca entidades de línea coincidentes pero desconectadas a lo largo de los bordes del área de datos de origen y su área de datos adyacente y genera vínculos de ajuste de bordes desde las líneas de origen a las líneas adyacentes coincidentes.
Ilustración
Uso
Las entidades de línea de datasets adyacentes separadas, como carreteras de países vecinos, pueden presentar espacios o desviaciones a lo largo de sus bordes de contacto debido a conjuntos de datos incoherentes, y otros motivos. Para solucionar en cualquier momento el problema del ajuste de bordes entre dos datasets, puede usar esta herramienta para generar vínculos de ajuste de bordes y, seguidamente, la herramienta Entidades de ajuste de bordes para ajustar las entidades para que puedan conectarse. Para referirse a los dos conjuntos de entidades de línea se utilizan los términos entidades de origen y entidades adyacentes. Esta herramienta busca las líneas de origen y adyacentes separadas pero correspondientes dentro de una distancia de búsqueda especificada y genera líneas que representen vínculos de ajuste de bordes (conocidos como vínculos de desplazamiento) entre ellos.
Allí donde dos entidades correspondientes desconectadas a lo largo del área de borde se encuentran dentro de la distancia de búsqueda, pero sus extremos están fuera de la distancia de búsqueda, no se tienen en cuenta para al ajuste de bordes.
La clase de entidad de salida utiliza el mismo sistema de coordenadas como entrada.
La clase de entidad de salida contiene entidades de línea que representan vínculos de ajuste de bordes con los campos siguientes.
- SRC_FID: Id. de entidades de origen en los puntos iniciales de los vínculos.
- ADJ_FID: Id. de entidades adyacentes en los puntos finales de los vínculos.
- EM_CONF: valores que representan el nivel de confianza del ajuste de bordes. Estos valores dan cuenta del número de candidatos presentes en cada distancia de búsqueda, las situaciones de coincidencia de atributos y las continuidades entre las entidades de origen y adyacentes. El valor se extiende de mayor que 0 a 100, siendo 100 el nivel de confianza más alto. Cuanto mayor sea el valor EM_CONF, más posibilidades existen de que el vínculo sea correcto. Vea más ejemplos en Acerca ajuste de bordes.
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.
Cuando se encuentran candidatos de coincidencia, las características de sus formas se analizan. Se determina una coincidencia entre las entidades de origen y adyacentes que conformen la mejor continuación. Se genera una línea que representa el vínculo de ajuste de bordes desde el final de la línea de origen hasta el final la línea adyacente 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.
Si especifica una o más parejas de campos para el parámetro Campos coincidentes, las entidades coincidentes espacialmente se comprueban frente a los valores. Por ejemplo, supongamos que tanto las entidades base como las de actualización tienen un campo STREET_NAME que contiene nombres de calles. Si una entidad de origen coincide espacialmente con dos entidades adyacentes, pero solo un candidato adyacente 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.
Las condiciones de coincidencia de atributos afectan a los valores en el campo EM_CONF tal y como se describe arriba.
La precisión del ajuste de bordes depende de la calidad de los datos y la complejidad a lo largo de los bordes 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
GenerateEdgematchLinks_edit (source_features, adjacent_features, out_feature_class, search_distance, {match_fields})
Parámetro | Explicación | Tipo de datos |
source_features | Entidades de línea como entidades de origen de ajuste de bordes. Todos los vínculos de ajuste de bordes empiezan en entidades de origen. | Feature Layer |
adjacent_features | Entidades de línea adyacentes a las entidades de origen. Todos los vínculos de ajuste de borde finalizan en entidades adyacentes. | Feature Layer |
out_feature_class | La clase de entidad de salida contiene líneas que representan vínculos de ajuste de bordes. | 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) | Campos de entidades de origen y de destino, donde los campos de destino proceden de las entidades adyacentes. Si se especifican, cada pareja de campos se comprueba para candidatos coincidentes con el fin de ayudar a determinar la concordancia adecuada. | Value Table |
Ejemplo de código
Ejemplo 1 de GenerateEdgematchLinks (ventana de Python)
La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la función GenerateEdgematchLinks en el modo inmediato.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.GenerateEdgematchLinks_edit("countyA_Roads.shp",
"countyB_Roads.shp", "em_Links.shp"
"25 Feet")
Ejemplo 2 de GenerateEdgematchLinks (secuencia de comandos de Python independiente)
La siguiente secuencia de comandos independiente es un ejemplo simple de cómo aplicar la función GenerateEdgematchLinks 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
Información sobre licencias
- ArcGIS for Desktop Basic: No
- ArcGIS for Desktop Standard: No
- ArcGIS for Desktop Advanced: Sí