Beschriftung | Erläuterung | Datentyp |
Quell-Features | Die Linien-Features, die als Quell-Features für die Kantenanpassung verwendet werden. Alle Kantenanpassungs-Links beginnen an Quell-Features. | Feature Layer |
Benachbarte Features | Die Linien-Features, die an die Quell-Features grenzen. Alle Kantenanpassungs-Links enden an abgeglichenen benachbarten Features. | Feature Layer |
Ausgabe-Feature-Class | Die Ausgabe-Feature-Class mit Linien, die Kantenanpassungs-Links darstellen. | Feature Class |
Suchentfernung | Die Entfernung, die für die Suche nach Übereinstimmungskandidaten verwendet werden soll. Die Entfernung muss angegeben und größer als null sein. Sie können eine bevorzugte Einheit auswählen. Die Standardeinstellung ist die Einheit des Features. | Linear Unit |
Felder für Abgleich (optional) | Die Felder aus Quell- und Ziel-Features, wobei die Zielfelder aus benachbarten Features stammen. Falls angegeben, wird jedes Feldpaar auf Übereinstimmungskandidaten geprüft, um die Ermittlung des richtigen Treffers zu ermöglichen. | Value Table |
Zusammenfassung
Sucht übereinstimmende, jedoch nicht verbundene Linien-Features entlang der Kanten des Quelldatenbereichs und des zugehörigen Bereichs von benachbarten Daten und generiert Kantenanpassungs-Links von den Quell-Linien zu den abgeglichenen benachbarten Linien.
Abbildung
Verwendung
Linien-Features von separaten benachbarten Datasets, wie Straßen von Nachbarländern, können Lücken aufweisen oder entlang der aufeinandertreffenden Kanten aufgrund von nicht einheitlichen Datenerfassungen oder aus anderen Gründen verschoben sein. Sie können das Problem der Kantenanpassung zwischen zwei Datasets lösen, indem Sie mit diesem Werkzeug Kantenanpassungs-Links erstellen. Passen Sie anschließend mit dem Werkzeug Kantenanpassung für Features die Features so an, dass sie miteinander verbunden werden. Die zwei Linien-Feature-Gruppen werden als Quellen-Features und benachbarte Features bezeichnet. Dieses Werkzeug ermittelt nicht verbundene, doch einander entsprechende Quellen- und benachbarte Linien innerhalb der angegebenen Suchentfernung und generiert Linien, die Kantenanpassungs-Links entsprechen (auch als Versatz-Links bezeichnet), zwischen diesen.
Wenn sich zwei nicht verbundene, einander entsprechende Features entlang des Kantenbereichs innerhalb der Suchentfernung befinden, ihre Endpunkte jedoch außerhalb der Suchentfernung liegen, werden sie bei der Kantenanpassung nicht berücksichtigt.
Hinweis:
Alle Eingaben müssen sich im selben Koordinatensystem befinden.
Für Ausgabe-Feature-Classes wird dasselbe Koordinatensystem wie in den Eingaben verwendet.
Die Ausgabe-Feature-Class enthält Linien-Features, die Kantenanpassungs-Links mit den folgenden Feldern darstellen:
- SRC_FID: Die Quell-Feature-ID an den Startpunkten der Links.
- ADJ_FID: Die ID des benachbarten Features an den Endpunkten der Links.
- EM_CONF: Diese Werte stellen das Konfidenzniveau der Kantenanpassung dar. Sie berücksichtigen die Anzahl der Kandidaten, die innerhalb der Suchentfernung gefunden werden, die Attributübereinstimmungssituationen und Kontinuitäten zwischen den Quellen- und benachbarten Features. Die Werte müssen im Bereich größer 0 bis 100 liegen, wobei 100 das höchste Konfidenzniveau darstellt. Je höher der EM_CONF-Wert, desto größer ist die Wahrscheinlichkeit, dass der Link richtig ist. Beispiele dazu finden Sie unter Kantenanpassung.
Der Parameter Suchentfernung wird zum Suchen von Übereinstimmungskandidaten verwendet. Verwenden Sie eine Entfernung, die lang genug ist, um die meisten Verschiebungen zwischen übereinstimmenden Features zu erfassen, jedoch nicht so lang, dass dadurch zu viele Kandidaten unnötig verarbeitet und potenziell falsche Treffer erzielt werden.
Nachdem Übereinstimmungskandidaten ermittelt wurden, werden die Eigenschaften ihrer Shapes analysiert. Eine Übereinstimmung erfolgt zwischen den Quellen- und benachbarten Features mit der besten Kontinuität. Eine Linie, die den Kantenanpassungs-Link darstellt, wird vom Ende der Quell-Linie bis zum Ende der übereinstimmenden benachbarten Linie generiert.
Diese Links können Sie so wie beliebige andere Linien-Features in einer Karte anzeigen. Die Linien können mit einem Pfeil an jedem Ende gezogen werden, um eine Karte ähnlich der in der Abbildung oben gezeigten zu erstellen.
Wenn Sie ein oder mehrere Feldpaare für den Parameter Felder für Abgleich angeben, werden räumlich abgeglichene Features mit den Feldwerten verglichen. Beispiel: Das Aktualisierungs-Feature und das Basis-Feature enthalten beide das Feld STREET_NAME mit Straßennamen. Wenn ein Quell-Feature räumlich mit zwei benachbarten Features übereinstimmt, jedoch nur ein benachbarter Kandidat über denselben STREET_NAME-Wert wie das Quell-Feature verfügt, handelt es sich dabei um die bessere Übereinstimmung. Beim Vergleich der Textzeichenfolgen wird nicht zwischen Groß- und Kleinschreibung unterschieden. "First St" und "first st" werden deshalb als gleich betrachtet.
Die Attributabgleichsbedingungen wirken sich auf die Werte im EM_CONF-Feld wie oben beschrieben aus.
Die Genauigkeit der Kantenanpassung ist abhängig von der Qualität und Komplexität der Daten entlang der Kanten der zwei Eingaben.
Während der Vorverarbeitung müssen Sie die Datenfehler minimieren und relevante Features als Eingabe auswählen. Im Allgemeinen ist es hilfreich, wenn die Features in einem Eingabe-Dataset topologisch richtig sind, eine gültige Geometrie aufweisen und Singlepart und nicht doppelt sind. Andernfalls können unerwartete Fehler auftreten.
Es empfiehlt sich, die Ergebnisse zu überprüfen und notwendige Korrekturen vorzunehmen. Während der Nachprüfung und Nachbearbeitung können Sie mit den vorhandenen Editierwerkzeugen die Links bearbeiten und z. B. einen Link löschen, einen Link ändern, indem Sie den ersten oder letzten Stützpunkt verschieben, oder einen neuen Link hinzufügen. Aktualisieren Sie die Werte der Felder SRC_FID und TGT_FID entsprechend.
Parameter
arcpy.edit.GenerateEdgematchLinks(source_features, adjacent_features, out_feature_class, search_distance, {match_fields})
Name | Erläuterung | Datentyp |
source_features | Die Linien-Features, die als Quell-Features für die Kantenanpassung verwendet werden. Alle Kantenanpassungs-Links beginnen an Quell-Features. | Feature Layer |
adjacent_features | Die Linien-Features, die an die Quell-Features grenzen. Alle Kantenanpassungs-Links enden an abgeglichenen benachbarten Features. | Feature Layer |
out_feature_class | Die Ausgabe-Feature-Class mit Linien, die Kantenanpassungs-Links darstellen. | Feature Class |
search_distance | Die Entfernung, die für die Suche nach Übereinstimmungskandidaten verwendet werden soll. Die Entfernung muss angegeben und größer als null sein. Sie können eine bevorzugte Einheit auswählen. Die Standardeinstellung ist die Einheit des Features. | Linear Unit |
match_fields [[source_field, target_field],...] (optional) | Die Felder aus Quell- und Ziel-Features, wobei die Zielfelder aus benachbarten Features stammen. Falls angegeben, wird jedes Feldpaar auf Übereinstimmungskandidaten geprüft, um die Ermittlung des richtigen Treffers zu ermöglichen. | Value Table |
Codebeispiel
Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion GenerateEdgematchLinks im unmittelbaren Modus verwendet wird.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.edit.GenerateEdgematchLinks("countyA_Roads.shp",
"countyB_Roads.shp", "em_Links.shp"
"25 Feet")
Das folgende eigenständige Skript ist ein einfaches Beispiel für die Anwendung der Funktion GenerateEdgematchLinks in einer Skriptumgebung.
"""
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")
Umgebungen
Lizenzinformationen
- Basic: Nein
- Standard: Nein
- Advanced: Ja