Etiqueta | Explicación | Tipo de datos |
Entidades de origen | Entidades de línea que se utilizarán como entidades de origen de ajuste de bordes. Todos los vínculos de ajuste de bordes empiezan en entidades de origen. | Feature Layer |
Entidades adyacentes | Entidades de línea que son adyacentes a las entidades de origen. Todos los vínculos de ajuste de borde finalizan en entidades adyacentes. | Feature Layer |
Clase de entidad de salida | Clase de entidad de salida que contiene líneas que representan vínculos de ajuste de bordes. | Feature Class |
Distancia de búsqueda | La distancia que se utilizará 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 |
Campos de coincidencia (Opcional) | Campos de entidades de origen y de destino en los que los campos de destino provienen de entidades adyacentes. Si se proporciona, se comprobarán los candidatos coincidentes con cada pareja de campos con el fin de ayudar a determinar la concordancia adecuada. | Value Table |
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 separados, tales como carreteras de países vecinos, pueden presentar huecos o desplazarse a lo largo de sus bordes coincidentes debido a una captura de datos incoherente u otras razones. Puede resolver el problema de ajuste de bordes entre dos datasets a la vez con esta herramienta para generar vínculos de ajuste de bordes. A continuación, utilice la herramienta Entidades de ajuste de bordes para ajustar las entidades de forma que conecten. 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.
Cuando dos entidades correspondientes desconectadas a lo largo del área del eje están dentro de la distancia de búsqueda de cada una, pero sus extremos están separados por una distancia superior a la distancia de búsqueda, no se tienen en cuenta para el ajuste de bordes.
Nota:
Todas las entradas deben estar en el mismo sistema de coordenadas.
La clase de entidad de salida utiliza el mismo sistema de coordenadas que la 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: el Id. de la entidad de origen en los puntos iniciales de los vínculos.
- ADJ_FID: el Id. de la entidad adyacente en los puntos finales de los vínculos.
- EM_CONF: valores que representan el nivel de confianza del ajuste de bordes. Estos valores representan el número de candidatos encontrados dentro de la distancia de búsqueda, las situaciones de coincidencia de atributos y las continuidades entre entidades origen y adyacentes. El valor fluctúa entre mayor que 0 y 100, donde 100 representa el mayor nivel de confianza. Cuanto mayor sea el valor EM_CONF, mayor será la probabilidad de que el vínculo sea correcto. Consulte ejemplos en Sobre el 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.
Una vez que se han encontrado candidatos para el ajuste, se analizan las características de sus formas. Un ajuste se determina entre la entidad origen y las entidades adyacentes que constituyan la mejor continuación. Se genera una línea que representa el vínculo de ajuste de borde desde el extremo de la línea de origen hasta el extremo de la línea adyacente ajustada.
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 cada extremo para generar un mapa parecido al de la ilustración de arriba.
Si especifica uno o varios pares de campos para el parámetro Campos coincidentes, las entidades coincidentes en el espacio se compararán con los valores de campo. Por ejemplo, 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 en el espacio con dos entidades adyacentes, pero solo un candidato adyacente tiene el mismo valor de STREET_NAME que la entidad de origen, este 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.
Las condiciones de coincidencia de atributo modifican los valores del campo EM_CONF como se ha descrito anteriormente.
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.
Minimice los errores de datos y seleccione las entidades relevantes. En general, es útil si las entradas de un dataset de entrada son topológicamente correctas, tienen una geometría válida y son de una sola parte y no están duplicadas; de lo contrario, pueden producirse resultados inesperados.
Se recomienda que revise los resultados y haga las correcciones necesarias. Durante la inspección posterior y la posedición, puede utilizar las herramientas de edición existentes para editar los vínculos, por ejemplo, para eliminar un vínculo, alterar un vínculo moviendo su vértice inicial o final, o agregar un nuevo vínculo. Actualice los valores de los campos SRC_FID y TGT_FID fsegún convenga.
Parámetros
arcpy.edit.GenerateEdgematchLinks(source_features, adjacent_features, out_feature_class, search_distance, {match_fields})
Nombre | Explicación | Tipo de datos |
source_features | Entidades de línea que se utilizarán 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 que son adyacentes a las entidades de origen. Todos los vínculos de ajuste de borde finalizan en entidades adyacentes. | Feature Layer |
out_feature_class | Clase de entidad de salida que contiene líneas que representan vínculos de ajuste de bordes. | Feature Class |
search_distance | La distancia que se utilizará 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 en los que los campos de destino provienen de entidades adyacentes. Si se proporciona, se comprobarán los candidatos coincidentes con cada pareja de campos con el fin de ayudar a determinar la concordancia adecuada. | Value Table |
Muestra de código
El siguiente script de la ventana de Python demuestra cómo utilizar la función GenerateEdgematchLinks de modo inmediato.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.edit.GenerateEdgematchLinks("countyA_Roads.shp",
"countyB_Roads.shp", "em_Links.shp"
"25 Feet")
El siguiente script independiente es un ejemplo simple de cómo aplicar la función GenerateEdgematchLinks en un entorno de scripts.
"""
Name: EdgematchFeatures_example_script2.py
Description: Performs edgematching spatial adjustment using links produced by
GenerateEdgematchLinks. The links go from input features to adjacent
features. The links are then checked for intersecting conditions, which
may not be desired. They are then used to adjust input features
(a copy is made) to connect to the matched adjacent features.
"""
# Import system modules.
import arcpy
# Set environment settings.
arcpy.env.overwriteOutput = True
arcpy.env.workspace = r"D:\conflationTools\ScriptExamples\data.gdb"
# Set local variables.
inFeatures = "roads1"
adjFeatures = "roads2"
gelOutput = "gelinks_out"
search_distance = "200 Feet"
match_fields = "NAME ROAD_NAME"
qaLocations = "qa_locations"
# Generate rubbersheet links.
arcpy.edit.GenerateEdgematchLinks(inFeatures, adjFeatures, gelOutput, search_distance, match_fields)
"""
Note 1: The result of GenerateEdgematchLinks may contain errors; see the tool reference.
Inspection and editing may be necessary to ensure correct links before using
them for edgematching.
One of the possible errors is 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.analysis.Intersect(gelOutput, qaLocations, "", "", "POINT")
# Delete coincident points.
arcpy.management.DeleteIdentical(qaLocations, "Shape")
"""
Note 2: You can manually inspect locations in qaLocations and delete or
modify links as needed.
"""
# Make a copy of the inFeatures for edgematching.
inFeature_Copy = inFeatures + "_Copy"
arcpy.management.CopyFeatures(inFeatures, inFeature_Copy)
# Use the links to adjust the copy of the input features.
arcpy.edit.EdgematchFeatures(inFeature_Copy, gelOutput, "MOVE_ENDPOINT")
Información de licenciamiento
- Basic: No
- Standard: No
- Advanced: Sí