Reclasser un champ (Gestion des données)

Résumé

Reclasse les valeurs d’un champ numérique ou de texte dans des classes en fonction de limites définies manuellement ou à l’aide d’une méthode de reclassification.

Illustration

Illustration de l’outil Reclasser un champ
Une variable continue est reclassée en classes discrètes avec des intervalles égaux.

Utilisation

  • Cet outil accepte les classes d’entités ou les vues tabulaires en entrée et modifie les données en entrée.

  • L’outil prend en charge les huit méthodes de reclassification suivantes :

    • Defined interval (Intervalle défini) : chaque classe s’étend sur la plage de la valeur du paramètre Interval Size (Taille d’intervalle), en commençant par la valeur minimale du champ. Par exemple, si la taille d’intervalle est de 10, et que la valeur minimale est de 244, la première classe inclut les valeurs comprises entre 244 et 254. Cette méthode est recommandée si une taille d’intervalle en particulier est requise, par exemple, pour reclasser des valeurs de température à l’aide d’une plage de 10 degrés.
    • Equal interval (Intervalle égal) : chaque classe a la même plage, et la taille de la plage est définie par la valeur du paramètre Number of Classes (Nombre de classes). Par exemple, si le nombre de classes est de 5, et que la plage est comprise entre 0 et 100, la première classe inclut les valeurs comprises entre 0 et 20. Comme pour l’intervalle défini, cette méthode est recommandée si les intervalles sont pertinents et si un nombre spécifique de classes est souhaité. Par exemple, si vous voulez reclasser la température en exactement 5 classes de plage égale.
    • Geometric interval (Intervalle géométrique) : la plage de chaque classe augmente ou diminue géométriquement (ce qui permet de changer de direction une fois) selon le paramètre Number of Classes (Nombre de classes). Cette méthode tente de trouver des regroupements naturels dans les données tout en conservant des plages de classes approximativement égales.
    • Manual interval (Intervalle manuel) : les limites supérieures et la valeur reclassée de chaque classe sont également spécifiées dans le paramètre Reclassification Table (Table de reclassification). La valeur reclassée peut être numérique ou textuelle et génère un champ en sortie du même type. Si le texte et les nombres sont fournis pour les valeurs reclassées, le champ en sortie est de type texte. Cette méthode peut être utile si aucune des interruptions de classes dans les autres méthodes n’est appropriée, ou si vous voulez étiqueter les classes avec du texte et non des entiers.
    • Natural breaks (Jenks) (Seuils naturels (Jenks)) : des interruptions de classes sont créées autour des regroupements naturels dans les données avec l’algorithme des seuils naturels de Jenks défini par le paramètre Number of Classes (Nombre de classes). Cette méthode regroupe des valeurs similaires et optimise les différences entre les classes. Cette méthode est utile si aucun intervalle pertinent n’est présent dans vos données et que vous voulez trouver des regroupements optimaux. Par exemple, la population totale par ville peut avoir des regroupements naturels.
      • Référence : Jenks, G., Caspall, F. C. (1971). « Error on choroplethic maps: Definition, measurement, reduction. » Annals of American Geographers, 61, 217-44
    • Quantile : les classes comprennent un nombre égal de valeurs dans chacune des valeurs de paramètre Number of Classes (Nombre de classes) spécifiées. Par exemple, s’il y a 50 valeurs et que le nombre de classes est de 5, chaque classe comportera 10 enregistrements. Cette méthode est utile pour comprendre où chaque valeur se situe dans les valeurs classées. Par exemple, si vous voulez connaître les endroits où le revenu annuel moyen chute en haut et en bas des 10 quantiles.
    • Standard Deviation (Écart type) : des plages de classes sont créées à l’aide de plusieurs écarts types au-dessus et au-dessous de la moyenne, dont le nombre est spécifié dans le paramètre Number of Standard Deviations (Nombre d’écarts types). Ceci est utile pour comprendre où les valeurs se situent dans une distribution. Par exemple, vous pouvez reclasser les précipitations d’un écart type pour identifier les zones où les précipitations sont supérieures à deux écarts types par rapport à la moyenne.
    • Unique Values (Valeurs uniques) : chaque valeur unique dans un champ de texte se transforme en classe. Ceci peut être utile si vous devez utiliser des catégories à partir d’un champ de texte dans un outil nécessitant un champ numérique. Par exemple, vous voulez convertir des codes de pays alphanumériques en entiers.

  • Lorsque vous choisissez la méthode de classification, tenez compte du type de données et de la façon dont vous allez utiliser les valeurs reclassées. Toutes les méthodes ne peuvent pas être employées pour toutes les applications. Par exemple, pour reclasser plusieurs champs et les utiliser ensemble dans des processus d’analyse, utilisez une technique qui assure une cohérence entre les données, par exemple le quantile, et non une méthode qui varie, par exemple les seuils naturels (Jenks).

  • Si vous sélectionnez le paramètre Reverse Values (Descending) (Inverser les valeurs (Décroissant)) (reverse_values = "DESC" dans Python), les classes d’entiers seront inversées. Par exemple, la classe avec les valeurs les plus basses devient la classe la plus élevée.

  • La méthode de reclassification par quantile crée des classes dans lesquelles chaque classe contient le même nombre d’enregistrements. Cependant, si la valeur du paramètre Number of Classes (Nombre de classes) ne se divise pas équitablement en nombre d’enregistrements, le reste est divisé dans chaque classe par ordre croissant.

  • Pour la méthode par intervalle manuel, au moins une des valeurs de limite supérieure spécifiée doit être supérieure à la valeur minimale dans le champ à reclasser. Les valeurs du champ qui sont supérieures à la limite supérieure maximale spécifiée sont reclassées comme -9999.

  • Pour la méthode par intervalle défini, la valeur du paramètre Interval Size (Taille d’intervalle) doit être assez petite pour créer au moins trois classes.

  • Aucune des méthodes de reclassification n’utilise de structure d’échantillonnage. Il est possible d’obtenir la plage de chaque classe auprès d’autres méthodes de classification qui utilisent l’échantillonnage, telles que la symbologie graduée.

  • Les outils génèrent des champs qui représentent la classe et la plage de chaque enregistrement, qui sont préfixés avec la valeur du paramètre Output Field Name (Nom de champ en sortie). Le champ de classe est un champ d’entiers classés par ordre croissant ou décroissant, et le champ de plage affiche la plage de valeurs de chaque champ. Si le champ à reclasser est un champ de texte, seul le champ de classe est créé. Si la méthode de reclassification est manuelle et qu’aucune valeur de reclassification n’est spécifiée, seul le champ de plage sera créé.

  • Une table de reclassification illustrant la limite supérieure et la valeur reclassée de chaque classe s’affiche dans les messages de géotraitement.

Syntaxe

arcpy.management.ReclassifyField(in_table, field, {method}, {classes}, {interval}, {standard_deviations}, {reclass_table}, {reverse_values}, {output_field_name})
ParamètreExplicationType de données
in_table

La table en entrée ou classe d’entités contenant le champ à reclasser.

Table View; Raster Layer; Mosaic Layer
field

Le champ à reclasser. Le champ doit être de type numérique ou texte.

Field
method
(Facultatif)

Indique la façon dont les valeurs sont contenues dans le champ spécifié dans le paramètre Field to Reclassify (Champ à reclasser).

  • DEFINED_INTERVAL Crée des classes avec la même plage de classes sur l’étendue des valeurs du champ à reclasser.
  • EQUAL_INTERVALCrée des classes avec des plages de classes égales divisées en un nombre de classes spécifié. Il s’agit de l’option par défaut.
  • GEOMETRIC_INTERVALCrée des classes avec des plages de classes géométriquement croissantes ou décroissantes dans un nombre de classes spécifié.
  • MANUAL Les interruptions de classes et les valeurs reclassées sont spécifiées manuellement.
  • NATURAL_BREAKS Crée des classes de regroupements naturels dans les données à l’aide de l’algorithme des seuils naturels de Jenks.
  • QUANTILE Crée des classes où chaque classe inclut un nombre égal de valeurs.
  • STANDARD_DEVIATION Crée des classes en ajoutant ou en soustrayant une fraction de l’écart type au-dessus et au-dessous de la valeur moyenne.
  • UNIQUE_VALUESCrée des classes où chaque valeur unique du champ se transforme en classe.
String
classes
(Facultatif)

Le nombre de classes cible dans le champ reclassé. Le nombre maximal de classes est 256.

Long
interval
(Facultatif)

La taille d’intervalles de classe du champ reclassé. La valeur fournie doit aboutir à au moins 3 classes et ne pas dépasser 1 000 classes.

Double
standard_deviations
(Facultatif)

Indique le nombre d’écarts types pour le champ reclassé. Les interruptions de classes et les catégories sont créées avec des plages d’intervalles égaux, conservant les proportions de l’écart type par rapport à la moyenne.

  • ONELes intervalles sont créés avec un écart type. Il s’agit de l’option par défaut.
  • HALFLes intervalles sont créés avec la moitié d’un écart type.
  • THIRDLes intervalles sont créés avec un tiers d’un écart type.
  • QUARTERLes intervalles sont créés avec un quart d’un écart type.
String
reclass_table
[reclass_table,...]
(Facultatif)

La limite supérieure et la valeur reclassée pour la méthode de reclassification manuelle.

Value Table
reverse_values
(Facultatif)

Spécifie l’ordre des valeurs reclassées.

  • DESCDes valeurs sont attribuées aux classes dans l’ordre décroissant. La valeur 1 est attribuée à la classe avec les valeurs les plus élevées 1, la valeur 2 est attribuée à la classe la plus élevée suivante et ainsi de suite.
  • ASCDes valeurs sont attribuées aux classes dans l’ordre croissant. La valeur 1 est attribuée à la classe avec les valeurs les plus faibles 1, la valeur 2 est attribuée à la classe la plus faible suivante et ainsi de suite. Il s’agit de l’option par défaut.
Boolean
output_field_name
(Facultatif)

Nom ou préfixe du champ en sortie. Si le champ à reclasser est un champ numérique, deux champs sont créés, et ce nom servira de préfixe pour les noms de champ. Si le champ à reclasser est un champ de texte, un nouveau champ est créé avec ce nom.

String

Sortie dérivée

NomExplicationType de données
updated_table

La table mise à jour contenant les champs reclassés.

Vue tabulaire

Exemple de code

Exemple 1 d’utilisation de l’outil ReclassifyField (fenêtre Python)

Le script de fenêtre Python ci-dessous illustre l'utilisation de l'outil ReclassifyField.

arcpy.management.ReclassifyField("Demographics", "Population", 
      "EQUAL_INTERVAL", 10, None, "", None, None, "Population_EQUAL_INTERVAL")
Exemple 2 d’utilisation de l’outil ReclassifyField (script autonome)

Le script Python autonome ci-dessous illustre l'utilisation de l'outil ReclassifyField.

# Import system modules.
import arcpy
try:
    # Set the workspace and input features.
    arcpy.env.workspace = r"C:\\Reclassify\\MyData.gdb"
    in_table = "Demographics"
    # Set the input field that will be reclassified
    field = "Population"
    # Set the reclassification method
    method = "MANUAL"
    # Set the reclassification table
    reclass_table = "10000 Village;100000 Town;1000000 City"
    # Set the output field name
    output_field_name = "SettlementType"
    # Run the Reclassify Field tool
    arcpy.management.ReclassifyField(in_table, field, method, "", 
          None, "", reclass_Table, None, output_field_name)
except arcpy.ExecuteError:
    # If an error occurred when running the tool, print the error message.
    print(arcpy.GetMessages())

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes