<?xml version="1.0" encoding="utf-8"?>
<!-- edited with XMLSpy v2006 U (http://www.altova.com) by Gudmundur Jokulsson (Norut IT) -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" xmlns:sat="http://cweb.ksat.no/cweb/schema/satellite" targetNamespace="http://cweb.ksat.no/cweb/schema/satellite" elementFormDefault="qualified" attributeFormDefault="unqualified" version="3.1.1" id="sat">
	<xsd:annotation>
		<xsd:documentation>
		    Copyright (c) 2006 KSAT and Norut IT, All Rights Reserved.
			Satellite image description - extending the http://cweb.ksat.no/cweb/schema/satellite namespace
		</xsd:documentation>
	</xsd:annotation>
	<!-- ====================================================================== -->
	<!-- GML IMPORT, SAT INCLUDE -->
	<xsd:import namespace="http://www.opengis.net/gml" schemaLocation="http://cweb.ksat.no/cweb/schema/gml/3.1.1/base/feature.xsd"/>
	<xsd:include schemaLocation="http://cweb.ksat.no/cweb/schema/satellite/sat.xsd"/>
	<!-- ================================================================== -->
	<!-- Global element definitons -->
	<!-- ================================================================== -->
	<xsd:element name="modelTiepoint" type="sat:ModelTiepointType">
		<xsd:annotation>
			<xsd:documentation>Raster to model tiepoint (I,J,K,X,Y,Z). I,J,K location in raster space X,Y,Zvector in model space.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="ModelTiepointType">
		<xsd:sequence>
			<xsd:element name="I" type="xsd:decimal"/>
			<xsd:element name="J" type="xsd:decimal"/>
			<xsd:element name="K" type="xsd:decimal"/>
			<xsd:element name="X" type="xsd:decimal"/>
			<xsd:element name="Y" type="xsd:decimal"/>
			<xsd:element name="Z" type="xsd:decimal"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="modelPixelScale" type="sat:ModelPixelScaleType">
		<xsd:annotation>
			<xsd:documentation>Size of raster pixel spacing in model space units (ScaleX, ScaleY, ScaleZ) .</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="ModelPixelScaleType">
		<xsd:sequence>
			<xsd:element name="ScaleX" type="xsd:decimal"/>
			<xsd:element name="ScaleY" type="xsd:decimal"/>
			<xsd:element name="ScaleZ" type="xsd:decimal"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="modelTransformation" type="sat:ModelTransformationType">
		<xsd:annotation>
			<xsd:documentation>Transformation matrix for raster for use in projection (at center point).  Matrix values are of type double - separated by space, and should be read row-by-row, i.e. the first 'width' number of values are the first row of the matrix.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="ModelTransformationType">
		<xsd:sequence>
			<xsd:element name="width" type="xsd:integer"/>
			<xsd:element name="height" type="xsd:integer"/>
			<xsd:element name="matrix" type="gml:doubleList"/>
		</xsd:sequence>
	</xsd:complexType>
	<!--  Satellite image element -->
	<xsd:element name="image" type="sat:ImageType">
		<xsd:annotation>
			<xsd:documentation>Satellite image information</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="ImageType">
		<xsd:sequence>
			<xsd:element name="imageFileName" type="xsd:string">
				<xsd:annotation>
					<xsd:documentation>The name of the originating geotiff file</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<!-- Product characteristics -->
			<xsd:element name="pixelSpacingX" type="xsd:decimal">
				<xsd:annotation>
					<xsd:documentation>Units Meters</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="pixelSpacingY" type="xsd:decimal">
				<xsd:annotation>
					<xsd:documentation>Units Meters</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="samplesPerPixel" type="xsd:integer">
				<xsd:annotation>
					<xsd:documentation>Also known as the number of bands</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="bitsPerSample" type="xsd:integer">
				<xsd:annotation>
					<xsd:documentation>number of bits per each sample (i.e. in each band)</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="sampleType" type="xsd:string">
				<xsd:annotation>
					<xsd:documentation>Datatype of the sample e.g. "Unsigned Integer"</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<!-- Raster transformation -->
			<xsd:element name="resamplingMethod" type="xsd:string" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>e.g. Cubic spline interpolation</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<!-- GeoTiff tags -->
			<xsd:element ref="sat:modelTiepoint" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="sat:modelTransformation" minOccurs="0"/>
			<xsd:element ref="sat:modelPixelScale" minOccurs="0"/>
			<!-- GeoTIFF keys -->
			<xsd:element name="GTModelTypeGeoKey" type="xsd:string" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation> ModelTypeProjected (Projection CoordinateSystem)</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="GTRasterTypeGeoKey" type="xsd:string" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>RasterPixeIIsArea</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="GTCitationGeoKey" type="xsd:string" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Universal Transverse Mercator WGS84 Zone Number nnn (nnn is UTM zone selected from image center position)</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="GeogGeodeticDatumGeoKey" type="xsd:string" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Datum_WGS84</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="GeogLinearUnitsGeoKey" type="xsd:string" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Linear_Meter</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="GeogEllipsoidGeoKey" type="xsd:string" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Ellipse_WGS_84</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="GeographicTypeGeoKey" type="xsd:string" minOccurs="0"/>
			<xsd:element name="GeogCitationGeoKey" type="xsd:string" minOccurs="0"/>
			<xsd:element name="GeogAngularUnitsGeoKey" type="xsd:string" minOccurs="0"/>
			<xsd:element name="ProjectionGeoKey" type="xsd:string" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Proj_UTM_zone_nnn (nnn is UTM zone selected from image center position)</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="ProjCoordTransGeoKey" type="xsd:string" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>CT_TransverseMercator</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="ProjNatOriginLongGeoKey" type="xsd:string" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Value in units of GeogAngularUnits</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="ProjNatOriginLatGeoKey" type="xsd:string" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Value in units of GeogAngularUnits</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="ProjFalseEastingGeoKey" type="xsd:string" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Value in units of ProjLinearUnits</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="ProjFalseNorthingGeoKey" type="xsd:string" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Value in units of ProjLinearUnits</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="ProjScaleAtNatOriginGeoKey" type="xsd:string" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Value as a ratio</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="GCS" type="xsd:string" minOccurs="0"/>
			<xsd:element name="Datum" type="xsd:string" minOccurs="0"/>
			<xsd:element name="Ellipsoid" type="xsd:string" minOccurs="0"/>
			<xsd:element name="PrimeMeridian" type="xsd:string" minOccurs="0"/>
			<xsd:element name="LowerLeft" type="gml:PointType" minOccurs="0"/>
			<xsd:element name="LowerRight" type="gml:PointType" minOccurs="0"/>
			<xsd:element name="UpperLeft" type="gml:PointType" minOccurs="0"/>
			<xsd:element name="UpperRight" type="gml:PointType" minOccurs="0"/>
			<xsd:element name="Center" type="gml:PointType" minOccurs="0"/>
			<xsd:element ref="sat:requestID" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>If an requestID was given by the requesting part, it's value shall be set here</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element ref="sat:source" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Source (optional)  represents the satellite product of origin</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
</xsd:schema>
