<?xml version="1.0"?>
<xsd:schema
  targetNamespace="U:\Address_Standard\Optimal Source Reqs\SchemasAndStylesheetUsedtoValidate\CensusAddressWindowsSchemas\SpatialReferenceInformation"
  xmlns:sri="U:\Address_Standard\Optimal Source Reqs\SchemasAndStylesheetUsedtoValidate\CensusAddressWindowsSchemas\SpatialReferenceInformation"
  xmlns:mtag="U:\Address_Standard\Optimal Source Reqs\SchemasAndStylesheetUsedtoValidate\CensusAddressWindowsSchemas\MiscTypesAndGroups"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb">

  <xsd:import
    namespace="U:\Address_Standard\Optimal Source Reqs\SchemasAndStylesheetUsedtoValidate\CensusAddressWindowsSchemas\MiscTypesAndGroups"
    schemaLocation="U:\Address_Standard\Optimal Source Reqs\SchemasAndStylesheetUsedtoValidate\CensusAddressWindowsSchemas\MiscTypesAndGroups.xsd"/>

  <xsd:annotation>
    <xsd:documentation xml:lang="en"> Name: SpatialReferenceInformation.xsd Authors: James W. Allor,
      Matthew J. McCready Date: 20050315 Description: Validating XML Schema for the Spatial
      Reference Information section. Please reference the Census Bureau Geospatial Product Metadata
      Standard (GPMS), Table 1. Modification History: Initial Date Change Request ID Description
    </xsd:documentation>
  </xsd:annotation>





  <xsd:complexType name="IncomingAddress_Type">
    <xsd:sequence>
      <xsd:element name="horizsys">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:choice>
              <xsd:element name="geograph" type="sri:Geographic_Type"/>
              <xsd:element name="planar" type="sri:Planar_Type" maxOccurs="unbounded"/>
              <xsd:element name="local" type="sri:Local_Type"/>
            </xsd:choice>
            <xsd:element name="geodetic" type="sri:Geodetic_Model_Type"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>





  <!-- Major Section Complex Types -->

  <xsd:complexType name="Geographic_Type">

    <xsd:sequence>

      <xsd:element name="latres">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="longres">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="geogunit" type="sri:Geographic_Coordinate_Units_Type"/>
    </xsd:sequence>

  </xsd:complexType>


  <xsd:complexType name="Planar_Type">
    <xsd:sequence>
      <xsd:choice>

        <xsd:element name="mapproj">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element name="mapprojn" type="sri:Map_Projection_Name_Type"/>
              <xsd:choice>
                <xsd:element name="Albers_Conical_Equal_Area" type="sri:Albers_Conical_Equal_Area_Type"/>
                <!-- <xsd:element name="Albers_Conical_Equal_Area_Delaware"
                             type="sri:Albers_Conical_Equal_Area_Type_Delaware"/> -->
                <xsd:element name="Albers_Conical_Equal_Area_for_Alabama" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Alaska" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_American_Samoa" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Samoa" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Arizona" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Arkansas" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_California" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Colorado" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Connecticut" type="sri:Albers_Conical_Equal_Area_Type"/>
                <!-- original try -->
                <xsd:element name="Albers_Conical_Equal_Area_for_Delaware" type="sri:Albers_Conical_Equal_Area_Type"/>
                <!-- original try -->
                <xsd:element name="Albers_Conical_Equal_Area_for_District_of_Columbia" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Federated_States_of_Micronesia" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Florida" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Georgia" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Guam" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Hawaii" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Idaho" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Illinois" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Indiana" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Iowa" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Kansas" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Kentucky" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Louisiana" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Maine" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Marshall_Islands"  type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Maryland" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Massachusetts" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Michigan"  type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Minnesota" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Mississippi" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Missouri" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Montana" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Nebraska" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Nevada" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_New_Hampshire" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_New_Jersey"  type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_New_Mexico"  type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_New_York" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_North_Carolina"  type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_North_Dakota" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Northern_Mariana_Islands" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_N._Mariana_Islands" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Ohio" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Oklahoma" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Oregon" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Palau" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Pennsylvania" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Puerto_Rico" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Rhode_Island" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_South_Carolina" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_South_Dakota" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Tennessee" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Texas" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Utah" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Vermont" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Virgin_Islands" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_U.S._Virgin_Islands" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_United_States" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Virginia" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Washington" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_West_Virginia" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Wisconsin" type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="Albers_Conical_Equal_Area_for_Wyoming" type="sri:Albers_Conical_Equal_Area_Type"/>
                <!-- end of state Albers -->
                <xsd:element name="albers " type="sri:Albers_Conical_Equal_Area_Type"/>
                <xsd:element name="azimequi" type="sri:Azimuthal_Equidistant_Type"/>
                <xsd:element name="equicon" type="sri:Equidistant_Conic_Type"/>
                <xsd:element name="equirect" type="sri:Equirectangular_Type"/>
                <xsd:element name="gvnsp" type="sri:General_Vertical_Near-sided_Perspective_Type"/>
                <xsd:element name="gnomonic" type="sri:Gnomonic_Type"/>
                <xsd:element name="lamberta" type="sri:Lambert_Azimuthal_Equal_Area_Type"/>
                <xsd:element name="lambertc" type="sri:Lambert_Conformal_Conic_Type"/>
                <xsd:element name="mercator" type="sri:Mercator_Type"/>
                <xsd:element name="modsak" type="sri:Modified_Stereographic_for_Alaska_Type"/>
                <xsd:element name="miller" type="sri:Miller_Cylindrical_Type"/>
                <xsd:element name="obqmerc" type="sri:Oblique_Mercator_Type"/>
                <xsd:element name="orthogr" type="sri:Orthographic_Type"/>
                <xsd:element name="polarst" type="sri:Polar_Stereographic_Type"/>
                <xsd:element name="polycon" type="sri:Polyconic_Type"/>
                <xsd:element name="robinson" type="sri:Robinson_Type"/>
                <xsd:element name="sinusoid" type="sri:Sinusoidal_Type"/>
                <xsd:element name="spaceobq" type="sri:Space_Oblique_Mercator_Landsat_Type"/>
                <xsd:element name="stereo" type="sri:Stereographic_Type"/>
                <xsd:element name="transmer" type="sri:Transverse_Mercator_Type"/>
                <xsd:element name="vdgrin" type="sri:van_der_Grinten_Type"/>
                <xsd:element name="mapprojp" type="sri:Other_Projections_Definition_Type"/>
              </xsd:choice>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>

        <xsd:element name="gridsys">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element name="gridsysn" type="sri:Grid_Coordinate_System_Name_Type"/>
              <xsd:choice>
                <xsd:element name="utm" type="sri:Universal_Transverse_Mercator_Type"/>
                <xsd:element name="ups" type="sri:Universal_Polar_Stereographic_Type"/>
                <xsd:element name="spcs" type="sri:State_Plane_Coordinate_System_Type"/>
                <xsd:element name="State_Plane_Coordinate_System_1927" type="sri:State_Plane_Coordinate_System_1927_Type"/>
                <xsd:element name="State_Plane_Coordinate_System_1983" type="sri:State_Plane_Coordinate_System_1983_Type"/>
                <xsd:element name="arcsys" type="sri:ARC_Coordinate_System_Type"/>
                <xsd:element name="Other_Grid_Systems_Definition" type="mtag:vstring"/>
                <xsd:element name="othergrd " type="mtag:vstring"/>
              </xsd:choice>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>

        <xsd:element name="localp">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element name="localpd "/>
              <xsd:element name="localpgi"/>
            </xsd:sequence>
          </xsd:complexType>

        </xsd:element>

      </xsd:choice>
      <xsd:element name="planci">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="plance" type="sri:Planar_Coordinate_Encoding_Method_Type"/>

            <xsd:choice>
              <xsd:element name="coordrep" type="sri:Coordinate_Representation_Type"/>
              <xsd:element name="distbrep" type="sri:Distance_and_Bearing_Representation_Type"/>
            </xsd:choice>
            <xsd:element name="plandu "/>
          </xsd:sequence>
        </xsd:complexType>

      </xsd:element>

    </xsd:sequence>
  </xsd:complexType>


  <!-- put new types here -->

  <xsd:complexType name="Coordinate_Representation_Type">
    <xsd:sequence>
      <xsd:element name="absres"/>


      <xsd:element name="ordres" type="mtag:positiveFloat"/>
      <xsd:element name="Planar_Distance_Units" type="sri:Planar_Distance_Units_Type"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="Distance_and_Bearing_Representation_Type">
    <xsd:sequence>

      <xsd:element name="distres">
        <xsd:simpleType>
          <xsd:restriction base="xsd:float">
            <xsd:minInclusive value="0"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="bearres">
        <xsd:simpleType>
          <xsd:restriction base="xsd:float">
            <xsd:minInclusive value="0"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="bearunit">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Decimal degrees"/>
            <xsd:enumeration value="Decimal minutes"/>
            <xsd:enumeration value="Decimal seconds"/>
            <xsd:enumeration value="Degrees and decimal minutes"/>
            <xsd:enumeration value="Degrees, minutes, and decimal seconds"/>
            <xsd:enumeration value="Radians"/>
            <xsd:enumeration value="Grads"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="bearrefd">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="North"/>
            <xsd:enumeration value="north"/>
            <xsd:enumeration value="South"/>
            <xsd:enumeration value="south"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="bearrefm">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Assumed"/>
            <xsd:enumeration value="Grid"/>
            <xsd:enumeration value="Magnetic"/>
            <xsd:enumeration value="Astronomic"/>
            <xsd:enumeration value="Geodetic"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="Local_Type">
    <xsd:sequence>

      <xsd:element name="localdes">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="localgeo">
        <xsd:simpleType>
          <xsd:restriction base="xsd:float">
            <xsd:minInclusive value="0"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="Geodetic_Model_Type">
    <xsd:sequence>
      <xsd:element name="horizdn" type="sri:Horizontal_Datum_Name_Type"/>
      <xsd:element name="ellips" type="sri:Ellipsoid_Name_Type"/>
      <xsd:element name="semiaxis" type="mtag:positiveFloat"/>
      <xsd:element name="denflat" type="mtag:positiveFloat"/>
    </xsd:sequence>
  </xsd:complexType>


  <!-- Map Projection Types -->

  <xsd:simpleType name="Map_Projection_Name_Type">
    <xsd:union>
      <xsd:simpleType>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Albers Conical Equal Area"/>
          <!-- Albers Conical Equal Area -->
          <xsd:enumeration value="Albers Conical Equal Area for Alabama"/>
          <xsd:enumeration value="Albers Conical Equal Area for Alaska"/>
          <xsd:enumeration value="Albers Conical Equal Area for Samoa"/>
          <xsd:enumeration value="Albers Conical Equal Area for American Samoa"/>
          <xsd:enumeration value="Albers Conical Equal Area for Arizona"/>
          <xsd:enumeration value="Albers Conical Equal Area for Arkansas"/>
          <xsd:enumeration value="Albers Conical Equal Area for California"/>
          <xsd:enumeration value="Albers Conical Equal Area for Colorado"/>
          <xsd:enumeration value="Albers Conical Equal Area for Connecticut"/>
          <!-- <xsd:enumeration value="Albers Conical Equal Area (Delaware)"/> -->
          <xsd:enumeration value="Albers Conical Equal Area for Delaware"/>
          <xsd:enumeration value="Albers Conical Equal Area for District of Columbia"/>
          <xsd:enumeration value="Albers Conical Equal Area for Federated States of Micronesia"/>
          <xsd:enumeration value="Albers Conical Equal Area for Florida"/>
          <xsd:enumeration value="Albers Conical Equal Area for Georgia"/>
          <xsd:enumeration value="Albers Conical Equal Area for Guam"/>
          <xsd:enumeration value="Albers Conical Equal Area for Hawaii"/>
          <xsd:enumeration value="Albers Conical Equal Area for Idaho"/>
          <xsd:enumeration value="Albers Conical Equal Area for Illinois"/>
          <xsd:enumeration value="Albers Conical Equal Area for Indiana"/>
          <xsd:enumeration value="Albers Conical Equal Area for Iowa"/>
          <xsd:enumeration value="Albers Conical Equal Area for Kansas"/>
          <xsd:enumeration value="Albers Conical Equal Area for Kentucky"/>
          <xsd:enumeration value="Albers Conical Equal Area for Louisiana"/>
          <xsd:enumeration value="Albers Conical Equal Area for Maine"/>
          <xsd:enumeration value="Albers Conical Equal Area for Marshall Islands"/>
          <xsd:enumeration value="Albers Conical Equal Area for Maryland"/>
          <xsd:enumeration value="Albers Conical Equal Area for Massachusetts"/>
          <xsd:enumeration value="Albers Conical Equal Area for Michigan"/>
          <xsd:enumeration value="Albers Conical Equal Area for Minnesota"/>
          <xsd:enumeration value="Albers Conical Equal Area for Mississippi"/>
          <xsd:enumeration value="Albers Conical Equal Area for Missouri"/>
          <xsd:enumeration value="Albers Conical Equal Area for Montana"/>
          <xsd:enumeration value="Albers Conical Equal Area for Nebraska"/>
          <xsd:enumeration value="Albers Conical Equal Area for Nevada"/>
          <xsd:enumeration value="Albers Conical Equal Area for New Hampshire"/>
          <xsd:enumeration value="Albers Conical Equal Area for New Jersey"/>
          <xsd:enumeration value="Albers Conical Equal Area for New Mexico"/>
          <xsd:enumeration value="Albers Conical Equal Area for New York"/>
          <xsd:enumeration value="Albers Conical Equal Area for North Carolina"/>
          <xsd:enumeration value="Albers Conical Equal Area for North Dakota"/>
          <xsd:enumeration value="Albers Conical Equal Area for Northern Mariana Islands"/>
          <xsd:enumeration value="Albers Conical Equal Area for Ohio"/>
          <xsd:enumeration value="Albers Conical Equal Area for Oklahoma"/>
          <xsd:enumeration value="Albers Conical Equal Area for Oregon"/>
          <xsd:enumeration value="Albers Conical Equal Area for Palau"/>
          <xsd:enumeration value="Albers Conical Equal Area for Pennsylvania"/>
          <xsd:enumeration value="Albers Conical Equal Area for Puerto Rico"/>
          <xsd:enumeration value="Albers Conical Equal Area for Rhode Island"/>
          <xsd:enumeration value="Albers Conical Equal Area for South Carolina"/>
          <xsd:enumeration value="Albers Conical Equal Area for South Dakota"/>
          <xsd:enumeration value="Albers Conical Equal Area for Tennessee"/>
          <xsd:enumeration value="Albers Conical Equal Area for Texas"/>
          <xsd:enumeration value="Albers Conical Equal Area for Utah"/>
          <xsd:enumeration value="Albers Conical Equal Area for Vermont"/>
          <xsd:enumeration value="Albers Conical Equal Area for Virgin Islands"/>
          <xsd:enumeration value="Albers Conical Equal Area for Virgin U.S Islands"/>
          <xsd:enumeration value="Albers Conical Equal Area for United States"/>
          <xsd:enumeration value="Albers Conical Equal Area for Virginia"/>
          <xsd:enumeration value="Albers Conical Equal Area for Washington"/>
          <xsd:enumeration value="Albers Conical Equal Area for West Virginia"/>
          <xsd:enumeration value="Albers Conical Equal Area for Wisconsin"/>
          <xsd:enumeration value="Albers Conical Equal Area for Wyoming"/>

          <!-- end of Albers Conical Equal Area -->
          <xsd:enumeration value="Azimuthal Equidistant"/>
          <xsd:enumeration value="Equidistant Conic"/>
          <xsd:enumeration value="Equirectangular"/>
          <xsd:enumeration value="General Vertical Near-sided Perspective"/>
          <xsd:enumeration value="Gnomonic"/>
          <xsd:enumeration value="Lambert Azimuthal Equal Area"/>
          <xsd:enumeration value="Lambert Conformal Conic"/>
          <xsd:enumeration value="Mercator"/>
          <xsd:enumeration value="Modified Stereographic for Alaska"/>
          <xsd:enumeration value="Miller Cylindrical"/>
          <xsd:enumeration value="Oblique Mercator"/>
          <xsd:enumeration value="Orthographic"/>
          <xsd:enumeration value="Polar Stereographic"/>
          <xsd:enumeration value="Polyconic"/>
          <xsd:enumeration value="Robinson"/>
          <xsd:enumeration value="Sinusoidal"/>
          <xsd:enumeration value="Space Oblique Mercator"/>
          <xsd:enumeration value="Stereographic"/>
          <xsd:enumeration value="Transverse Mercator"/>
          <xsd:enumeration value="van der Grinten"/>
          <xsd:enumeration value="Other Projection"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType>
        <xsd:restriction base="mtag:vstring"/>
      </xsd:simpleType>
    </xsd:union>
  </xsd:simpleType>


  <xsd:complexType name="Albers_Conical_Equal_Area_Type">
    <xsd:sequence>
      <xsd:element name="stdparll" type="mtag:Latitude_Type" minOccurs="2" maxOccurs="2"/>
      <xsd:element name="longcm" type="mtag:Longitude_Type"/>
      <xsd:element name="latprjo" type="mtag:Latitude_Type"/>

      <xsd:element name="feast">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="fnorth">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="Albers_Conical_Equal_Area_Type_Delaware">
    <xsd:sequence>
      <xsd:element name="stdparll" type="mtag:Latitude_Type" minOccurs="2" maxOccurs="2"/>
      <xsd:element name="longcm" type="mtag:Longitude_Type"/>
      <xsd:element name="latprjo" type="mtag:Latitude_Type"/>

      <xsd:element name="feast">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="fnorth">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="Azimuthal_Equidistant_Type">
    <xsd:sequence>
      <xsd:element name="longcm" type="mtag:Longitude_Type"/>
      <xsd:element name="latprjo" type="mtag:Latitude_Type"/>

      <xsd:element name="feast">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="fnorth">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="Equidistant_Conic_Type">
    <xsd:sequence>
      <xsd:element name="stdparll" type="mtag:Latitude_Type" minOccurs="2" maxOccurs="2"/>
      <xsd:element name="longcm" type="mtag:Longitude_Type"/>
      <xsd:element name="latprjo" type="mtag:Latitude_Type"/>

      <xsd:element name="feast">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="fnorth">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="Equirectangular_Type">
    <xsd:sequence>
      <xsd:element name="stdparll" type="mtag:Latitude_Type"/>

      <xsd:element name="longcm">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="feast">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="fnorth">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="General_Vertical_Near-sided_Perspective_Type">
    <xsd:sequence>
      <xsd:element name="heightpt" type="mtag:positiveFloat"/>
      <xsd:element name="longpc" type="mtag:Longitude_Type"/>
      <xsd:element name="latprjc" type="mtag:Latitude_Type"/>

      <xsd:element name="feast">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="fnorth">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="Gnomonic_Type">
    <xsd:sequence>
      <xsd:element name="longpc" type="mtag:Longitude_Type"/>
      <xsd:element name="latprjc" type="mtag:Latitude_Type"/>

      <xsd:element name="feast">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="fnorth">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="Lambert_Azimuthal_Equal_Area_Type">
    <xsd:sequence>
      <xsd:element name="longpc" type="mtag:Longitude_Type"/>
      <xsd:element name="latprjc" type="mtag:Latitude_Type"/>

      <xsd:element name="feast">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="fnorth">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="Lambert_Conformal_Conic_Type">
    <xsd:sequence>
      <xsd:element name="stdparll" type="mtag:Latitude_Type" minOccurs="2" maxOccurs="2"/>
      <xsd:element name="longcm" type="mtag:Longitude_Type"/>
      <xsd:element name="latprjo" type="mtag:Latitude_Type"/>

      <xsd:element name="feast">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="fnorth">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="Mercator_Type">
    <xsd:sequence>
      <xsd:choice>
        <xsd:element name="stdparll" type="mtag:Latitude_Type"/>
        <xsd:element name="sfequat" type="mtag:positiveFloat"/>
      </xsd:choice>
      <xsd:element name="longcm" type="mtag:Longitude_Type"/>

      <xsd:element name="feast">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="fnorth">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="Modified_Stereographic_for_Alaska_Type">
    <xsd:sequence>

      <xsd:element name="feast">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="fnorth">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="Miller_Cylindrical_Type">
    <xsd:sequence>
      <xsd:element name="longcm" type="mtag:Longitude_Type"/>

      <xsd:element name="feast">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="fnorth">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="Oblique_Mercator_Type">
    <xsd:sequence>
      <xsd:element name="sfctrlin" type="mtag:positiveFloat"/>
      <xsd:choice>
        <xsd:element name="obqlazim">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element  name="azimangl" type="sri:Azimuthal_Angle_Type"/>
              <xsd:element  name="azimptl" type="mtag:Longitude_Type"/>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
        <xsd:element  name="obqlpt">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element  name="obqllat" type="mtag:Latitude_Type"/>
              <xsd:element  name="obqllong" type="mtag:Longitude_Type"/>
              <xsd:element  name="obqllat" type="mtag:Latitude_Type"/>
              <xsd:element  name="obqllong" type="mtag:Longitude_Type"/>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:choice>
      <xsd:element name="latprjo" type="mtag:Latitude_Type"/>

      <xsd:element name="feast">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="fnorth">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="Orthographic_Type">
    <xsd:sequence>
      <xsd:element name="longpc" type="mtag:Latitude_Type"/>
      <xsd:element name="latprjc" type="mtag:Latitude_Type"/>

      <xsd:element name="feast">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="fnorth">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="Polar_Stereographic_Type">
    <xsd:sequence>
      <xsd:element  name="svlong" type="mtag:Longitude_Type"/>
      <xsd:choice>
        <xsd:element name="stdparll" type="mtag:Latitude_Type"/>
        <xsd:element  name="sfprjorg" type="mtag:positiveFloat"/>
      </xsd:choice>

      <xsd:element name="feast">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="fnorth">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="Polyconic_Type">
    <xsd:sequence>
      <xsd:element name="longcm" type="mtag:Longitude_Type"/>
      <xsd:element name="latprjo" type="mtag:Latitude_Type"/>

      <xsd:element name="feast">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="fnorth">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="Robinson_Type">
    <xsd:sequence>
      <xsd:element name="longpc" type="mtag:Longitude_Type"/>

      <xsd:element name="feast">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="fnorth">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="Sinusoidal_Type">
    <xsd:sequence>
      <xsd:element name="longcm" type="mtag:Longitude_Type"/>

      <xsd:element name="feast">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="fnorth">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="Space_Oblique_Mercator_Landsat_Type">
    <xsd:sequence>
      <xsd:element  name="landsat" type="xsd:positiveInteger"/>
      <xsd:element  name="pathnum" type="xsd:positiveInteger"/>

      <xsd:element name="feast">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="fnorth">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>


    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="Stereographic_Type">
    <xsd:sequence>
      <xsd:element name="longpc" type="mtag:Longitude_Type"/>
      <xsd:element name="latprjc" type="mtag:Latitude_Type"/>

      <xsd:element name="feast">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="fnorth">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="Transverse_Mercator_Type">
    <xsd:sequence>
      <xsd:element  name="sfctrmer" type="mtag:positiveFloat"/>
      <xsd:element name="longcm" type="mtag:Longitude_Type"/>
      <xsd:element name="latprjo" type="mtag:Latitude_Type"/>

      <xsd:element name="feast">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="fnorth">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="van_der_Grinten_Type">
    <xsd:sequence>
      <xsd:element name="longcm" type="mtag:Longitude_Type"/>

      <xsd:element name="feast">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

      <xsd:element name="fnorth">
        <xsd:simpleType>
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>

    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="Other_Projections_Definition_Type">
    <xsd:sequence>
     <xsd:element name="stdparll" minOccurs="0"/>
      <xsd:element name="longcm" minOccurs="0"/>
      <xsd:element name="latprjo" minOccurs="0"/>
      <xsd:element name="feast" minOccurs="0"/>
      <xsd:element name="fnorth" minOccurs="0" />
      <xsd:element name="sfequat" minOccurs="0"/>
      <xsd:element name="heightpt" minOccurs="0"/>
      <xsd:element name="longpc" minOccurs="0"/>
      <xsd:element name="latprjc" minOccurs="0"/>
      <xsd:element name="sfctrlin" minOccurs="0"/>
     
        <xsd:element name="obqlazim" minOccurs="0">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element  name="azimangl" type="sri:Azimuthal_Angle_Type"/>
              <xsd:element  name="azimptl" type="mtag:Longitude_Type"/>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
        <xsd:element  name="obqlpt" minOccurs="0">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element  name="obqllat" type="mtag:Latitude_Type"/>
              <xsd:element  name="obqllong" type="mtag:Longitude_Type"/>
              <xsd:element  name="obqllat" type="mtag:Latitude_Type"/>
              <xsd:element  name="obqllong" type="mtag:Longitude_Type"/>
            </xsd:sequence>
          </xsd:complexType>
     </xsd:element>
     
  
      <xsd:element name="svlong"  minOccurs="0"/>
      <xsd:element name="sfprjorg" minOccurs="0"/>
      <xsd:element name="landsat" minOccurs="0"/>
      <xsd:element name="pathnum" minOccurs="0"/>
      <xsd:element name="sfctrmer" minOccurs="0"/>
      
      <xsd:element name="otherprj" type="sri:Map_Projection_Parameters_Type" minOccurs="0"/> 
      </xsd:sequence>
    </xsd:complexType>
  <!-- Grid Coordinate System Types -->

<!-- -->
<xsd:simpleType name="Map_Projection_Parameters_Type">
          <xsd:restriction base="mtag:vstring">
            <xsd:minLength value="1"/>
          </xsd:restriction>
        </xsd:simpleType>

  <xsd:simpleType name="Grid_Coordinate_System_Name_Type">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="Universal Transverse Mercator"/>
      <xsd:enumeration value="Universal Polar Stereographic"/>
      <!--<xsd:enumeration value="State Plane Coordinate System"/> -->
      <xsd:enumeration value="State Plane Coordinate System 1927"/>
      <xsd:enumeration value="State Plane Coordinate System 1983"/>
      <xsd:enumeration value="ARC Coordinate System"/>
      <xsd:enumeration value="Other Grid Systems Definition"/>
      <xsd:enumeration value="other grid system"/>
    </xsd:restriction>
  </xsd:simpleType>


  <xsd:complexType name="Universal_Transverse_Mercator_Type">
    <xsd:sequence>
      <xsd:element name="utmzone" type="sri:UTM_Zone_Number_Type"/>
      <xsd:element name="transmer" type="sri:Transverse_Mercator_Type"/>
    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="Universal_Polar_Stereographic_Type">
    <xsd:sequence>
      <xsd:element name="upszone" type="sri:UPS_Zone_Identifier_Type"/>
      <xsd:element name="polarst" type="sri:Polar_Stereographic_Type"/>
    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="State_Plane_Coordinate_System_Type">
    <xsd:sequence>
      <xsd:element name="spcszone" type="sri:SPCS_Zone_Identifier_Type"/>
      <xsd:choice>
        <xsd:element name="lambertc" type="sri:Lambert_Conformal_Conic_Type"/>
        <xsd:element name="transmer" type="sri:Transverse_Mercator_Type"/>
        <xsd:element name="obqmerc" type="sri:Oblique_Mercator_Type"/>
        <xsd:element name="polycon" type="sri:Polyconic_Type"/>
      </xsd:choice>
    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="State_Plane_Coordinate_System_1983_Type">
    <xsd:sequence>
      <xsd:element name="SPCS_Zone_Identifier" type="sri:SPCS_Zone_Identifier_Type"/>
      <xsd:element name="Map_Projection_Name" type="sri:Map_Projection_Name_Type"/>
      <xsd:choice>
        <xsd:element name="Lambert_Conformal_Conic" type="sri:Lambert_Conformal_Conic_Type"/>
        <xsd:element name="Transverse_Mercator" type="sri:Transverse_Mercator_Type"/>
        <xsd:element name="Oblique_Mercator" type="sri:Oblique_Mercator_Type"/>
        <xsd:element name="Polyconic" type="sri:Polyconic_Type"/>
      </xsd:choice>
    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="State_Plane_Coordinate_System_1927_Type">
    <xsd:sequence>
      <xsd:element name="SPCS_Zone_Identifier" type="sri:SPCS_Zone_Identifier_Type"/>
      <xsd:element name="Map_Projection_Name" type="sri:Map_Projection_Name_Type"/>
      <xsd:choice>
        <xsd:element name="Lambert_Conformal_Conic" type="sri:Lambert_Conformal_Conic_Type"/>
        <xsd:element name="Transverse_Mercator" type="sri:Transverse_Mercator_Type"/>
        <xsd:element name="Oblique_Mercator" type="sri:Oblique_Mercator_Type"/>
        <xsd:element name="Polyconic" type="sri:Polyconic_Type"/>
      </xsd:choice>
    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="ARC_Coordinate_System_Type">
    <xsd:sequence>
      <xsd:element name="ARC_System_Zone_Identifier" type="sri:ARC_System_Zone_Identifier_Type"/>
      <xsd:element name="Map_Projection_Name" type="sri:Map_Projection_Name_Type"/>
      <xsd:choice>
        <xsd:element name="Equirectangular" type="sri:Equirectangular_Type"/>
        <xsd:element name="Azimuthal_Equidistant" type="sri:Azimuthal_Equidistant_Type"/>
      </xsd:choice>
    </xsd:sequence>
  </xsd:complexType>


  <!-- Miscellaneous Types -->

  <xsd:simpleType name="Geographic_Coordinate_Units_Type">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="Decimal degrees"/>
      <xsd:enumeration value="Decimal minutes"/>
      <xsd:enumeration value="Decimal seconds"/>
      <xsd:enumeration value="Degrees and decimal minutes"/>
      <xsd:enumeration value="Degrees, minutes, and decimal seconds"/>
      <xsd:enumeration value="Radians"/>
      <xsd:enumeration value="Grads"/>
    </xsd:restriction>
  </xsd:simpleType>


  <xsd:simpleType name="Azimuthal_Angle_Type">
    <xsd:restriction base="xsd:float">
      <xsd:minInclusive value="0"/>
      <xsd:maxExclusive value="360"/>
    </xsd:restriction>
  </xsd:simpleType>


  <xsd:simpleType name="Planar_Coordinate_Encoding_Method_Type">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="coordinate pair"/>
      <xsd:enumeration value="distance and bearing"/>
      <xsd:enumeration value="row and column"/>
    </xsd:restriction>
  </xsd:simpleType>


  <xsd:simpleType name="Planar_Distance_Units_Type">
    <xsd:union>
      <xsd:simpleType>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="meters"/>
          <xsd:enumeration value="international feet"/>
          <xsd:enumeration value="survey feet"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType>
        <xsd:restriction base="mtag:vstring">
          <xsd:minLength value="1"/>
        </xsd:restriction>
      </xsd:simpleType>
    </xsd:union>
  </xsd:simpleType>


  <xsd:simpleType name="Horizontal_Datum_Name_Type">
    <xsd:union>
      <xsd:simpleType>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="North American Datum of 1927"/>
          <xsd:enumeration value="North American Datum of 1983"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType>
        <xsd:restriction base="mtag:vstring">
          <xsd:minLength value="1"/>
        </xsd:restriction>
      </xsd:simpleType>
    </xsd:union>
  </xsd:simpleType>


  <xsd:simpleType name="Ellipsoid_Name_Type">
    <xsd:union>
      <xsd:simpleType>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Clarke 1866"/>
          <xsd:enumeration value="Geodetic Reference System 80"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType>
        <xsd:restriction base="mtag:vstring">
          <xsd:minLength value="1"/>
        </xsd:restriction>
      </xsd:simpleType>
    </xsd:union>
  </xsd:simpleType>


  <xsd:simpleType name="UTM_Zone_Number_Type">
    <xsd:union>
      <xsd:simpleType>
        <xsd:restriction base="xsd:integer">
          <xsd:minInclusive value="1"/>
          <xsd:maxInclusive value="60"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType>
        <xsd:restriction base="xsd:integer">
          <xsd:minInclusive value="-60"/>
          <xsd:maxInclusive value="-1"/>
        </xsd:restriction>
      </xsd:simpleType>
    </xsd:union>
  </xsd:simpleType>


  <xsd:simpleType name="UPS_Zone_Identifier_Type">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="A"/>
      <xsd:enumeration value="B"/>
      <xsd:enumeration value="Y"/>
      <xsd:enumeration value="Z"/>
    </xsd:restriction>
  </xsd:simpleType>


  <xsd:simpleType name="SPCS_Zone_Identifier_Type">
    <xsd:restriction base="xsd:string">
      <xsd:pattern value="\d{4}"/>
    </xsd:restriction>
  </xsd:simpleType>


  <xsd:simpleType name="ARC_System_Zone_Identifier_Type">
    <xsd:restriction base="xsd:integer">
      <xsd:minInclusive value="1"/>
      <xsd:maxInclusive value="18"/>
    </xsd:restriction>
  </xsd:simpleType>


</xsd:schema>
