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; } }