ShapeCommon.xid.xml 5.12 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="ShapeCommon.xid.xml">
    <title>Common Shape Definitions</title>
  <import ref="https://xid.location.studio/GeoSpatial/V1.0/Shape.xid.xml" local="Shape.xid.xml" />

  <namespace name="GeoSpatial">
        <using namespace="Tensor"/>

        <struct name="Point2D" type="Shape" rttkey="GeoSpatial.ShapeType.Point2D">
            <comment>Defines a 2D (lat, lon) point in WGS84 coordinates.</comment>
            <elem name="lat" type="float64" multiplicity="1">
                <tag name="unit" value="degrees"/>
                <tag name="reference" value="WGS84"/>
            </elem>
            <elem name="lon" type="float64" multiplicity="1">
                <tag name="unit" value="degrees"/>
                <tag name="reference" value="WGS84"/>
            </elem>
        </struct>

        <struct name="Circle" type="Point2D" rttkey="GeoSpatial.ShapeType.Circle">
            <comment>In an Estimate, the shape is the uncertainty area.</comment>
            <elem name="radius" type="float32" multiplicity="1">
                <tag name="unit" value="meters"/>
                <comment>
                    In an estimate, radius is the horizontal uncertainty.\n
                    0 &lt;= radius
                </comment>
            </elem>
        </struct>

        <struct name="Ellipse" type="Point2D" rttkey="GeoSpatial.ShapeType.Ellipse">
            <comment>In an Estimate, the shape is the uncertainty area.</comment>
            <elem name="major" type="float32" multiplicity="1">
                <tag name="unit" value="meters"/>
                <comment>major axis horizontal radius</comment>
            </elem>
            <elem name="minor" type="float32" multiplicity="1">
                <tag name="unit" value="meters"/>
                <comment>minor axis horizontal radius</comment>
            </elem>
            <elem name="orient" type="float32" multiplicity="1">
                <tag name="unit" value="degrees"/>
                <comment>
                    Angle between north and major axis.\n
                    0 &lt;= orient &lt; 180.
                </comment>
            </elem>
        </struct>

        <struct name="Point3D" type="Point2D"  rttkey="GeoSpatial.ShapeType.Point3D">
            <comment>Defines a 3D (lat, lon, alt) point in WGS84 coordinates.</comment>
            <elem name="alt" type="float64" multiplicity="1">
                <tag name="unit" value="meters"/>
                <tag name="reference" value="WGS84"/>
            </elem>
        </struct>

        <struct name="Spheroid" type="Point3D" rttkey="GeoSpatial.ShapeType.Spheroid">
            <comment>
                Spheroid is the shape of a circular "pill".\n
                In an Estimate, the shape is the uncertainty area.
            </comment>
            <elem name="radius" type="float32" multiplicity="1">
                <tag name="unit" value="meters"/>
                <comment>
                    In an estimate, radius is the horizontal uncertainty.\n
                    0 &lt;= radius
                </comment>
            </elem>
            <elem name="vert" type="float32" multiplicity="1">
                <tag name="unit" value="meters"/>
                <comment>
                    In an estimate, vert is the vertical uncertainty.\n
                    0 &lt;= vert
                </comment>
            </elem>
        </struct>

        <struct name="Ellipsoid" type="Point3D" rttkey="GeoSpatial.ShapeType.Ellipsoid">
            <comment>
                Ellipsoid is the shape of an oblong "pill" at an orientation.\n
                In an Estimate, the shape is the uncertainty area.
            </comment>
            <elem name="major" type="float32" multiplicity="1">
                <tag name="unit" value="meters"/>
                <comment>major axis radius/distance/reach</comment>
            </elem>
            <elem name="minor" type="float32" multiplicity="1">
                <tag name="unit" value="meters"/>
                <comment>minor axis radius/distance/reach</comment>
            </elem>
            <elem name="orient" type="float32" multiplicity="1">
                <tag name="unit" value="degrees"/>
                <comment>
                    angle between north and major axis.\n
                    0 &lt;= orient &lt; 180.
                </comment>
            </elem>
            <elem name="vert" type="float32" multiplicity="1">
                <tag name="unit" value="meters"/>
                <comment>
                    In an estimate, vert is the vertical uncertainty.\n
                    0 &lt;= vert
                </comment>
            </elem>
        </struct>
        
    </namespace>
</specification>