|
From: Christopher H. <cha...@fa...> - 2007-12-13 22:03:19
|
When I serialize out my custom projected CRS, and use it in transforms, it
appears my custom major and minor axes do not get serialized:
GeographicCRS base = null;
MathTransform mt = null;
try {
base = DefaultGeographicCRS.WGS84;
DefaultMathTransformFactory factory = new
DefaultMathTransformFactory();
ParameterValueGroup parameters = factory
.getDefaultParameters("Lambert_Conformal_Conic_2SP");
double scaleValue = 1;
majorAxis = 6.3712e+6;
minorAxis = 6.3712e+6;
parameters.parameter("semi_major").setValue(majorAxis *
scaleValue);
parameters.parameter("semi_minor").setValue(minorAxis *
scaleValue);
parameters.parameter("latitude_of_origin").setValue(25.0);
parameters.parameter("standard_parallel_1").setValue(25.0);
parameters.parameter("standard_parallel_2").setValue(25.0);
parameters.parameter("longitude_of_origin").setValue(-95.0);
parameters.parameter("false_easting").setValue(0.0);
parameters.parameter("false_northing").setValue(0.0);
mt = factory.createParameterizedTransform(parameters);
crs = new DefaultProjectedCRS("Lambert Conformal (SP: " +
stdParallel1
+ "/" + stdParallel2 + ", Origin: " + lonOfOrigin + ")",
new DefaultOperationMethod(mt), base, mt, cs);
Produces a WKT of:
PROJCS["Lambert Conformal (SP: 25.0/25.0, Origin: -95.0)",
GEOGCS["WGS84",
DATUM["WGS84",
SPHEROID["WGS84", 6378137.0, 298.257223563]],
PRIMEM["Greenwich", 0.0],
UNIT["degree", 0.017453292519943295],
AXIS["Geodetic longitude", EAST],
AXIS["Geodetic latitude", NORTH]],
PROJECTION["Lambert_Conformal_Conic_2SP"],
PARAMETER["central_meridian", -95.0],
PARAMETER["latitude_of_origin", 25.0],
PARAMETER["standard_parallel_1", 25.0],
PARAMETER["false_easting", 0.0],
PARAMETER["false_northing", 0.0],
PARAMETER["standard_parallel_2", 25.0],
UNIT["m", 1.0],
AXIS["Easting", EAST],
AXIS["Northing", NORTH]]
When I read in this CRS from WKT and use it, it does not work the same as
the CRS constructed by code.
Any suggestions?
-cnh
|