Fréquence (Analyse)

Niveau de licence :BasicStandardAdvanced

Récapitulatif

Permet de lire une table et un ensemble de champs et de créer une nouvelle table contenant les valeurs de champ uniques ainsi que le nombre d'occurrences de chaque valeur de champ unique.

Utilisation

Syntaxe

Frequency_analysis (in_table, out_table, frequency_fields, {summary_fields})
ParamètreExplicationType de données
in_table

Table contenant le ou les champs utilisé(s) pour le calcul des statistiques de fréquence. Il peut s'agir d'une table INFO, OLE DB, dBASE, d'un tableau VPF ou d'une table de classe d'entités.

Table View; Raster Layer
out_table

Table dans laquelle sont stockées les statistiques de fréquence calculées.

Table
frequency_fields
[frequency_fields,...]

Champ(s) d'attribut utilisé(s) pour le calcul des statistiques de fréquence.

Field
summary_fields
[summary_fields,...]
(Facultatif)

Champ(s) d'attribut à additionner et à ajouter à la table en sortie. Les valeurs Null sont exclues de ce calcul.

Field

Exemple de code

Exemple d'utilisation de l'outil Fréquence (fenêtre Python)

Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction Fréquence en mode immédiat.

import arcpy
arcpy.env.workspace = "C:/data/Portland.gdb/Taxlots"
arcpy.Frequency_analysis("taxlots",
                         "C:/output/output.gdb/tax_frequency",
                         ["YEARBUILT", "COUNTY"],
                         ["LANDVAL", "BLDGVAL", "TOTALVAL"])
Exemple d'utilisation de l'outil Fréquence 2 (script autonome)

Le script autonome ci-dessous illustre l'utilisation de la fonction Fréquence.

# Name: Frequency_Example2.py
# Description: Run Frequency on a table
 
# Import system modules
import arcpy
 
# Set environment settings
arcpy.env.workspace = "C:/data/Portland.gdb/Taxlots"
 
# Set local variables
inTable = "taxlots"
outTable = "C:/output/output.gdb/tax_frequency"
frequencyFields = ["YEARBUILT", "COUNTY"]
summaryFields = ["LANDVAL", "BLDGVAL", "TOTALVAL"]
 
# Execute Frequency
arcpy.Frequency_analysis(inTable, outTable, frequencyFields, summaryFields)
Exemple d'utilisation de l'outil Fréquence 3 (script autonome)

Le script autonome ci-dessous illustre l'utilisation de nombreuses fonctions de script de géotraitement, y compris la fonction Fréquence.

# Name: Frequency_Example3.py
# Description: Break all multipart features into singlepart features, 
#  and generate a report of which features were separated.
 
# Import system modules
import arcpy
 
# Create variables for the input and output feature classes
inFeatureClass = "c:/data/gdb.gdb/vegetation"
outFeatureClass = "c:/data/gdb.gdb/vegetation_singlepart"

try:
    # Create list of all fields in inFeatureClass
    fieldNameList = [field.name for field in arcpy.ListFields(inFeatureClass)]

    # Add a field to the input this will be used as a unique identifier
    arcpy.AddField_management(inFeatureClass, "tmpUID", "double")
 
    # Determine what the name of the Object ID is 
    OIDFieldName = arcpy.Describe(inFeatureClass).OIDFieldName
   
    # Calculate the tmpUID to the OID
    arcpy.CalculateField_management(inFeatureClass, "tmpUID",
                                    "[" + OIDFieldName + "]")
 
    # Run the tool to create a new fc with only singlepart features
    arcpy.MultipartToSinglepart_management(inFeatureClass, outFeatureClass)
 
    # Check if there is a different number of features in the output
    #   than there was in the input
    inCount = int(arcpy.GetCount_management(inFeatureClass).getOutput(0))
    outCount = int(arcpy.GetCount_management(outFeatureClass).getOutput(0))
    
    if inCount != outCount:
        # If there is a difference, print out the FID of the input 
        #   features which were multipart
        arcpy.Frequency_analysis(outFeatureClass,
                                 outFeatureClass + "_freq", "tmpUID")
 
        # Use a search cursor to go through the table, and print the tmpUID 
        print("Multipart features from {0}".format(inFeatureClass))
        for row in arcpy.da.SearchCursor(outFeatureClass + "_freq",
                                         ["tmpUID"], "FREQUENCY > 1"):
            print int(row[0])
    else:
        print("No multipart features were found")

except arcpy.ExecuteError:
    print(arcpy.GetMessages())
except Exception as e:
    print(e)

Environnements

Thèmes connexes

Informations de licence

ArcGIS for Desktop Basic: Annuler
ArcGIS for Desktop Standard: Annuler
ArcGIS for Desktop Advanced: Oui
5/10/2014