<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" targetNamespace="http://www.opengis.net/gml" elementFormDefault="qualified" attributeFormDefault="unqualified" version="3.2.0" xml:lang="en" finalDefault="" blockDefault="">
    <annotation>
        <appinfo source="urn:opengis:specification:gml:schema-measures:v3.2.0">measures.xsd</appinfo>
        <documentation>see GML 16.3</documentation>
    </annotation>
    <include schemaLocation="units.xsd"/>
    <element name="measure" type="gml:MeasureType" nillable="false" abstract="false"/>
    <complexType name="LengthType" mixed="false" abstract="false">
        <simpleContent>
            <extension base="gml:MeasureType"/>
        </simpleContent>
    </complexType>
    <complexType name="ScaleType" mixed="false" abstract="false">
        <simpleContent>
            <extension base="gml:MeasureType"/>
        </simpleContent>
    </complexType>
    <complexType name="TimeType" mixed="false" abstract="false">
        <simpleContent>
            <extension base="gml:MeasureType"/>
        </simpleContent>
    </complexType>
    <complexType name="GridLengthType" mixed="false" abstract="false">
        <simpleContent>
            <extension base="gml:MeasureType"/>
        </simpleContent>
    </complexType>
    <complexType name="AreaType" mixed="false" abstract="false">
        <simpleContent>
            <extension base="gml:MeasureType"/>
        </simpleContent>
    </complexType>
    <complexType name="VolumeType" mixed="false" abstract="false">
        <simpleContent>
            <extension base="gml:MeasureType"/>
        </simpleContent>
    </complexType>
    <complexType name="SpeedType" mixed="false" abstract="false">
        <simpleContent>
            <extension base="gml:MeasureType"/>
        </simpleContent>
    </complexType>
    <complexType name="AngleType" mixed="false" abstract="false">
        <simpleContent>
            <extension base="gml:MeasureType"/>
        </simpleContent>
    </complexType>
    <element name="angle" type="gml:AngleType" nillable="false" abstract="false"/>
    <element name="dmsAngle" type="gml:DMSAngleType" nillable="false" abstract="false"/>
    <complexType name="DMSAngleType" mixed="false" abstract="false">
        <sequence minOccurs="1" maxOccurs="1">
            <element ref="gml:degrees" minOccurs="1" maxOccurs="1" nillable="false"/>
            <choice minOccurs="0" maxOccurs="1">
                <element ref="gml:decimalMinutes" minOccurs="1" maxOccurs="1" nillable="false"/>
                <sequence minOccurs="1" maxOccurs="1">
                    <element ref="gml:minutes" minOccurs="1" maxOccurs="1" nillable="false"/>
                    <element ref="gml:seconds" minOccurs="0" maxOccurs="1" nillable="false"/>
                </sequence>
            </choice>
        </sequence>
    </complexType>
    <element name="degrees" type="gml:DegreesType" nillable="false" abstract="false"/>
    <complexType name="DegreesType" mixed="false" abstract="false">
        <simpleContent>
            <extension base="gml:DegreeValueType">
                <attribute name="direction" use="optional">
                    <simpleType>
                        <restriction base="string">
                            <enumeration value="N"/>
                            <enumeration value="E"/>
                            <enumeration value="S"/>
                            <enumeration value="W"/>
                            <enumeration value="+"/>
                            <enumeration value="-"/>
                        </restriction>
                    </simpleType>
                </attribute>
            </extension>
        </simpleContent>
    </complexType>
    <simpleType name="DegreeValueType">
        <restriction base="nonNegativeInteger">
            <maxInclusive value="359" fixed="false"/>
        </restriction>
    </simpleType>
    <element name="decimalMinutes" type="gml:DecimalMinutesType" nillable="false" abstract="false"/>
    <simpleType name="DecimalMinutesType">
        <restriction base="decimal">
            <minInclusive value="0.00" fixed="false"/>
            <maxExclusive value="60.00" fixed="false"/>
        </restriction>
    </simpleType>
    <element name="minutes" type="gml:ArcMinutesType" nillable="false" abstract="false"/>
    <simpleType name="ArcMinutesType">
        <restriction base="nonNegativeInteger">
            <maxInclusive value="59" fixed="false"/>
        </restriction>
    </simpleType>
    <element name="seconds" type="gml:ArcSecondsType" nillable="false" abstract="false"/>
    <simpleType name="ArcSecondsType">
        <restriction base="decimal">
            <minInclusive value="0.00" fixed="false"/>
            <maxExclusive value="60.00" fixed="false"/>
        </restriction>
    </simpleType>
    <complexType name="AngleChoiceType" mixed="false" abstract="false">
        <choice minOccurs="1" maxOccurs="1">
            <element ref="gml:angle" minOccurs="1" maxOccurs="1" nillable="false"/>
            <element ref="gml:dmsAngle" minOccurs="1" maxOccurs="1" nillable="false"/>
        </choice>
    </complexType>
</schema>