﻿<?xml version="1.0" encoding="utf-8"?>
<!--投影变换-->
<!--核心思想是以WGS84坐标的地心坐标系为统一度量椭球，配置文件中记录的是向统一度量椭球进行变换的相关参数-->
<xs:schema id="SpatialReferenceTemplate"
    targetNamespace="http://Zondy.MapGISCitySvr.Xsd"
    elementFormDefault="qualified"
    xmlns="http://tempuri.org/SpatialReferenceTemplate.xsd"
    xmlns:mstns="http://tempuri.org/SpatialReferenceTemplate.xsd"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:gis="http://Zondy.MapGISCitySvr.Xsd"
>

  <!--引用命名空间要素-->
  <xs:include schemaLocation="ClnDefTemplate.xsd"></xs:include>

  <!--坐标单位，投影主体信息，包含投影定义，平面变换和球面变换4个部分-->
  <xs:complexType name="_SpatialReference">
    <xs:sequence>
      <!--Part1:投影椭球的定义,默认投影方式为高斯克吕格投影Gauss_Kruger-->
      <xs:element name="Projcs">
        <xs:complexType>
          <xs:sequence>
            <!--椭球名称:ProjcsName="BJ54"/"XA80"/"WGS84"/"WUHAN2012"-->
            <xs:element name="ProjcsName" type="xs:string"></xs:element>
            <!--椭球长半轴:ProjcsA(单位:Meters)-->
            <xs:element name="Projcsa" type="xs:double"></xs:element>
            <!--椭球扁率:ProjcsF-->
            <xs:element name="Projcsf" type="xs:double"></xs:element>
            <!--中央经线(单位:度)-->
            <xs:element name="Central_Meridian" type="xs:double"></xs:element>
            <!--东向平移(单位:Meters)-->
            <xs:element name="False_Easting" type="xs:double"></xs:element>
            <!--北向平移(单位:Meters)-->
            <xs:element name="False_Northing" type="xs:double"></xs:element>
            <!--投影比率:-->
            <xs:element name="Scale_Factor" type="xs:double"></xs:element>
            <!--任意点纬度(单位:度)-->
            <xs:element name="Latitude_Of_Origin" type="xs:double"></xs:element>
            <!--坐标单位-->
            <xs:element name="ProjcsUNIT" type="gis:_MapUnit"></xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>

      <!--Part2:平面坐标变换参数，默认为4参数变换-->
      <xs:element name="PlaneTrans">
        <xs:complexType>
          <xs:sequence>
            <!--x平移(单位:Meters)-->
            <xs:element name="Plane_x_off" type="xs:double"></xs:element>
            <!--y平移(单位:Meters)-->
            <xs:element name="Plane_y_off" type="xs:double"></xs:element>
            <!--旋转角度(单位:秒)-->
            <xs:element name="Plane_angle" type="xs:double"></xs:element>
            <!--修正系数-->
            <xs:element name="Plane_m" type="xs:double"></xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>

      <!--Part3:球面坐标变换参数，默认为布尔莎7参数变换-->
      <xs:element name="GlobeTrans">
        <xs:complexType>
          <xs:sequence>
            <!--x平移(单位:Meters)-->
            <xs:element name="Globe_x_off" type="xs:double"></xs:element>
            <!--y平移(单位:Meters)-->
            <xs:element name="Globe_y_off" type="xs:double"></xs:element>
            <!--z平移(单位:Meters)-->
            <xs:element name="Globe_z_off" type="xs:double"></xs:element>
            <!--x旋转(单位:秒)-->
            <xs:element name="Globe_x_angle" type="xs:double"></xs:element>
            <!--y旋转(单位:秒)-->
            <xs:element name="Globe_y_angle" type="xs:double"></xs:element>
            <!--z旋转(单位:秒)-->
            <xs:element name="Globe_z_angle" type="xs:double"></xs:element>
            <!--修正系数-->
            <xs:element name="Globe_m" type="xs:double"></xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      
    </xs:sequence>
  </xs:complexType>
</xs:schema>
