package org.geowebcache.arcgis.config;
/**
* Represents an {@code SpatialReference} element in a cache config file.
* <p>
* XML structure:
*
* <code>
* <pre>
* <SpatialReference xsi:type='typens:ProjectedCoordinateSystem'>
* <WKT>PROJCS["NZGD_2000_New_Zealand_Transverse_Mercator",GEOGCS["GCS_NZGD_2000",DATUM["D_NZGD_2000",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",1600000.0],PARAMETER["False_Northing",10000000.0],PARAMETER["Central_Meridian",173.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0],AUTHORITY["EPSG",2193]]</WKT>
* <XOrigin>-4020900</XOrigin>
* <YOrigin>1900</YOrigin>
* <XYScale>450445547.3910538</XYScale>
* <ZOrigin>0</ZOrigin>
* <ZScale>1</ZScale>
* <MOrigin>-100000</MOrigin>
* <MScale>10000</MScale>
* <XYTolerance>0.0037383177570093459</XYTolerance>
* <ZTolerance>2</ZTolerance>
* <MTolerance>2</MTolerance>
* <HighPrecision>true</HighPrecision>
* <WKID>2193</WKID>
* <LatestWKID>2193</LatestWKID>
* </SpatialReference>
* </pre>
* </code>
*
* </p>
*
* @author Gabriel Roldan
*
*/
public class SpatialReference {
private String WKT;
private double XOrigin;
private double YOrigin;
private double XYScale;
private double ZOrigin;
private double ZScale;
private double MOrigin;
private double MScale;
private double XYTolerance;
private double ZTolerance;
private double MTolerance;
private boolean HighPrecision;
private int WKID;
private int LatestWKID;
private double LeftLongitude;
public String getWKT() {
return WKT;
}
public double getXOrigin() {
return XOrigin;
}
public double getYOrigin() {
return YOrigin;
}
public double getXYScale() {
return XYScale;
}
public double getZOrigin() {
return ZOrigin;
}
public double getZScale() {
return ZScale;
}
public double getMOrigin() {
return MOrigin;
}
public double getMScale() {
return MScale;
}
public double getXYTolerance() {
return XYTolerance;
}
public double getZTolerance() {
return ZTolerance;
}
public double getMTolerance() {
return MTolerance;
}
public boolean isHighPrecision() {
return HighPrecision;
}
public int getWKID() {
return WKID;
}
/**
* New in ArcGIS 10.1+
* @return
*/
public int getLatestWKID() {
return LatestWKID;
}
/**
* Seems to be in ArcGIS 9.2 format only?
*
* @return
*/
public double getLeftLongitude() {
return LeftLongitude;
}
}