Zusammenfassung
Ermittelt innerhalb einer Suchentfernung inkonsistente Teile der Eingabe-Features gegen die Ziel-Features und richtet diese Teile auf die Ziel-Features aus.
Abbildung
Verwendung
Die Eingabe- und Ziel-Features können Linien- oder Polygon-Features sein. Beispiel: Sie haben eine Landkreisgrenze als Linie oder Polygon, ein Teil davon unterscheidet sich jedoch von der Mittelachse des Flusses, der als Grenze zwischen diesem und dem benachbarten Landkreis gilt. Mit diesem Werkzeug kann dieser Teil der Landkreisgrenze an der Mittelachse des Flusses ausgerichtet werden, sodass sie lagegleich sind.
Ein Eingabe-Feature bzw. ein Teil davon eignet sich zur Ausrichtung, wenn es bzw. er innerhalb der Suchentfernung zum Ziel-Feature liegt. Das geeignete Shape muss dem Ziel-Shape entsprechen. Ein Eingabe-Straßen-Feature und ein Ziel-Straßen-Feature, die parallel verlaufen, ähneln sich beispielsweise stärker als die beiden Features, die sich in einem 90-Grad-Winkel kreuzen.
Falls angegeben, wird die Option Felder abgleichen verwendet, um zu bestimmen, ob die Kandidaten für die Ausrichtung mit höherer Wahrscheinlichkeit die korrekten Abgleich-Features für ihre Ziele sind. Wenn beispielsweise zwei Eingabe-Features innerhalb der Suchentfernung zu einem Ziel-Feature gefunden werden und beide eine ähnliche Form wie das Ziel haben, ist das Feature mit einem übereinstimmenden Feldwert ein stärkerer Kandidat.
Durch die Ausrichtung werden vorhandene topologische Beziehungen zwischen den Eingabe-Features beibehalten. Beispiel: Wenn eine Linie, deren Endpunkte mit anderen Linien verbunden sind, aufgrund der Ausrichtung bewegt wird, werden die Endpunkte aller Verbindungslinien bewegt, sodass die Linien verbunden bleiben.
Ein neues Feld, AF_CONF, wird zur geänderten Eingabe hinzugefügt. In diesem Feld wird ein Wert größer als 0 bis zu einem Maximum von 100 gespeichert. Damit wird das Konfidenzniveau der Ausrichtung für jedes Feature angegeben. Ein Wert von 100 bedeutet, dass der Kandidat für die Ausrichtung eindeutig erkennbar ist. Der Wert nimmt ab, wenn mehrere potenzielle Kandidaten gefunden werden, größere Unterschiede im Shape vorliegen oder Attribute ohne Übereinstimmung vorhanden sind, wenn Felder abgleichen angegeben wird. Ein Wert von -1 wird unveränderten Features zugewiesen. Aufgrund der möglichen Komplexität der Eingabe- und Ziel-Features kann es zu einer unerwarteten Ausrichtung kommen. Daher kann eine nachträgliche Überprüfung notwendig sein, insbesondere bei Features mit relativ niedrigen Werten für AF_CONF.
Syntax
arcpy.edit.AlignFeatures(in_features, target_features, search_distance, {match_fields})
Parameter | Erklärung | Datentyp |
in_features | Eingabe-Linien- oder -Polygon-Features, die angepasst werden sollen. | Feature Layer |
target_features | Eingabelinien oder -Polygone als Ziel-Features. | Feature Layer |
search_distance | Die für die Suche nach Übereinstimmungskandidaten verwendete Entfernung. Die Entfernung muss angegeben und größer als null sein. Sie können eine bevorzugte Einheit auswählen. Standardmäßig wird die Feature-Einheit verwendet. | Linear Unit |
match_fields [[source_field, target_field],...] (optional) | Felder aus Eingabe- oder Ziel-Features. Falls angegeben, wird jedes Feldpaar auf Übereinstimmungskandidaten geprüft, um die Ermittlung des richtigen Treffers zu ermöglichen. | Value Table |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
out_feature_class | Die aktualisierten Eingabe-Features. | Feature-Layer |
Codebeispiel
AlignFeatures: Beispiel 1 (Python-Fenster)
Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion AlignFeatures im unmittelbaren Modus verwendet wird.
import arcpy
arcpy.env.workspace = "C:/data/Countries.gdb"
arcpy.AlignFeatures_edit("countryA_border", "target_border", "25 Feet")
AlignFeatures: Beispiel 2 (eigenständiges Skript)
Das folgende eigenständige Skript ist ein Beispiel für die Anwendung der Funktion AlignFeatures in einer Skriptumgebung.
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])
Umgebungen
Lizenzinformationen
- Basic: Nein
- Standard: Nein
- Advanced: Ja