Aligner des entités (Mise à jour)

Synthèse

Identifie les parties incohérentes des entités en entrée par rapport aux entités cible au sein d'une distance de recherche et les aligne sur les entités cible.

Illustration

Illustration de l'outil Aligner 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.

    Remarque :

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

  • Les entités en entrée et les entités cible peuvent être des entités surfaciques ou des entités de ligne. Par exemple, vous pouvez avoir une limite de comté comme ligne ou polygone, mais une partie diffère de l'axe médian du fleuve qui est la limite entre le comté et le comté voisin. Cet outil peut être utilisé afin d'aligner cette partie de la limite du comté avec l'axe médian du fleuve afin qu'ils coïncident.

  • Une entité en entrée ou une partie de cette entité devient un candidat à l'alignement lorsqu'elle est placée à la Distance de recherche spécifiée par rapport à l'entité cible. La forme du candidat doit être similaire à la forme cible ; par exemple, une entité route en entrée et une entité route cible simultanément en cours d'exécution sont plus similaires que les deux entités se croisant à 90 degrés.

  • Si spécifié, le paramètre Champs d’appariement est utilisé pour déterminer si les candidats à l’alignement sont plus susceptibles d’être les entités correspondant bien à leurs cibles. Par exemple, si deux entités en entrée se trouvent dans la distance de recherche par rapport à une entité cible, et si elles sont toutes les deux semblables en termes de forme par rapport à la cible, celle avec une valeur de champ correspondante représentera un candidat plus solide.

  • L'alignement conserve les relations topologiques existantes parmi les entités en entrée. Par exemple, si une ligne, dont les extrémités sont rattachées à d'autres lignes, est déplacée suite à l'alignement, les extrémités de toutes lignes de connexion sont déplacées de telle sorte que les lignes restent connectées.

  • Un nouveau champ, AF_CONF, est ajouté à l’entrée modifiée. Ce champ enregistre une valeur supérieure à 0 jusqu'à un maximum de 100, indiquant le niveau de confiance de l'alignement pour chaque entité. Une valeur égale à 100 indique qu'il n'y aucune ambiguïté quant au candidat pour l'alignement. La valeur diminuera en raison de plusieurs candidats potentiels trouvés, de plus grands écarts en matière de forme ou d'attributs non compatibles lorsque Champs d'appariement est spécifié. Une valeur égale à -1 est attribuée aux entités non modifiées. En raison de la complexité éventuelle des entités en entrée ou cibles, un alignement inattendu peut survenir ; par conséquent, une post-inspection peut s’avérer utile, notamment en ce qui concerne les entités avec des valeurs AF_CONF relativement basses.

Paramètres

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

Entités surfaciques ou de ligne en entrée à ajuster.

Feature Layer
Entités cible

Entités surfaciques ou lignes en entrée définies comme entités cible.

Feature Layer
Distance de recherche

Distance utilisée pour rechercher des candidats d'appariement. La distance doit être indiquée et elle doit être supérieure à zéro. Vous pouvez choisir une unité préférée. Par défaut, l'unité de l'entité est spécifiée.

Linear Unit
Champs d'appariement
(Facultatif)

Champs des entités en entrée ou cible. Si cette option est renseignée, des candidats à l'appariement sont recherchés dans chaque paire de champs afin de déterminer la correspondance adéquate.

Value Table

Sortie obtenue

ÉtiquetteExplicationType de données
Entités en sortie

Entités en entrée mises à jour.

Feature Layer

arcpy.edit.AlignFeatures(in_features, target_features, search_distance, {match_fields})
NomExplicationType de données
in_features

Entités surfaciques ou de ligne en entrée à ajuster.

Feature Layer
target_features

Entités surfaciques ou lignes en entrée définies comme entités cible.

Feature Layer
search_distance

Distance utilisée pour rechercher des candidats d'appariement. La distance doit être indiquée et elle doit être supérieure à zéro. Vous pouvez choisir une unité préférée. Par défaut, l'unité de l'entité est spécifiée.

Linear Unit
match_fields
[[source_field, target_field],...]
(Facultatif)

Champs des entités en entrée ou cible. Si cette option est renseignée, des candidats à l'appariement sont recherchés dans chaque paire de champs afin de déterminer la correspondance adéquate.

Value Table

Sortie obtenue

NomExplicationType de données
out_feature_class

Entités en entrée mises à jour.

Feature Layer

Exemple de code

1er exemple d'utilisation de l'outil Aligner des entités (fenêtre Python)

La fenêtre de script Python suivante illustre l’utilisation de la fonction AlignFeatures en mode immédiat.

import arcpy
arcpy.env.workspace = "C:/data/Countries.gdb"
arcpy.edit.AlignFeatures("countryA_border", "target_border", "25 Feet")
2ème exemple d'utilisation de l'outil Aligner des entités (script autonome)

Le script autonome suivant est un exemple d’application de la fonction AlignFeatures dans un environnement de scripts.

import arcpy
import os

# all input data are in country.gdb and output will also go to this gdb
arcpy.env.workspace = os.path.join(os.getcwd(), "country.gdb")

try:
    in_features_orig = "common_border"
    in_features_copy = "common_border1"
    
    # Make a copy of the original data 
    arcpy.management.CopyFeatures(in_features_orig, in_features_copy)
    
    # Features to which input will be aligned
    target_features = "country1_border"
    
    search_dist = "100 Meters"
    match_fields = "A_field B_field"
    
    arcpy.edit.AlignFeatures(in_features_copy, target_features, search_dist, match_fields)
    
except arcpy.ExecuteError as aex:
    print(arcpy.GetMessages(2))
    
except Exception as ex:
    print(ex.args[0])

Informations de licence

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

Rubriques connexes