Transformationsfehler berechnen (Editing)

Zusammenfassung

Berechnet Restfehler und den RMS-Fehler (Root Mean Square Error, RMSE) basierend auf den Koordinaten der Eingabe-Links zwischen bekannten Passpunkten, die für die Transformation räumlicher Daten verwendet werden sollen.

Verwendung

  • Dieses Werkzeug wird vor dem Werkzeug Features transformieren verwendet, um zu bestimmen, ob die Passpunkte für die beabsichtigte Transformation geeignet sind, insbesondere bevor Sie eine große Anzahl an Features transformieren.

  • Eingabe-Link-Features sind Linien, die Transformations-Links zwischen entsprechenden Passpunkten darstellen.

  • Die Transformation funktioniert in einem kartesischen oder planaren Koordinatensystem. Es wird ein projiziertes Koordinatensystem empfohlen. Die Verwendung eines geographischen Koordinatensystems mit Breitengrad- und Längengradwerten kann zu Verzerrung oder zu Berechnungsfehlern führen.

  • Fehler werden für eine der drei Transformationsmethoden berechnet: affine Transformation, Ähnlichkeitstransformation und projektive Transformation. Jede Methode erfordert eine Mindestanzahl an Transformations-Links. Weitere Informationen sowie Transformationsformeln finden Sie unter Transformieren eines Features.

    • AFFINE: Erfordert mindestens drei Transformations-Links.
    • PROJECTIVE: Erfordert mindestens vier Transformations-Links.
    • SIMILARITY: Erfordert mindestens zwei Transformations-Links.
  • Das Transformationsergebnis hängt von der Qualität der Eingabe-Links ab. Ein Link sollte von einer bekannten Quellposition starten und an der entsprechenden Zielposition enden, die auch als Passpunkte bezeichnet werden. Je besser die Passpunkte festgelegt sind, desto genauer fällt das transformierte Ergebnis aus. Die Koordinaten der Anfangs- und Zielpositionen der Links dienen zur Ableitung der Parameter in Transformationsgleichungen, die den bestmöglichen Kompromiss zwischen den Quell- und Zielpasspunkten darstellen, wie in Transformieren von Features beschrieben. Auch wenn Sie die Transformationsparameter verwenden, um die tatsächlichen Quellpasspunkte zu transformieren, stimmen die resultierenden Positionen nicht mit den Positionen der Zielpasspunkte überein. Dieser Fehler wird als Restklaffe bezeichnet und für jeden Transformations-Link erstellt. Die Restfehler für Eingabe-Links werden in die angegebene Ausgabetabelle geschrieben, die die folgenden Felder enthält:

    • Orig_FID: Die ID des Eingabe-Link-Features
    • X_Source: Die X-Koordinate der Quell- oder Von-Endposition des Links
    • Y_Source: Die Y-Koordinate der Quell- oder Von-Endposition des Links
    • X_Destination: Die X-Koordinate der Ziel- oder Bis-Endposition des Links
    • Y_Destination: Die Y-Koordinate der Ziel- oder Bis-Endposition des Links
    • Residual_Error: Der Restfehler der transformierten Position

    Der RMS-Fehler (RMSE, Root Mean Square Error), der auch als RMS-Abweichung (RMSD, Root Mean Square Deviation) bezeichnet wird, wird basierend auf den Restfehlern berechnet und gibt die allgemeine Eignung der abgeleiteten Transformation an. Der RMSE-Wert wird an die Verarbeitungsmeldungen ausgegeben. Er ist auch ein abgeleiteter Ausgabeparameter, der in einem Skript oder Modell-Workflow verwendet werden kann.

    Weitere Informationen zu den Berechnungen der Restfehler und des RMSE finden Sie im Thema Transformieren von Features. Sie müssen den zulässigen RMSE-Wert basierend auf Ihrem Wissen über die Positionsgenauigkeit der Eingabe-Features und der Passpunkte bestimmen. Wenn der RMSE-Wert zu hoch ist, müssen Sie die Restfehler überprüfen und die Links mit hohen Restfehlern verwerfen oder ersetzen.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Link-Features

Die Eingabe-Link-Features, die bekannte Passpunkte für die räumliche Transformation verknüpfen.

Feature Layer
Ausgabe-Link-Tabelle
(optional)

Die Ausgabetabelle mit den Feature-IDs der Eingabe-Links und den jeweils zugehörigen Restfehlern. Die Restfehler für Eingabe-Links werden in die angegebene Ausgabetabelle geschrieben, die die folgenden Felder enthält:

  • Orig_FID: Die ID des Eingabe-Link-Features
  • X_Source: Die X-Koordinate der Quell- oder Von-Endposition des Links
  • Y_Source: Die Y-Koordinate der Quell- oder Von-Endposition des Links
  • X_Destination: Die X-Koordinate der Ziel- oder Bis-Endposition des Links
  • Y_Destination: Die Y-Koordinate der Ziel- oder Bis-Endposition des Links
  • Residual_Error: Der Restfehler der transformierten Position
Table
Methode
(optional)

Gibt die Transformationsmethode für die Konvertierung der Eingabe-Feature-Koordinaten an.

  • Affine TransformationEs sind mindestens drei Transformations-Links erforderlich. Dies ist die Standardeinstellung.
  • Projektive TransformationEs sind mindestens vier Transformations-Links erforderlich.
  • ÄhnlichkeitstransformationEs sind mindestens zwei Transformations-Links erforderlich.
String

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
RMSE

Meldet den RMSE-Fehlerwert.

Double

arcpy.management.CalculateTransformationErrors(in_link_features, {out_link_table}, {method})
NameErläuterungDatentyp
in_link_features

Die Eingabe-Link-Features, die bekannte Passpunkte für die räumliche Transformation verknüpfen.

Feature Layer
out_link_table
(optional)

Die Ausgabetabelle mit den Feature-IDs der Eingabe-Links und den jeweils zugehörigen Restfehlern. Die Restfehler für Eingabe-Links werden in die angegebene Ausgabetabelle geschrieben, die die folgenden Felder enthält:

  • Orig_FID: Die ID des Eingabe-Link-Features
  • X_Source: Die X-Koordinate der Quell- oder Von-Endposition des Links
  • Y_Source: Die Y-Koordinate der Quell- oder Von-Endposition des Links
  • X_Destination: Die X-Koordinate der Ziel- oder Bis-Endposition des Links
  • Y_Destination: Die Y-Koordinate der Ziel- oder Bis-Endposition des Links
  • Residual_Error: Der Restfehler der transformierten Position
Table
method
(optional)

Gibt die Transformationsmethode für die Konvertierung der Eingabe-Feature-Koordinaten an.

  • AFFINEEs sind mindestens drei Transformations-Links erforderlich. Dies ist die Standardeinstellung.
  • PROJECTIVEEs sind mindestens vier Transformations-Links erforderlich.
  • SIMILARITYEs sind mindestens zwei Transformations-Links erforderlich.
String

Abgeleitete Ausgabe

NameErläuterungDatentyp
out_rmse

Meldet den RMSE-Fehlerwert.

Double

Codebeispiel

CalculateTransformationErrors: Beispiel 1 (Python-Fenster)

Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion CalculateTransformationErrors im unmittelbaren Modus verwendet wird.

import arcpy
arcpy.env.workspace = "C:/data/Countries.gdb"
arcpy.edit.CalculateTransformationErrors("control_Links", "output_Table", "AFFINE")
CalculateTransformationErrors: Beispiel 2 (eigenständiges Skript)

Das folgende eigenständige Skript ist ein Beispiel für die Anwendung der Funktion CalculateTransformationErrors in einer Skriptumgebung.

import arcpy
import os

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

in_links_feats = "link_features"
out_link_table = "output_table"

# Transformation method
method = "SIMILARITY"

result = arcpy.edit.CalculateTransformationErrors(in_links_feats, out_link_table, method)

# Get the transformation error
error = float(result.getOutput(1))

# If error is less than 12.234, run Transform Features
if error < 20.0:
    # Make a copy of the input features 
    arcpy.management.CopyFeatures(in_links_feats, "in_links_copy")
    arcpy.edit.TransformFeatures("in_links_copy", in_links_feats, method, "out_link_table")
else:
    print("Transformation error {} is too high".format(error))