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

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’appariement des contours. 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 segments, puis modifie les entités correspondantes de sorte que leurs extrémités se raccordent aux nouveaux emplacements. Selon les entrées (Entités en entrée, Entités adjacentes et 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 assure la connexion entre les entités appariées, comme décrit ci-dessous :

    • Lorsque vous fournissez uniquement des entités en entrée (champ Entités en entrée), 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’appariement des contours (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 Entités en entrée) et des entités adjacentes (champ Entités adjacentes), 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 Entités de bordure), 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 et les 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 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.

    • Déplacer l’extrémité (MOVE_ENDPOINT dans Python) : déplace uniquement l’extrémité de la ligne en entrée vers la nouvelle localisation de connexion.
    • 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 à la nouvelle localisation de connexion.
    • Ajuster les sommets (ADJUST_VERTICES dans Python) : ajuste l’extrémité d’une ligne à la nouvelle localisation 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.

Paramètres

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

Entités linéaires en entrée à ajuster.

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)

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.

  • Déplacer l'extrémitéDéplace l’extrémité d’une ligne vers le nouvel emplacement de connexion. Il s’agit de l’option par défaut.
  • Ajouter un segmentAjoute un segment droit à l'extrémité d'une ligne pour qu'elle prenne fin au nouvel emplacement de connexion.
  • Ajuster les sommetsAjuste 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.
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’appariement des contours, 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.edit.EdgematchFeatures(in_features, in_link_features, {method}, {adjacent_features}, {border_features})
NomExplicationType 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.

  • MOVE_ENDPOINTDéplace l’extrémité d’une ligne vers le nouvel emplacement de connexion. Il s’agit de l’option par défaut.
  • ADD_SEGMENTAjoute un segment droit à l'extrémité d'une ligne pour qu'elle prenne fin au nouvel emplacement de connexion.
  • ADJUST_VERTICESAjuste 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.
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’appariement des contours, 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)

La fenêtre de script Python suivante 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
#              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")

Informations de licence

  • Basic: Non
  • Standard: Non
  • Advanced: Oui

Rubriques connexes