Skip to content

Commit 7d3b522

Browse files
#1375 Units for false_easting and false_northing (fix)
1 parent 4bc9c9c commit 7d3b522

File tree

8 files changed

+0
-77
lines changed

8 files changed

+0
-77
lines changed

cdm/core/src/main/java/ucar/nc2/dataset/transform/AbstractTransformBuilder.java

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,6 @@
2929
public abstract class AbstractTransformBuilder {
3030
private static org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(AbstractTransformBuilder.class);
3131

32-
/*
33-
* from CF: false_easting(false_northing):
34-
* The value added to all abscissa(ordinate) values in the rectangular coordinates for a map projection.
35-
* This value frequently is assigned to eliminate negative numbers.
36-
* Expressed in the unit of the coordinate variable identified by the standard name projection_x_coordinate
37-
* (projection_y_coordinate).
38-
*/
39-
public static double getFalseEastingScaleFactor(NetcdfDataset ds, AttributeContainer ctv) {
40-
String units = getGeoCoordinateUnits(ds, ctv, ds.getCoordinateAxes());
41-
return getFalseEastingScaleFactor(units);
42-
}
43-
4432
public static String getGeoCoordinateUnits(NetcdfDataset ds, AttributeContainer ctv) {
4533
return getGeoCoordinateUnits(ds, ctv, ds.getCoordinateAxes());
4634
}
@@ -73,18 +61,6 @@ public static String getGeoCoordinateUnits(NetcdfDataset ds, AttributeContainer
7361
return units;
7462
}
7563

76-
public static double getFalseEastingScaleFactor(String geoCoordinateUnits) {
77-
if (geoCoordinateUnits != null) {
78-
try {
79-
SimpleUnit unit = SimpleUnit.factoryWithExceptions(geoCoordinateUnits);
80-
return unit.convertTo(1.0, SimpleUnit.kmUnit);
81-
} catch (Exception e) {
82-
log.warn(geoCoordinateUnits + " not convertible to km");
83-
}
84-
}
85-
return 1.0;
86-
}
87-
8864
///////////////////////////////////////////////////////////////////////////////////////////////////
8965
private Formatter errBuffer;
9066
protected double lat0, lon0, false_easting, false_northing, earth_radius;
@@ -105,12 +81,6 @@ void readStandardParams(AttributeContainer ctv, String units) {
10581
false_easting = readAttributeDouble(ctv, CF.FALSE_EASTING, 0.0);
10682
false_northing = readAttributeDouble(ctv, CF.FALSE_NORTHING, 0.0);
10783

108-
if ((false_easting != 0.0) || (false_northing != 0.0)) {
109-
double scalef = getFalseEastingScaleFactor(units);
110-
false_easting *= scalef;
111-
false_northing *= scalef;
112-
}
113-
11484
double semi_major_axis = readAttributeDouble(ctv, CF.SEMI_MAJOR_AXIS, Double.NaN);
11585
double semi_minor_axis = readAttributeDouble(ctv, CF.SEMI_MINOR_AXIS, Double.NaN);
11686
double inverse_flattening = readAttributeDouble(ctv, CF.INVERSE_FLATTENING, 0.0);

cdm/core/src/main/java/ucar/nc2/dataset/transform/LambertConformalConic.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,6 @@ public ProjectionCT makeCoordinateTransform(AttributeContainer ctv, String geoCo
3131
double false_easting = readAttributeDouble(ctv, CF.FALSE_EASTING, 0.0);
3232
double false_northing = readAttributeDouble(ctv, CF.FALSE_NORTHING, 0.0);
3333

34-
if ((false_easting != 0.0) || (false_northing != 0.0)) {
35-
double scalef = getFalseEastingScaleFactor(geoCoordinateUnits);
36-
false_easting *= scalef;
37-
false_northing *= scalef;
38-
}
39-
4034
double earth_radius = getEarthRadiusInKm(ctv);
4135
double semi_major_axis = readAttributeDouble(ctv, CF.SEMI_MAJOR_AXIS, Double.NaN);
4236
double semi_minor_axis = readAttributeDouble(ctv, CF.SEMI_MINOR_AXIS, Double.NaN);

cdm/core/src/main/java/ucar/nc2/dataset/transform/PolarStereographic.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,6 @@ public ProjectionCT makeCoordinateTransform(AttributeContainer ctv, String geoCo
5757
}
5858
double false_easting = readAttributeDouble(ctv, CF.FALSE_EASTING, 0.0);
5959
double false_northing = readAttributeDouble(ctv, CF.FALSE_NORTHING, 0.0);
60-
61-
if ((false_easting != 0.0) || (false_northing != 0.0)) {
62-
double scalef = getFalseEastingScaleFactor(geoCoordinateUnits);
63-
false_easting *= scalef;
64-
false_northing *= scalef;
65-
}
66-
6760
double earth_radius = getEarthRadiusInKm(ctv);
6861
double semi_major_axis = readAttributeDouble(ctv, CF.SEMI_MAJOR_AXIS, Double.NaN); // meters
6962
double semi_minor_axis = readAttributeDouble(ctv, CF.SEMI_MINOR_AXIS, Double.NaN);

cdm/core/src/main/java/ucar/nc2/dataset/transform/Sinusoidal.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,6 @@ public ProjectionCT makeCoordinateTransform(AttributeContainer ctv, String geoCo
2727
double false_northing = readAttributeDouble(ctv, CF.FALSE_NORTHING, 0.0);
2828
double earth_radius = getEarthRadiusInKm(ctv);
2929

30-
if ((false_easting != 0.0) || (false_northing != 0.0)) {
31-
double scalef = getFalseEastingScaleFactor(geoCoordinateUnits);
32-
false_easting *= scalef;
33-
false_northing *= scalef;
34-
}
35-
3630
ucar.unidata.geoloc.projection.Sinusoidal proj =
3731
new ucar.unidata.geoloc.projection.Sinusoidal(centralMeridian, false_easting, false_northing, earth_radius);
3832
return new ProjectionCT(ctv.getName(), "FGDC", proj);

cdm/core/src/main/java/ucar/nc2/dataset/transform/Stereographic.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,6 @@ public ProjectionCT makeCoordinateTransform(AttributeContainer ctv, String geoCo
2727
double lat0 = readAttributeDouble(ctv, CF.LATITUDE_OF_PROJECTION_ORIGIN, 90.0);
2828
double false_easting = readAttributeDouble(ctv, CF.FALSE_EASTING, 0.0);
2929
double false_northing = readAttributeDouble(ctv, CF.FALSE_NORTHING, 0.0);
30-
31-
if ((false_easting != 0.0) || (false_northing != 0.0)) {
32-
double scalef = getFalseEastingScaleFactor(geoCoordinateUnits); // conversion from axis-unit to km
33-
false_easting *= scalef;
34-
false_northing *= scalef;
35-
}
36-
3730
double earth_radius = getEarthRadiusInKm(ctv);
3831
double semi_major_axis = readAttributeDouble(ctv, CF.SEMI_MAJOR_AXIS, Double.NaN); // meters
3932
double semi_minor_axis = readAttributeDouble(ctv, CF.SEMI_MINOR_AXIS, Double.NaN);

cdm/core/src/main/java/ucar/nc2/dataset/transform/TransverseMercator.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,6 @@ public ProjectionCT makeCoordinateTransform(AttributeContainer ctv, String geoCo
3232
double lat0 = readAttributeDouble(ctv, CF.LATITUDE_OF_PROJECTION_ORIGIN, Double.NaN);
3333
double false_easting = readAttributeDouble(ctv, CF.FALSE_EASTING, 0.0);
3434
double false_northing = readAttributeDouble(ctv, CF.FALSE_NORTHING, 0.0);
35-
36-
if ((false_easting != 0.0) || (false_northing != 0.0)) {
37-
double scalef = getFalseEastingScaleFactor(geoCoordinateUnits);
38-
false_easting *= scalef;
39-
false_northing *= scalef;
40-
}
41-
4235
double earth_radius = getEarthRadiusInKm(ctv);
4336
double semi_major_axis = readAttributeDouble(ctv, CF.SEMI_MAJOR_AXIS, Double.NaN);
4437
double semi_minor_axis = readAttributeDouble(ctv, CF.SEMI_MINOR_AXIS, Double.NaN);

cdm/core/src/main/java/ucar/nc2/dt/grid/CFGridWriter2.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -369,13 +369,6 @@ private void convertProjectionCTV(NetcdfDataset ds, AttributeContainer ctv) {
369369
if ((null != att) && att.getStringValue().equals("Projection")) {
370370
Attribute east = ctv.findAttribute("false_easting");
371371
Attribute north = ctv.findAttribute("false_northing");
372-
if ((null != east) || (null != north)) {
373-
double scalef = AbstractTransformBuilder.getFalseEastingScaleFactor(ds, ctv);
374-
if (scalef != 1.0) {
375-
convertAttribute(ctv, east, scalef);
376-
convertAttribute(ctv, north, scalef);
377-
}
378-
}
379372
}
380373
}
381374

legacy/src/main/java/ucar/nc2/dt/grid/CFGridWriter.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -486,13 +486,6 @@ private void convertProjectionCTV(NetcdfDataset ds, Variable ctv) {
486486
if ((null != att) && att.getStringValue().equals("Projection")) {
487487
Attribute east = ctv.findAttribute("false_easting");
488488
Attribute north = ctv.findAttribute("false_northing");
489-
if ((null != east) || (null != north)) {
490-
double scalef = AbstractTransformBuilder.getFalseEastingScaleFactor(ds, ctv);
491-
if (scalef != 1.0) {
492-
convertAttribute(ctv, east, scalef);
493-
convertAttribute(ctv, north, scalef);
494-
}
495-
}
496489
}
497490
}
498491

0 commit comments

Comments
 (0)