Calculer les erreurs de transformation (Mise à jour)

Synthèse

Calcule les erreurs résiduelles et l’erreur quadratique moyenne (EQM) en fonction des coordonnées des liens en entrée entre les points de contrôle connus à utiliser pour la transformation de données spatiales.

Utilisation

  • Cet outil est utilisé avant l’outil Transformer des entités pour déterminer si les points de contrôle conviennent à la transformation prévue, notamment avant que vous ne transformiez un grand nombre d’entités.

  • Les entités de liens en entrée sont des lignes représentant des liens de transformation entre des points de contrôle correspondants connus.

  • La transformation est effectuée dans un système de coordonnées planaires ou cartésien. Nous recommandons l’utilisation d’un système de coordonnées projetées. L'utilisation d'un système de coordonnées géographiques avec des valeurs de latitude et de longitude risque de produire des distorsions ou des erreurs de calcul.

  • Les erreurs seront calculées pour une des trois méthodes de transformation : affine, similarité et projection. Chaque méthode exige un nombre minimum de liens de transformation. Reportez-vous à la rubrique Transformer une entité pour en savoir plus, notamment sur les formules de transformation.

    • AFFINE : nécessite au moins trois liens de transformation.
    • PROJECTION : nécessite au moins quatre liens de transformation.
    • SIMILARITÉ : nécessite au moins deux liens de transformation.
  • Le résultat de la transformation varie selon la qualité des liens en entrée. Un lien doit commencer à partir d'un emplacement source connu et se terminer à l'emplacement cible correspondant, ces emplacements étant appelés des points de contrôle. Plus les points de contrôle sont établis, plus le résultat transformé est précis. Les coordonnées des emplacements d’origine et de destination des liens permettent de dériver les paramètres utilisés dans les équations de transformation, qui sont plus adaptées entre les points de contrôle source et de destination comme décrit dans la section Transformer des entités. Même si vous appliquez les paramètres de transformation pour transformer les points de contrôle source réels, les emplacements résultants ne correspondent pas aux emplacements des points de contrôle de destination. Il s’agit d’une erreur résiduelle qui est générée pour chaque lien de transformation. Les erreurs résiduelles pour les liens en entrée seront consignées dans la table de sortie spécifiée qui contient les champs suivants :

    • Orig_FID : identifiant d’entité du lien en entrée
    • X_Source : coordonnée x de la source ou de la localisation de fin d’origine du lien.
    • Y_Source : coordonnée y de la source ou de la localisation de fin d’origine du lien.
    • X_Destination : coordonnée x de la destination ou de la localisation de fin cible du lien.
    • Y_Destination : coordonnée y de la destination ou de la localisation de fin cible du lien.
    • Residual_Error : erreur résiduelle de la localisation transformée.

    Une erreur quadratique moyenne (EQM), également appelée déviation quadratique moyenne, sera calculée en fonction des erreurs résiduelles et indique l’adéquation générale de la transformation dérivée. La valeur de l'erreur quadratique moyenne est indiquée dans les messages de traitement. Elle représente également un paramètre de sortie dérivé que vous pouvez utiliser dans un script ou un processus de modèle.

    La rubrique Transformer des entités fournit des détails sur le calcul des erreurs résiduelles et des erreurs quadratiques moyennes. Vous devez déterminer la valeur acceptable de l’erreur quadratique moyenne selon les informations dont vous disposez sur la précision de la position des entités en entrée et des points de contrôle. Si la valeur de l’erreur quadratique moyenne est trop élevée, passez en revue les erreurs résiduelles et ignorez ou remplacez les liens qui présentent de nombreuses erreurs résiduelles.

Paramètres

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

Entités de liens en entrée qui lient les points de contrôle connus pour la transformation spatiale.

Feature Layer
Table des liens en sortie
(Facultatif)

Table de sortie contenant des identifiants d’entité de liens en entrée et leurs erreurs résiduelles. Les erreurs résiduelles pour les liens en entrée seront consignées dans la table de sortie spécifiée qui contient les champs suivants :

  • Orig_FID : identifiant d’entité du lien en entrée
  • X_Source : coordonnée x de la source ou de la localisation de fin d’origine du lien.
  • Y_Source : coordonnée y de la source ou de la localisation de fin d’origine du lien.
  • X_Destination : coordonnée x de la destination ou de la localisation de fin cible du lien.
  • Y_Destination : coordonnée y de la destination ou de la localisation de fin cible du lien.
  • Residual_Error : erreur résiduelle de la localisation transformée.
Table
Méthode
(Facultatif)

Spécifie la méthode de transformation qui sera utilisée pour convertir des coordonnées d’entités en entrée.

  • Transformation affineTrois liens de transformation au moins sont requis. Il s’agit de l’option par défaut.
  • Transformation projectiveQuatre liens de transformation au moins sont requis.
  • Transformation d'HelmertDeux liens de transformation au moins sont requis.
String

Sortie obtenue

ÉtiquetteExplicationType de données
EQM

Renvoie la valeur de l'erreur quadratique moyenne (EQM).

Double

arcpy.management.CalculateTransformationErrors(in_link_features, {out_link_table}, {method})
NomExplicationType de données
in_link_features

Entités de liens en entrée qui lient les points de contrôle connus pour la transformation spatiale.

Feature Layer
out_link_table
(Facultatif)

Table de sortie contenant des identifiants d’entité de liens en entrée et leurs erreurs résiduelles. Les erreurs résiduelles pour les liens en entrée seront consignées dans la table de sortie spécifiée qui contient les champs suivants :

  • Orig_FID : identifiant d’entité du lien en entrée
  • X_Source : coordonnée x de la source ou de la localisation de fin d’origine du lien.
  • Y_Source : coordonnée y de la source ou de la localisation de fin d’origine du lien.
  • X_Destination : coordonnée x de la destination ou de la localisation de fin cible du lien.
  • Y_Destination : coordonnée y de la destination ou de la localisation de fin cible du lien.
  • Residual_Error : erreur résiduelle de la localisation transformée.
Table
method
(Facultatif)

Spécifie la méthode de transformation qui sera utilisée pour convertir des coordonnées d’entités en entrée.

  • AFFINETrois liens de transformation au moins sont requis. Il s’agit de l’option par défaut.
  • PROJECTIVEQuatre liens de transformation au moins sont requis.
  • SIMILARITYDeux liens de transformation au moins sont requis.
String

Sortie obtenue

NomExplicationType de données
out_rmse

Renvoie la valeur de l'erreur quadratique moyenne (EQM).

Double

Exemple de code

Exemple 1 d'utilisation de la fonction CalculateTransformationErrors (fenêtre Python)

Le script ci-dessous pour la fenêtre Python illustre l’utilisation de la fonction CalculateTransformationErrors en mode immédiat.

import arcpy
arcpy.env.workspace = "C:/data/Countries.gdb"
arcpy.edit.CalculateTransformationErrors("control_Links", "output_Table", "AFFINE")
Exemple 2 d'utilisation de la fonction CalculateTransformationErrors (script autonome)

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

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))