Résumé
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
Utilisation
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é, 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.
Syntaxe
arcpy.edit.AlignFeatures(in_features, target_features, search_distance, {match_fields})
Paramètre | Explication | Type 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 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
1er exemple d'utilisation de l'outil Aligner des entités (fenêtre Python)
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction AlignFeatures en mode immédiat.
import arcpy
arcpy.env.workspace = "C:/data/Countries.gdb"
arcpy.AlignFeatures_edit("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.CopyFeatures_management(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.AlignFeatures_edit(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])
Environnements
Informations de licence
- Basic: Non
- Standard: Non
- Advanced: Oui