Ajuster les bords des entités (Mise à jour)

Synthèse

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.

En savoir plus sur l’ajustement des bords

Illustration

Illustration de l’outil Ajuster les bords des entités

Utilisation

    Attention :

    Cet outil modifie les données en entrée. Pour plus d’informations et connaître les stratégies permettant d’empêcher les modifications de données indésirables, reportez-vous à la rubrique Outils qui modifient ou mettent à jour les données en entrée.

  • Cet outil est destiné à être utilisé après l’outil Générer des liens d’ajustement des bords. 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 les champs SRC_FID et ADJ_FID.

  • Remarque :

    Toutes les entrées doivent être exprimées dans le même système de coordonnées.

  • Cet outil déduit de nouveaux emplacements de connexion à partir des liens d’ajustement des bords, puis modifie les entités correspondantes de sorte que leurs extrémités se raccordent aux nouveaux emplacements. Selon les paramètres en entrée (Entités en entrée, Entités adjacentes et Entités de bordure) spécifiés, les nouveaux emplacements de connexion sont déterminés et les entités pertinentes ajustées en conséquence. Cet ajustement assure la connexion entre les entités appariées, comme décrit ci-dessous :

    • Lorsque seul le paramètre Entités en entrée est spécifié, les extrémités des liens d’ajustement des bords sont utilisées comme les nouveaux emplacements de connexion. Les lignes en entrée associées aux liens d’ajustement des bords (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 bords.
    • Lorsque les paramètre Entités en entrée et Entités adjacentes sont spécifiés, les points du milieu des liens d’ajustement des bords sont utilisé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 façon à ce que leurs extrémités se raccordent aux milieux des liens.
    • Lorsque le paramètre Entités de bordure est spécifié, l’outil utilise les emplacements sur les bords qui sont les plus proches des milieux des liens d’ajustement des bords comme nouveaux emplacements de connexion. Les valeurs des paramètres Entités en entrée et Entités adjacentes (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 Méthode offre trois options d’ajustement des bords 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.

    • Déplacer l’extrémité : l’extrémité de la ligne en entrée sera déplacée vers le nouvel emplacement de connexion.
    • Ajouter un segment : un segment droit sera ajouté à l’extrémité de la ligne en entrée pour qu’elle prenne fin au nouvel emplacement de connexion.
    • Ajuster les sommets : l’extrémité d’une ligne sera ajustée au nouvel emplacement de connexion. Les sommets restants seront également ajustés de façon à ce que leurs changements de position soient progressivement réduits vers l’extrémité opposée de la ligne.

Paramètres

ÉtiquetteExplicationType de données
Entités en entrée

Entités linéaires en entrée qui seront ajustées.

Feature Layer
Entités de liens en entrée

Entités linéaires en entrée représentant les liens d’ajustement des bords.

Feature Layer
Méthode
(Facultatif)

Spécifie la méthode d’ajustement des bords qui sera utilisée pour ajuster les entités en entrée uniquement ou alors les entités en entrée et les entités adjacentes, aux nouveaux emplacements de connexion.

  • Déplacer l'extrémitéL’extrémité d’une ligne sera déplacée vers le nouvel emplacement de connexion. Il s’agit de l’option par défaut.
  • Ajouter un segmentUn segment droit sera ajouté à l’extrémité d’une ligne pour qu’elle prenne fin au nouvel emplacement de connexion.
  • Ajuster les sommetsL’extrémité d’une ligne sera ajustée au nouvel emplacement de connexion. Les sommets restants seront également ajustés de façon à ce que leurs changements de position soient progressivement réduits vers l’extrémité opposée de la ligne.
String
Entités adjacentes
(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 nouvelles localisations, soit les milieux des liens d’ajustement des bords, soit les localisations les plus proches des milieux des liens sur les entités de bordure (si elles sont spécifiées).

Feature Layer
Entités de bordure
(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 obtenue

ÉtiquetteExplicationType de données
Entités en entrée mises à jour

Entités en entrée mises à jour.

Feature Layer

arcpy.management.EdgematchFeatures(in_features, in_link_features, {method}, {adjacent_features}, {border_features})
NomExplicationType de données
in_features

Entités linéaires en entrée qui seront ajustées.

Feature Layer
in_link_features

Entités linéaires en entrée représentant les liens d’ajustement des bords.

Feature Layer
method
(Facultatif)

Spécifie la méthode d’ajustement des bords qui sera utilisée pour ajuster les entités en entrée uniquement ou alors les entités en entrée et les entités adjacentes, aux nouveaux emplacements de connexion.

  • MOVE_ENDPOINTL’extrémité d’une ligne sera déplacée vers le nouvel emplacement de connexion. Il s’agit de l’option par défaut.
  • ADD_SEGMENTUn segment droit sera ajouté à l’extrémité d’une ligne pour qu’elle prenne fin au nouvel emplacement de connexion.
  • ADJUST_VERTICESL’extrémité d’une ligne sera ajustée au nouvel emplacement de connexion. Les sommets restants seront également ajustés de façon à ce que leurs changements de position soient progressivement réduits vers l’extrémité opposée de la ligne.
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 nouvelles localisations, soit les milieux des liens d’ajustement des bords, soit les localisations 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 obtenue

NomExplicationType de données
out_feature_class

Entités en entrée mises à jour.

Feature Layer

Exemple de code

Exemple 1 d'utilisation de l'outil Ajuster les bords des entités (fenêtre Python)

Le script ci-dessous pour la fenêtre Python illustre l’utilisation de la fonction EdgematchFeatures en mode immédiat.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.edit.EdgematchFeatures("cityA_Roads.shp", "em_Links.shp"
                             "MOVE_ENDPOINT")
Exemple 2 d’utilisation de l’outil EdgematchFeatures (script autonome)

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
             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")