Prepare Aviation Data (Aviation)

Available with Aviation Charting license.

Summary

Migrates attributes from main aviation data to their cartographic features based on specific JSON scripts. These attributes are used for labeling and symbolizing cartographic features. Attributes defined in the JSON will be copied from their locations in the main feature classes and formatted into output attributes also defined in the JSON.

Usage

  • Attributes will be migrated to the cartographic features in the format || <> <value> <> ||, in which features are delimited by || and the attribute values of those features are delimited by <>.

    For example, to migrate the TYPE_CODE, IDENT_TXT, and MAGNETICVARIATION_VAL features from the main ADHP feature class, the output in the ADHP_C cartographic feature class will be <> TYPE_CODE <> IDENT_TXT <> MAGNETICVARIATION_VAL <>.

    Note:

    The || symbols may not be included in the migrated information if there is a single feature being migrated from the main features to the cartographic features.

    Tip:

    The ArcGIS Aviation Charting Product Files contain Arcade scripts for parsing this delimited data. These scripts are in the following location: <installation location>\ArcGIS Aviation Charting\Product Files\<version>\SampleConfigs\ICAO\Enroute\ArcadeExpressions.

  • The optional Input Datasets parameter is populated by a list of tables and feature classes from the provided JSON. You can select specific tables and features classes for evaluation. If none are selected, they will all be evaluated.

    Note:

    Relationship class field names from enterprise geodatabases must be qualified with their schema and table names in the JSON config file. For example, GIS.NavaidAssociation.NAVAIDSYSTEM_ID includes the schema name GIS, the table name NavaidAssociation, and the field name NAVAIDSYSTEM_ID. Field names from other dataset types can also be qualified with their schema name, but it is only necessary to qualify them by table name, for example, NavaidSystem.GFID.

  • The following sample configuration file can be used to populate the Configuration File (.json) parameter.

    {
        // CAUTION: Remove all comments before using this code sample in your project.
        "adhp_c":[{ // The target feature class that you want to migrate data to.
                "calcfield":"adhp_info", // The field where the migrated data will be stored.
                "fields": [ // The attributes you want to migrate into your target feature class.
                    "adhp.TYPE_CODE",
                    "adhp.IDENT_TXT",
                    "adhp.MAGNETICVARIATION_VAL"
                ],
                "tables": [
                    "adhp" // The main feature class that you want to migrate data from.
                ],
                "where": "Master_ID = adhp.gfid" // An SQL query joining the source and target features.
            },
            {
                "calcfield":"airspace_lbl",
                "fields": [
                    "airspace.class_code",
                    "airspace.workhr_code"
                ],
                "tables": [
                    "adhp",
                    "airspace"
                ],
                "where": "Master_ID = adhp.gfid and adhp.gfid = airspace.adhp_id and airspace.class_code IN ('C', 'D')"
            }],
        "navaidsystem": [
            {
                "calcfield":"availability_lbl",
                "fields": [
                    "availability.operationstatus_code"
                ],
                "tables": [
                    "navaidsystem",
                    "availability"
                ],
                "where": "navaidsystem.gfid = availability.predicated_id"
            },
            {
                "calcfield":"navaidcomponent_lbl",
                "fields": [
                    "navaidcomponent.subtype_code",
                    "navaidcomponent.slavedvariation_val",
                    "navaidcomponent.channel_txt",
                    "navaidcomponent.frequency_val",
                    "navaidcomponent.status_code",
                    "navaidcomponent.workhr_code",
                    "navaidcomponent.voice_code"
                ],
                "tables": [
                    "navaidsystem",
                    "navaidassociation",
                    "navaidcomponent"
                ],
                "where": "navaidsystem.gfid = navaidassociation.navaidsystem_id and navaidassociation.navaidcomponent_id = navaidcomponent.gfid"
            }
        ]
    }

Parameters

LabelExplanationData Type
Target Geodatabase

The ArcGIS Aviation Charting schema workspace on which the evaluation will be run.

Workspace
Configuration File (.json)

The .json file containing the evaluation criteria.

File
Input Datasets
(Optional)

The names of the tables and feature classes that will be evaluated.

String

Derived Output

LabelExplanationData Type
Output Workspace

The output aviation workspace containing the evaluation results.

Workspace

arcpy.aviation.PrepareAviationData(target_gdb, config_file, {in_dataset_names})
NameExplanationData Type
target_gdb

The ArcGIS Aviation Charting schema workspace on which the evaluation will be run.

Workspace
config_file

The .json file containing the evaluation criteria.

File
in_dataset_names
[in_dataset_names,...]
(Optional)

The names of the tables and feature classes that will be evaluated.

String

Derived Output

NameExplanationData Type
out_workspace

The output aviation workspace containing the evaluation results.

Workspace

Code sample

PrepareAviationData example (stand-alone script)

The following Python window script demonstrates how to use the PrepareAviationData function.

import arcpy

# set gp environment
arcpy.CheckOutExtension("Aeronautical")

# Input database where data 
target_gdb = r"C:\data\MyData.gdb"

# config file for data calculation
config_file = r"C:\data\config.json"

# subset of tables or feature classes that will be calculated
in_datasets = "adhp;navaidsystem"

# Running tool
arcpy.PrepareAviationData_aviation(target_gdb, config_file, in_datasets)

arcpy.CheckInExtension("Aeronautical")

Environments

This tool does not use any geoprocessing environments.

Licensing information

  • Basic: No
  • Standard: Requires ArcGIS Aviation Charting
  • Advanced: No

Related topics