Resumen
Modifica las entidades de línea de entrada mediante el ajuste espacial de sus formas, guiada por los vínculos de ajuste de bordes especificados, de modo que se conecten con las líneas en el dataset adyacente.
Ilustración
Uso
Esta herramienta está pensada para utilizarse tras la herramienta Generar vínculos de ajuste de bordes. Ajusta espacialmente las formas de las líneas de entrada, guiada por las entidades de vínculo de entrada creadas por la herramienta Generar vínculos de ajuste de bordes, de modo que se conecten correctamente con las entidades de línea adyacentes a lo largo de las áreas de borde. Las entidades de vínculo de entrada deben tener los campos SRC_FID y ADJ_FID.
Esta herramienta deriva las nuevas ubicaciones de conexión de los vínculos de ajuste de bordes y posteriormente modifica las entidades correspondientes para que sus extremos se conecten a las nuevas ubicaciones. Dependiendo de las entradas (Entidades de entrada, Entidades adyacentes y Entidades de borde) que proporcione, se determinarán las nuevas ubicaciones de conexión y las entidades relevantes se ajustarán en consecuencia. Este ajuste garantiza que las entidades coincidentes estén conectadas, tal y como se describe a continuación:
- Si solo proporciona Entidades de entrada, los extremos de los vínculos de ajuste de bordes se utilizan como las nuevas ubicaciones de conexión. Las líneas de entrada asociadas con los vínculos de ajuste de bordes (es decir, sus Id. de entidad coinciden con los valores SRC_FID de los vínculos) se ajustan de modo que finalicen en los extremos de los vínculos. Esto garantiza que se conecten con las entidades adyacentes previstas que han intervenido en la generación de los vínculos de ajuste de bordes.
- Si proporciona tanto Entidades de entrada como Entidades adyacentes, los puntos intermedios de los vínculos de ajuste de bordes se utilizan como las nuevas ubicaciones de conexión. Tanto las líneas de entrada asociadas como las líneas adyacentes asociadas (es decir, sus Id. de entidad coinciden con los valores ADJ_FID de los vínculos) están ajustadas de modo que sus extremos se conecten a los puntos intermedios de los vínculos.
- Si especifica Entidades de borde, la herramienta utiliza las ubicaciones en los bordes más cercanos a los puntos intermedios de los vínculos de ajuste de bordes como las nuevas ubicaciones de conexión. Las Entidades de entrada y las Entidades adyacentes (si se especifican) se ajustan para que sus extremos se conecten con las ubicaciones de borde calculadas.
El parámetro Método dispone de tres opciones de ajuste de borde para ajustar las entidades. Cada opción se aplica solo a las entidades de entrada o tanto a las entidades de entrada como a las entidades adyacentes, tal y como se ha descrito más arriba.
- MOVE_ENDPOINT: mueve el extremo de la línea de entrada a la nueva ubicación de conexión.
- ADD_SEGMENT: agrega un segmento recto al final de una línea de entrada para que finalice en la nueva ubicación de conexión.
- ADJUST_VERTICES: ajusta el extremo de una línea a la nueva ubicación de conexión. Los vértices restantes también se ajustan de modo que sus cambios posicionales se reduzcan gradualmente hacia el extremo opuesto de la línea.
Sintaxis
arcpy.edit.EdgematchFeatures(in_features, in_link_features, {method}, {adjacent_features}, {border_features})
Parámetro | Explicación | Tipo de datos |
in_features | Entidades de línea de entrada que se deben ajustar. | Feature Layer |
in_link_features | Entidades de línea de entrada que representan vínculos de ajuste de bordes. | Feature Layer |
method (Opcional) | Método de ajuste de bordes que se utiliza para ajustar solo las entidades de entrada o tanto las entidades de entrada como las entidades de borde a las nuevas ubicaciones de conexión.
| String |
adjacent_features (Opcional) | Entidades de línea que son adyacentes a las entidades de entrada. Si se especifican, tanto las entidades de entrada como las adyacentes se ajustan para contactar en las nuevas ubicaciones de conexión, ya sea en los puntos intermedios de los vínculos de ajuste de bordes o en las ubicaciones más cercanas a los puntos intermedios de los vínculos en las entidades de borde (si se especifican). | Feature Layer |
border_features (Opcional) | Entidades poligonales o de línea que representan los bordes entre las entidades de entrada y las adyacentes. Cuando especifica entidades de borde, tanto las entidades de entrada como las entidades adyacentes se ajustan para contactar en las nuevas ubicaciones de conexión más cercanas a los puntos intermedios de los vínculos en las entidades de borde. | Feature Layer |
Salida derivada
Nombre | Explicación | Tipo de datos |
out_feature_class | Las entidades de entrada actualizadas. | Capa de entidades |
Muestra de código
Ejemplo 1 de EdgematchFeatures (ventana de Python)
El siguiente script de la ventana de Python demuestra cómo utilizar la función EdgematchFeatures en el modo inmediato.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.EdgematchFeatures_edit("cityA_Roads.shp", "em_Links.shp"
"MOVE_ENDPOINT")
Ejemplo 2 de EdgematchFeatures (script independiente)
El siguiente script independiente de Python es un ejemplo de cómo aplicar la función EdgematchFeatures 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
# might not be desired; they are finally used to adjust input features
# (a copy is made) to connect with the matched adjacent feautures.
# 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
inFeatures = "roads1"
adjFeatures = "roads2"
gelOutput = "gelinks_out"
search_distance = "200 Feet"
match_fields = "NAME ROAD_NAME"
qaLocations = "qa_locations"
# Generate rubbersheet links
arcpy.GenerateEdgematchLinks_edit(inFeatures, adjFeatures, gelOutput, search_distance, match_fields)
# ====================================================================================
# Note 1: The result of GenerateEdgematchLinks may contain errors; see tool reference.
# Inspection and editing may be necessary to ensure correct links before using
# them for edgematching.
#
# One of the possible errors are undesired 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(gelOutput, 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 inFeatures for edgematching
inFeature_Copy = inFeatures + "_Copy"
arcpy.CopyFeatures_management(inFeatures, inFeature_Copy)
# Use the links to adjust the copy of the input features
arcpy.EdgematchFeatures_edit(inFeature_Copy, gelOutput, "MOVE_ENDPOINT")
Entornos
Información de licenciamiento
- Basic: No
- Standard: No
- Advanced: Sí