/** * @return * @see GeodeticCRS#toGeographicCoordinateConverter() */ @Override public CoordinateOperation toGeographicCoordinateConverter() { List<CoordinateOperation> ops = new ArrayList<CoordinateOperation>(); for (int i = 0; i < 2; i++) { if (getCoordinateSystem().getAxis(i).getDirection() == SOUTH || getCoordinateSystem().getAxis(i).getDirection() == WEST) { ops.add(new OppositeCoordinate(i)); } } // Convert from source unit to radians ops.add(UnitConversion.createUnitConverter(getCoordinateSystem().getUnit(0), RADIAN)); // switch from LON/LAT to LAT/LON coordinate if necessary if (getCoordinateSystem().getAxis(0).getDirection() == EAST || getCoordinateSystem().getAxis(0).getDirection() == WEST) { ops.add(CoordinateSwitch.SWITCH_LAT_LON); } // Add a third value to transform the geographic2D coord into a // geographic3D coord ops.add(ChangeCoordinateDimension.TO3D); return new CoordinateOperationSequence(new Identifier( CoordinateOperationSequence.class), ops); }
/** * @return * @see GeodeticCRS#fromGeographicCoordinateConverter() */ @Override public CoordinateOperation fromGeographicCoordinateConverter() { List<CoordinateOperation> ops = new ArrayList<CoordinateOperation>(); // Remove the third value to transform the geographic3D coord into a // geographic2D coord ops.add(ChangeCoordinateDimension.TO2D); // switch from LON/LAT to LAT/LON coordinate if necessary if (getCoordinateSystem().getAxis(0).getDirection() == EAST || getCoordinateSystem().getAxis(0).getDirection() == WEST) { ops.add(CoordinateSwitch.SWITCH_LAT_LON); } // Convert from radian to this coordinate system's units ops.add(UnitConversion.createUnitConverter(RADIAN, getCoordinateSystem().getUnit(0))); for (int i = 0; i < 2; i++) { if (getCoordinateSystem().getAxis(i).getDirection() == SOUTH || getCoordinateSystem().getAxis(i).getDirection() == WEST) { ops.add(new OppositeCoordinate(i)); } } return new CoordinateOperationSequence(new Identifier( CoordinateOperationSequence.class), ops); }
/** * @return * @see GeodeticCRS#fromGeographicCoordinateConverter() */ @Override public CoordinateOperation fromGeographicCoordinateConverter() { List<CoordinateOperation> ops = new ArrayList<CoordinateOperation>(); // Remove the third value to transform the geographic3D coord into a // geographic2D coord ops.add(ChangeCoordinateDimension.TO2D); // Projection ops.add(projection); // switch easting/northing coordinate if necessary if (getCoordinateSystem().getAxis(0).getDirection() == NORTH || getCoordinateSystem().getAxis(0).getDirection() == SOUTH) { ops.add(CoordinateSwitch.SWITCH_LAT_LON); } // Unit conversion if (getCoordinateSystem().getUnit(0) != METER) { ops.add(UnitConversion.createUnitConverter(METER, getCoordinateSystem().getUnit(0))); } for (int i = 0; i < 2; i++) { if (getCoordinateSystem().getAxis(i).getDirection() == SOUTH || getCoordinateSystem().getAxis(i).getDirection() == WEST) { ops.add(new OppositeCoordinate(i)); } } return new CoordinateOperationSequence(new Identifier( CoordinateOperationSequence.class), ops); }
if (getCoordinateSystem().getAxis(i).getDirection() == SOUTH || getCoordinateSystem().getAxis(i).getDirection() == WEST) { ops.add(new OppositeCoordinate(i));
/** * @return * @see GeodeticCRS#fromGeographicCoordinateConverter() */ @Override public CoordinateOperation fromGeographicCoordinateConverter() { List<CoordinateOperation> ops = new ArrayList<CoordinateOperation>(); // switch from LON/LAT to LAT/LON coordinate if necessary if (getCoordinateSystem().getAxis(0).getDirection() == EAST || getCoordinateSystem().getAxis(0).getDirection() == WEST) { ops.add(CoordinateSwitch.SWITCH_LAT_LON); } // Convert from radian to this coordinate system's units ops.add(UnitConversion.createUnitConverter(RADIAN, getCoordinateSystem().getUnit(0), METER, getCoordinateSystem().getUnit(2))); for (int i = 0; i < 3; i++) { if (getCoordinateSystem().getAxis(i).getDirection() == SOUTH || getCoordinateSystem().getAxis(i).getDirection() == WEST || getCoordinateSystem().getAxis(i).getDirection() == DOWN) { ops.add(new OppositeCoordinate(i)); } } return new CoordinateOperationSequence(new Identifier( CoordinateOperationSequence.class), ops); }
/** * @return * @see GeodeticCRS#toGeographicCoordinateConverter() */ @Override public CoordinateOperation toGeographicCoordinateConverter() { List<CoordinateOperation> ops = new ArrayList<CoordinateOperation>(); for (int i = 0; i < 3; i++) { if (getCoordinateSystem().getAxis(i).getDirection() == SOUTH || getCoordinateSystem().getAxis(i).getDirection() == WEST || getCoordinateSystem().getAxis(i).getDirection() == DOWN) { ops.add(new OppositeCoordinate(i)); } } // Convert from source unit to radians ops.add(UnitConversion.createUnitConverter(getCoordinateSystem().getUnit(0), RADIAN, getCoordinateSystem().getUnit(2), METER)); // switch from LON/LAT to LAT/LON coordinate if necessary if (getCoordinateSystem().getAxis(0).getDirection() == EAST || getCoordinateSystem().getAxis(0).getDirection() == WEST) { ops.add(CoordinateSwitch.SWITCH_LAT_LON); } return new CoordinateOperationSequence(new Identifier( CoordinateOperationSequence.class), ops); }
|| getCoordinateSystem().getAxis(i).getDirection() == Axis.Direction.WEST || getCoordinateSystem().getAxis(i).getDirection() == Axis.Direction.DOWN) { ops.add(new OppositeCoordinate(i));
|| getCoordinateSystem().getAxis(i).getDirection() == Axis.Direction.WEST || getCoordinateSystem().getAxis(i).getDirection() == Axis.Direction.DOWN) { ops = cleverAdd(ops, new OppositeCoordinate(i));