Résumé
Modifie les entités linéaires en entrée en ajustant spatialement leurs formes, guidé par les liens d'ajustement des bords spécifiés, afin qu'elles soient connectées avec les lignes du jeu de données adjacent.
Illustration
Utilisation
Cet outil est destiné à être utilisé après l’outil Générer des liens d’ajustement des segments. Il ajuste spatialement les formes des lignes en entrée, guidé par les entités de liens en entrée créées par l’outil Générer des liens d’ajustement des segments, afin qu’elles soient connectées correctement aux entités linéaires adjacentes le long des zones limites. Les entités de liens en entrée doivent comporter des champs SRC_FID et ADJ_FID.
Cet outil déduit de nouveaux emplacements de connexion à partir des liens d’ajustement des segments, puis modifie les entités correspondantes de sorte que leurs extrémités se raccordent aux nouveaux emplacements. Selon les entrées (Input Features (Entités en entrée), Adjacent Features (Entités adjacentes) et Border Features (Entités de bordure)) que vous fournissez, les nouveaux emplacements de connexion sont déterminés et les entités pertinentes ajustées en conséquence. Cet ajustement garantit que les entités appariées sont connectées, comme décrit ci-après :
- Lorsque vous fournissez uniquement des entités en entrée (champ Input Features), les extrémités des liens d’ajustement des segments sont considérées comme les nouveaux emplacements de connexion. Les lignes en entrée associées aux liens d’ajustement des segments (leurs identifiants d’entités correspondent aux valeurs SRC_FID des liens) sont ajustées de manière à prendre fin aux extrémités des liens. Cela garantit qu’elles sont connectées aux entités adjacentes prévues, qui auraient dû participer à la génération de liens d’ajustement des segments.
- Lorsque vous fournissez à la fois des entités en entrée (champ Input Features) et des entités adjacentes (champ Adjacent Features), les points du milieu des liens d’ajustement des segments sont considérés comme les nouveaux emplacements de connexion. Les lignes en entrée associées et les lignes adjacentes associées (leurs identifiants d’entités correspondent aux valeurs ADJ_FID des liens) sont ajustées de manière à ce que leurs extrémités se raccordent aux milieux des liens.
- Lorsque vous spécifiez les entités de bordure (champ Border Features), l’outil utilise les emplacements sur les bordures qui sont les plus proches des milieux des liens d’ajustement des segments comme nouveaux emplacements de connexion. Les entités en entrée (Input Features) et les entités adjacentes (Adjacent Features) (si elles sont spécifiées) sont ajustées de façon à ce que leurs extrémités se raccordent aux emplacements de bordures calculés.
Le paramètre Method (Méthode) offre trois options d’ajustement des segments pour ajuster les entités. Chaque option s'applique soit uniquement aux entités en entrée, soit à la fois aux entités en entrée et aux entités adjacentes, comme expliqué ci-dessus.
- Move endpoint (Déplacer l’extrémité) (MOVE_ENDPOINT dans Python) : déplace uniquement l’extrémité de la ligne en entrée vers le nouvel emplacement de connexion.
- Add segment (Ajouter un segment) (ADD_SEGMENT dans Python) : ajoute un segment droit à l’extrémité de la ligne en entrée pour qu’elle prenne fin au nouvel emplacement de connexion.
- Adjust vertices (Ajuster les sommets) (ADJUST_VERTICES dans Python) : ajuste l’extrémité d’une ligne au nouvel emplacement de connexion. Les sommets restants sont également ajustés de manière à ce que leurs changements de position soient progressivement réduits vers l'extrémité opposée de la ligne.
Attention :
Cet outil modifie les données en entrée. Reportez-vous à la rubrique Outils qui ne génèrent pas de jeux de données en sortie pour obtenir plus d’informations, ainsi que des stratégies pour éviter les modifications de données indésirables.
Remarque :
Toutes les entrées doivent être exprimées dans le même système de coordonnées.
Syntaxe
EdgematchFeatures(in_features, in_link_features, {method}, {adjacent_features}, {border_features})
Paramètre | Explication | Type de données |
in_features | Entités linéaires en entrée à ajuster. | Feature Layer |
in_link_features | Entités linéaires en entrée représentant les liens d'ajustement des bords. | Feature Layer |
method (Facultatif) | Méthode d'ajustement des bords à utiliser pour ajuster soit uniquement les entités en entrée, soit à la fois les entités en entrée et les entités adjacentes, aux nouveaux emplacements de connexion.
| String |
adjacent_features (Facultatif) | Entités linéaires qui sont adjacentes aux entités en entrée. Si elles sont spécifiées, les entités en entrée et les entités adjacentes sont ajustées de manière à se rejoindre à leurs nouveaux emplacements, soit les milieux des liens d’ajustement des segments, soit les emplacements les plus proches des milieux des liens sur les entités de bordure (si elles sont spécifiées). | Feature Layer |
border_features (Facultatif) | Entités linéaires ou surfaciques représentant des bordures entre les entités en entrée et les entités adjacentes. Lorsque vous spécifiez des entités de bordure, les entités en entrée et les entités adjacentes sont ajustées de manière à se rejoindre aux nouveaux emplacements de connexion les plus proches des milieux des liens sur les entités de bordure. | Feature Layer |
Sortie dérivée
Nom | Explication | Type de données |
out_feature_class | Entités en entrée mises à jour. | Couche d'entités |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction EdgematchFeatures en mode immédiat.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.EdgematchFeatures_edit("cityA_Roads.shp", "em_Links.shp"
"MOVE_ENDPOINT")
Le script Python autonome suivant est un exemple d’application de la fonction EdgematchFeatures dans un environnement 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")
Environnements
Informations de licence
- Basic: Non
- Standard: Non
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?