IlpAssistanceApi.xid.xml 6.78 KB
<?xml version="1.0" encoding="UTF-8" ?>

<specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
               xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd"
               identity="IlpAssistanceApi.xid.xml">
    <title>ILP Assistance Services</title>
    <comment>
        This document defines the positioning assistance service interface for the IoT Location Platform (ILP).
        The service provides assistance data supporting GNSS and other positioning technologies for devices
        and services communicating via standard IP based protocols.  The API currently supports XMF and JSON wire formats.
    </comment>

  <import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" />
  <import ref="https://xid.location.studio/HPE/V1.1.1/HpeCore.xid.xml" local="HpeCore.xid.xml" />
  <import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeGnss.xid.xml" local="HpeGnss.xid.xml" />
  <import ref="https://xid.location.studio/ILP/V1.1.1/IlpApiBase.xid.xml" local="IlpApiBase.xid.xml" />
  
    <namespace name="ILP">
        <using namespace="HPE"/>
        <using namespace="Tensor"/>

        <!-- 
        *******************************************************
        GnssData input/ouput structure declarations.
        *******************************************************
        -->
        <!-- GnssDataInput structure -->
        <struct name="GnssDataInput" type="IlpInputBase">
            <comment>ILP.Assistance.GnssData input request data.</comment>

            <!-- Define internal data structure -->
            <struct name="RequestSpec">
                <comment>Specifies the data request for each constellation type.</comment>
                <elem name ="constellation" type="HPE.Gnss.Constellation" multiplicity="1">
                    <comment>Specifies the constellation of interest.</comment>
                </elem>
                <elem name="directive" multiplicity="0..*" type="NameValue">
                  <comment>
                    A set of directives to influence processing.
                  </comment>
                </elem>              
                <elem name="minId" multiplicity="0..1" type ="uint8" default="0">
                    <comment>
                        Specifies the minimum satellite ID to return constellation data.
                    </comment>
                </elem>
                <elem name="maxId" multiplicity="0..1" type ="uint8" default="255">
                    <comment>
                        Specifies the maximum satellite ID to return constellation data.
                    </comment>
                </elem>
                <elem name="AssistData" multiplicity="1..*" type ="HPE.Gnss.AssistanceData">
                    <comment>
                        Specifies the types of constellation assistance data to return.
                    </comment>
                </elem>
            </struct>

            <!-- Define input elements.-->
            <elem name="epoch" multiplicity="0..1" type="datetime">
                  <comment>
                      Optional epoch for which the data is valid.  Leave unspecified if the current epoch is desired.
                  </comment>
              </elem>

              <elem name="encoding" multiplicity="0..1" type="EncodingFormat" default="0">
                  <comment>
                      ConstellationData encoding format for the response. This field is carried into
                      GetAssistanceData_output.encCon and GetGnssAlmanacs_output.conData will be encoded
                      in this format.  If not specified the "native" format of the protocol is used.
                  </comment>
              </elem>

              <elem name="location" multiplicity="0..1" type="Shape">
                  <comment>
                      Optional specification of the location to compute assistance data.  If not specified
                      all available asistance data will be provided.
                  </comment>
              </elem>

              <elem name="elmask" multiplicity="0..1" type="int8" default="-90">
                  <comment>
                      Optional, specifies the elevation cutoff mask relative to the current
                      location in degrees.  If not specified or -90, all values within the specified satellite ID ranges are returned.
                  </comment>
                  <tag name="unit"  value="degrees"/>
              </elem>

              <elem name="Request" multiplicity="1..*" type="RequestSpec">
                  <comment>Specifies the requested data.  One specification is required, multiple can be processed simultaneously.</comment>
              </elem>
        </struct>

        <!-- GnssDataOutput structure -->
        <struct name="GnssDataOutput" type="IlpOutputBase">
            <comment>ILP.Assistance.GnssData output structure. </comment>

            <elem name="resultcode" multiplicity="1" type="ResultCode">
                <comment>
                    Result of GnssData operation.
                    If resultcode is not success,  encCon and constellation data will not be present.
                </comment>
            </elem>

            <elem name="encoding" multiplicity="0..1" type="EncodingFormat" default="0">
                <comment>
                    Constellation Data encoding format. Data can be provided in a different encoding format
                    than the native protocol format.  This is carried over from input.
                    If not present, the data is in the native protocol format (e.g. XMF, JSON).
                </comment>
            </elem>

            <elem name="assistdata" multiplicity="0..*" type ="HPE.Gnss.ConstellationData" encoding="encoding">
                <comment>
                    The list of ConstellationData encoded in the format specified by encoding.
                </comment>
            </elem>
        </struct>


        <!-- 
        *******************************************************
        ILP GNSS Assistance Data Service Interface.
        *******************************************************
        -->
        <interface name="Assistance">
            <comment>Assistance data interface functions.</comment>

            <operation name="Gnss">
                <comment>Returns caller requested GNSS assistance data.</comment>
                <input name="Input" type="GnssDataInput" sid="0x1018"/>
                <output name="Result" type="GnssDataOutput" sid="0x1019"/>
            </operation>

        </interface>

    </namespace>
</specification>