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á diseñada para usarse según las instrucciones de 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 con las entidades de línea adyacentes a lo largo de las áreas del borde. Las entidades de vínculo de entrada deben tener los campos SRC_FID y ADJ_FID.
Esta herramienta extrae las nuevas ubicaciones de conexión de los vínculos de ajuste de bordes y posteriormente modifica las entidades correspondientes para que los extremos se conecten en 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 correspondencia. 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 identificadores 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 identificadores de entidad coinciden con los valores ADJ_FID de los vínculos) están ajustadas de modo que los extremos se conecten en los puntos intermedios de los vínculos.
- Al especificar Entidades de borde, la herramienta utiliza las ubicaciones de los bordes que están más cerca de los puntos intermedios de los vínculos de ajuste de bordes como las nuevas ubicaciones de conexión. Tanto las Entidades de entrada como las Entidades adyacentes (si se han especificado) se ajustan para que los extremos se conecten en las ubicaciones de los bordes que se han determinado.
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: Añade 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
EdgematchFeatures_edit (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 de línea o de polígono que representan los bordes entre las entidades de entrada y adyacentes. Cuando se especifican 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 |
Ejemplo de código
Ejemplo 1 de EdgematchFeatures (ventana de Python)
La siguiente secuencia de comandos de la ventana de Python muestra cómo se utiliza 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 (secuencia de comandos de Python independiente)
La siguiente secuencia de comandos de Python independiente es un ejemplo de cómo se aplica la función EdgematchFeatures en un entorno de secuencias de comandos.
# 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 sobre licencias
- ArcGIS for Desktop Basic: No
- ArcGIS for Desktop Standard: No
- ArcGIS for Desktop Advanced: Sí