Skip to content

AGSi Standard / Root

Root schema overview

The top level (ultimate parent) part of the AGSi schema is called the root schema. This is the container for the remainder of the schema.

The root schema is a single object, known as the root object.

For JSON encoding this means that the JSON reduces to a single object at the top level which is represented by the outermost curly brackets, thus:

{   everything else is in here   }

It should be noted that the term root will not appear in the JSON file. It is only the term we use to describe the top level object.

All of the other groups of objects ( agsProject, agsiModel, agsiGeometry and agsiData) are contained within the root object, together with two additional standalone objects:

This is summarised diagramatically below.

root summary UML diagram

In JSON encoding, it will look like this.

{
    "schema": {  },
    "file": {  },
    "agsProject":{  },
    "agsiModel":[  ],
    "agsiGeometry":{  },
    "agsiData":{  }
}

The schema and file objects are both required, i.e mandatory.

All other objects are optional as some or all of these may be required, depending on the information represented.

No more than one instance of each of the agsProject, agsiGeometry and agsiData) groups of objects are permitted. However, more than one instance of the agsiModel group of objects is permitted, e.g. an array of objects representing different models.

Note

Even if only one instance of agsiModel is required, it must still be encoded as an array (with one object).

The full UML diagram for the root object is given below.

root UML diagram