IlpAssistanceApi.xid.xml 6.81 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 https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
               identity="IlpAssistanceApi.xid">
    <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.1/ApiBase.xid.xml" local="ApiBase.xid.xml" />
    <import ref="https://xid.location.studio/HPE/V1.2/HpeGnss.xid.xml" local="HpeGnss.xid.xml" />

    <namespace name="ILP">
        <using namespace="HPE"/>
        <using namespace="Tensor"/>

        <!-- 
        *******************************************************
        GnssData input/ouput structure declarations.
        *******************************************************
        -->
        <!-- GnssDataInput structure -->
        <struct name="GnssDataInput" type="InputBase">
            <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 for.
                    </comment>
                </elem>
                <elem name="maxId" multiplicity="0..1" type ="uint8" default="255">
                    <comment>
                        Specifies the maximum satellite ID to return constellation data for.
                    </comment>
                </elem>
                <elem name="type" multiplicity="1..*" type ="HPE.Gnss.AssistanceType">
                    <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. The default encoding is natural, which will
                      result in constellation data being returned in the "constellationData" field specified in the GnssDataOutput structure.  If the
                      encoding value is 2 (XMF) or greater than 255 (custom encoding), then the data is returned in the "constellationXmf" field.
                  </comment>
              </elem>

              <elem name="location" multiplicity="0..1" type="Shape" polymorphic="true">
                  <comment>
                      Optional specification of the location to compute assistance data.
                      If not specified, asistance data will not be filtered.
                  </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="OutputBase">
            <comment>ILP.Assistance.GnssData output structure. </comment>

            <elem name="encoding" multiplicity="0..1" type="EncodingFormat" default="0">
                <comment>
                    Constellation Data encoding format. If encoding is default (natural),  constellation data will be returned to caller in the constellationData field.
                    If a value of 2(xmf) or greater than 255, constellation data will be returned in the constellation XMF field.
                </comment>
            </elem>

            <elem name="constellationData" multiplicity="0..*" type ="HPE.Gnss.ConstellationData" >
                <comment>
                    The list of ConstellationData encoded in the format specified by encoding.
                </comment>
            </elem>
            
            <elem name="constellationXmf" multiplicity="0..*" type ="xmf" >
                <comment>
                    XMF formated constellation with the specified encoding format.  If encoding is 2 (XMF) or greater than 255, then constellation data will be returned
                    in as XMF or encoded XMF.
                </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>