public void createAngularCoordinates() throws Exception { AngularCoordinate angularLatitude = calculateAngularValues(decimalLatitude); AngularCoordinate angularLongitude = calculateAngularValues(decimalLongitude); if (angularLatitude != null && angularLatitude.getDegrees() < 0) angularLatitude.setCardinalPoint('S'); else angularLatitude.setCardinalPoint('N'); if (angularLongitude != null && angularLongitude.getDegrees() < 0) angularLongitude.setCardinalPoint('W'); else angularLongitude.setCardinalPoint('E'); angularLongitude.setDegrees(angularLongitude.getDegrees()); angularLongitude.setMinutes(angularLongitude.getMinutes()); angularLongitude.setSeconds(angularLongitude.getSeconds()); this.setAngularLatitude(angularLatitude); this.setAngularLongitude(angularLongitude); }
private AngularCoordinate calculateAngularValues(double decimalCoordinate) { decimalCoordinate = Math.abs(decimalCoordinate); int degrees = 0; int minutes = 0; double seconds = 0; degrees = (int) decimalCoordinate; double numberOfMinutes = (decimalCoordinate - (int) decimalCoordinate) * 60; minutes = (int) numberOfMinutes; double numberOfSeconds = (numberOfMinutes - (int) numberOfMinutes) * 60; seconds = numberOfSeconds; AngularCoordinate angularCoordinate = new AngularCoordinate(); angularCoordinate.setDegrees(degrees); angularCoordinate.setMinutes(minutes); angularCoordinate.setSeconds(seconds); return angularCoordinate; }