Update the Import AIXM 5.1 Message configuration files

Available with Aviation Charting license.

Caution:

The following information describes advanced concepts intended for those who want to understand more about how AIXM features are imported based on the configuration files supplied with the ArcGIS Aviation Charting extension. While most may never need to edit these files, some may elect to make modifications to their configuration files to better support their AIXM 5.1 data or to accommodate their customized AIS geodatabase.

It is recommended that you create backup copies of the outlined configuration files before editing them to avoid data loss.

You can configure the Import AIXM 5.1 Message tool to customize how AIXM features are imported into an aeronautical information system (AIS) schema geodatabase. When you install ArcGIS Pro with the ArcGIS Aviation Charting extension, you are also installing several resource files that you can use to configure how the Aviation Charting extension works on your computer. There are two configuration files that are necessary for importing AIXM data to a default AIS geodatabase: AIXM51SpecConfig.json and AIXM51WriterConfig.json. Understanding how to edit these configuration files is important, since you may find that you need to extend your AIS implementation to accommodate additional information in your AIXM data.

Both of these configuration files are located at the following directory on your computer: <ArcGIS Pro installation location>/Resources/Aviation.

Note:

The default installation directory for ArcGIS Pro is C:/Program Files/ArcGIS/Pro.

Note:

Several files are located in the <ArcGIS Pro installation location>/Resources/Aviation directory. However, only the AIXM51WriterConfig.json and AIXM51SpecConfig.json files are used to configure the Import AIXM 5.1 Message tool.

Learn more about the DOFConfig.json file

AIXM51SpecConfig.json

The AIXM51SpecConfig.json configuration file determines which AIXM features are imported to an AIS geodatabase and how those features relate to one another. Values in this configuration file are written in key-value pairs. The following table describes the general format of values in this file:

KeyDescription
relationships

The parent-child relationships associated with the AIXM feature

parent

AIXM features above the target AIXM feature in its class hierarchy

child

The children of the AIXM feature in the class hierarchy

source_id_field

The unique identifier of tying the target AIXM feature to an AIS geodatabase

The AIXM51SpecConfig.json file uses shorthand notation to simplify the values in the JSON. The following table describes the shorthand notation used in this file:

Shorthand notationDescription
/

The most root parent object of the AIXM feature.

.

Dot notation meaning that a feature has a specified attribute. You can use this shorthand method to access attributes in an AIXM feature.

@

Keys prepended with this character are loaded before all other features in the AIXM message. The data is associated with the identifier specified in source_id_field and is available as additional data when the feature with that identifier is referenced. This allows data to become available across AIXM features when an AIS requires data to be populated from two separate AIXM features.

Consider the following code sample:

"airspacevolumedependency": { // The target AIXM feature.
    "relationships": { // All ancestor/child relationships for the target AIXM feature.
      "parent": { // All relationships with ancestor.
        "/": "identifier",
        "geometrycomponent": "operation",
        "airspacegeometrycomponent": "operationsequence"
      }
    }, 
    "source_id_field": ".id" // The attribute representing the unique identifier linking the AIS feature back to the source AIXM data.
  }

The code sample can be visualized as shown in the following diagram:

Diagram showing the association between features in the AIXM51SpecConfig.json file

In this case, the target AIXM feature is airspacevolumedependency. The relationships/parents key defines three ancestor features in the AIXM hierarchy that are included in the AIS geodatabase. Each of these ancestor features is referenced by a unique value in the AIXM feature: identifier for the most root parent object, operation for the geometrycomponent feature, and operationsequence for the airspacegeometrycomponent feature.

Note:

Several ancestor AIXM features do not have a specific association with the target AIXM feature. You can create an association with an unused ancestor field by adding a line inside of the parent key in the AIXM51SpecConfig.json file.

The .id attribute of the target AIXM feature is assigned to the source_id_field key, meaning that the .id attribute is used as the unique identifier linking that AIS feature back to the source AIXM 5.1 message. Typically, this value is used to populate the ClientKey_Id field in the destination AIS association table.

AIXM51WriterConfig.json

The AIXM51WriterConfig.json configuration file determines how AIXM features are mapped to features in an AIS schema geodatabase. Values in this configuration file are written in key-value pairs. The following table describes the general format of values in this file:

KeyDescription
fields

The AIXM attributes that are mapped to fields in the AIS geodatabase feature class

field_name

The name of the attribute in the AIS geodatabase where the target AIXM attribute is written

domain

An optional key defining coded value domains for the field in the AIS geodatabase

table_name

The name of the table or feature class in the AIS geodatabase where the target AIXM feature is written

The AIXM51WriterConfig.json file uses shorthand notation to simplify the values in the JSON. The following table describes the shorthand notation used in this file:

Shorthand notationDescription
/

The most root parent object of the AIXM feature.

.

Dot notation meaning that a feature has a specified attribute. You can use this shorthand method to access attributes in an AIXM feature.

_

The name of the input AIXM feature. This allows you to populate a field in the AIS geodatabase with the name of the source AIXM feature.

Consider the following code sample:

"airspacevolumedependency": { // The source AIXM 5.1 feature.
    "fields": { // The AIXM attributes that will be mapped to fields in the AIS geodatabase.
      "/": { 
        "field_name": "firstmember_id"
      },
      "theairspace.href": {
        "field_name": "secondmember_id"
      },
      "geometrycomponent": {
        "field_name": "opr_code"
      },
      "airspacegeometrycomponent": {
        "field_name": "numseq_val"
      },
      "airspacevolumedependency.id": {
        "field_name": "clientkey_id"
      },
      "dependency": {
        "domain": { // A coded value domain for the opr_code field.
          "horz_projection": "sameext"
        },
        "field_name":  "opr_code"
      }
    },
    "table_name": "airspaceassociation" // The target AIS feature.
  },

The code sample can be visualized as shown in the following diagram.

Diagram showing how the AIXM51WriterConfig.json file maps AIXM attributes to features in an AIS geodatabase

In this case, the target airspaceassociation feature class in the target AIS geodatabase is populated with attributes from the source AIXM feature. The values /, geometrycomponent, and airspacegeometrycomponent were defined in the AIXM51SpecConfig.json file, so they are included in the source AIXM feature. In addition to the attributes from the AIXM51SpecConfig.json file, a dependency key is defined with a coded value domain. This domain is mapped to the opr_code field in the target AIS geodatabase. Domain mapping is an optional configuration step in which AIXM values are different from AIS values with the same meaning. For example, "no" versus "0" or "BLUE" versus "BLU".

Edit the AIXM51WriterConfig.json file

This workflow describes how to edit the AIXM51WriterConfig.json file to fit your organization's needs. This workflow demonstrates how to edit a single feature, but you can apply this at scale to as many features as necessary.

Caution:

It is recommended that you make backup copies of your configuration files before editing them in this workflow. Failure to do so may lead to data loss.

  1. Open the AIXM51WriterConfig.json file in a plain text editor.
  2. Locate the airportheliport key in the JSON.
  3. Locate the certifiedicao key under airportheliport.
  4. Change the values in the fields key to change how the Import AIXM 51 Message tool imports AIXM data to an AIS schema geodatabase.

    For example, consider the following value:

    "certifiedicao": {
            "domain": {
              "no": "0",
              "other": "2",
              "yes": "1"
            },
            "field_name": "certifiedicao_txt"
          },

    In this value, the certifiedicao AIXM field is mapped to the certifiedicao_txt field in the ADHP feature class. Additionally, key-value pairs for coded value domain values are configured for the field.

  5. Change the value on the field_name key to change the target attribute in the AIS geodatabase's ADHP feature class.
  6. Save the AIXM51WriterConfig.json file.

    You can now run the Import AIXM 51 Message tool with this file to create AIS geodatabase schema features from your input AIXM features.

Related topics