public class CustomProjection extends AbstractProjection
Modifier and Type | Class and Description |
---|---|
static class |
CustomProjection.Param
Proj4-like projection parameters.
|
Modifier and Type | Field and Description |
---|---|
private java.lang.String |
axis |
protected Bounds |
bounds |
protected java.lang.String |
cacheDir |
protected java.lang.String |
code |
private static double |
METER_PER_UNIT_DEGREE |
private double |
metersPerUnit |
protected java.lang.String |
name |
protected java.lang.String |
pref
pref String that defines the projection
null means fall back mode (Mercator)
|
private static java.util.Map<java.lang.String,java.lang.Double> |
UNITS_TO_METERS |
Constructor and Description |
---|
CustomProjection()
Constructs a new empty
CustomProjection . |
CustomProjection(java.lang.String pref)
Constructs a new
CustomProjection with given parameters. |
CustomProjection(java.lang.String name,
java.lang.String code,
java.lang.String pref,
java.lang.String cacheDir)
Constructs a new
CustomProjection with given name, code and parameters. |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getCacheDirectoryName()
Get a filename compatible string (for the cache directory).
|
java.lang.Integer |
getEpsgCode() |
double |
getMetersPerUnit()
Get the number of meters per unit of this projection.
|
private static java.util.Map<java.lang.String,java.lang.Double> |
getUnitsToMeters() |
Bounds |
getWorldBoundsLatLon()
Get the bounds of the world.
|
static double |
parseAngle(java.lang.String angleStr,
java.lang.String parameterName) |
static Bounds |
parseBounds(java.lang.String boundsStr) |
Datum |
parseDatum(java.util.Map<java.lang.String,java.lang.String> parameters,
Ellipsoid ellps) |
static double |
parseDouble(java.util.Map<java.lang.String,java.lang.String> parameters,
java.lang.String parameterName) |
static double |
parseDouble(java.lang.String doubleStr,
java.lang.String parameterName) |
Ellipsoid |
parseEllipsoid(java.util.Map<java.lang.String,java.lang.String> parameters) |
private java.util.Map<java.lang.String,java.lang.String> |
parseParameterList(java.lang.String pref) |
Proj |
parseProjection(java.util.Map<java.lang.String,java.lang.String> parameters,
Ellipsoid ellps) |
Datum |
parseToWGS84(java.lang.String paramList,
Ellipsoid ellps) |
boolean |
switchXY()
Does this projection natural order of coordinates is North East,
instead of East North
|
java.lang.String |
toCode()
Default implementation of toCode().
|
java.lang.String |
toString()
Describe the projection in one or two words.
|
void |
update(java.lang.String pref)
Updates this
CustomProjection with given parameters. |
convertDegreeMinuteSecond, convertMinuteSecond, eastNorth2latlon, getCentralMeridian, getDatum, getDefaultZoomInPPD, getEllipsoid, getFalseEasting, getFalseNorthing, getProj, getScaleFactor, latlon2eastNorth
private static final double METER_PER_UNIT_DEGREE
private static final java.util.Map<java.lang.String,java.lang.Double> UNITS_TO_METERS
protected java.lang.String pref
protected java.lang.String name
protected java.lang.String code
protected java.lang.String cacheDir
private double metersPerUnit
private java.lang.String axis
public CustomProjection()
CustomProjection
.public CustomProjection(java.lang.String pref)
CustomProjection
with given parameters.pref
- String containing projection parameters
(ex: "+proj=tmerc +lon_0=-3 +k_0=0.9996 +x_0=500000 +ellps=WGS84 +datum=WGS84 +bounds=-8,-5,2,85")public CustomProjection(java.lang.String name, java.lang.String code, java.lang.String pref, java.lang.String cacheDir)
CustomProjection
with given name, code and parameters.name
- describe projection in one or two wordscode
- unique code for this projection - may be nullpref
- the string that defines the custom projectioncacheDir
- cache directory namepublic final void update(java.lang.String pref) throws ProjectionConfigurationException
CustomProjection
with given parameters.pref
- String containing projection parameters (ex: "+proj=lonlat +ellps=WGS84 +datum=WGS84 +bounds=-180,-90,180,90")ProjectionConfigurationException
- if pref
cannot be parsed properlyprivate java.util.Map<java.lang.String,java.lang.String> parseParameterList(java.lang.String pref) throws ProjectionConfigurationException
ProjectionConfigurationException
public Ellipsoid parseEllipsoid(java.util.Map<java.lang.String,java.lang.String> parameters) throws ProjectionConfigurationException
ProjectionConfigurationException
public Datum parseDatum(java.util.Map<java.lang.String,java.lang.String> parameters, Ellipsoid ellps) throws ProjectionConfigurationException
ProjectionConfigurationException
public Datum parseToWGS84(java.lang.String paramList, Ellipsoid ellps) throws ProjectionConfigurationException
ProjectionConfigurationException
public Proj parseProjection(java.util.Map<java.lang.String,java.lang.String> parameters, Ellipsoid ellps) throws ProjectionConfigurationException
ProjectionConfigurationException
public static Bounds parseBounds(java.lang.String boundsStr) throws ProjectionConfigurationException
ProjectionConfigurationException
public static double parseDouble(java.util.Map<java.lang.String,java.lang.String> parameters, java.lang.String parameterName) throws ProjectionConfigurationException
ProjectionConfigurationException
public static double parseDouble(java.lang.String doubleStr, java.lang.String parameterName) throws ProjectionConfigurationException
ProjectionConfigurationException
public static double parseAngle(java.lang.String angleStr, java.lang.String parameterName) throws ProjectionConfigurationException
ProjectionConfigurationException
public java.lang.Integer getEpsgCode()
getEpsgCode
in class AbstractProjection
public java.lang.String toCode()
AbstractProjection
toCode
in interface Projection
toCode
in class AbstractProjection
public java.lang.String getCacheDirectoryName()
Projection
public Bounds getWorldBoundsLatLon()
Projection
public java.lang.String toString()
Projection
toString
in interface Projection
toString
in class java.lang.Object
public double getMetersPerUnit()
Projection
public boolean switchXY()
Projection
private static java.util.Map<java.lang.String,java.lang.Double> getUnitsToMeters()