Package uk.co.mccombe.mapping

# Class LatLong

java.lang.Object
uk.co.mccombe.mapping.LatLong

public class LatLong extends Object
A simple immutable wrapper class for Latitude and Longitude values

## Constructor Summary

Constructors
Constructor
Description
`LatLong()`
Creates a new instance of LatLong
`LatLong(double lat, double lon)`
Create LatLong instance from specified values of Lat and Lon.

## Method Summary

Modifier and Type
Method
Description
`double`
`lat()`
Get the latitude component
`static double`
`latDMS(String ns, int deg, int min, double sec)`
A static method to turn values of degrees, minutes and seconds into a latitude value.
`double`
`lon()`
Get the longitude component
`static double`
`lonDMS(String ew, int deg, int min, double sec)`
A static method to turn values of degrees, minutes and seconds into a longitude value.
`static String`
`toDMS(double v, String signs)`
`String`
`toString()`
Provide a String representing this latitude and longitude.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### LatLong

public LatLong()
Creates a new instance of LatLong

### LatLong

public LatLong(double lat, double lon)
Create LatLong instance from specified values of Lat and Lon.

Parameters:
  `lat` - Latitude (degrees)
  `lon` - Longitude (degrees)

## Method Details

### latDMS

public static double latDMS(String ns, int deg, int min, double sec) throws LatLongFormatException
A static method to turn values of degrees, minutes and seconds into a latitude value.

Parameters:
  `ns` - "N" or "S". Points south of the equator have negative values of latitude.
  `deg` - Degrees. Value must not exceed 90.
  `min` - Minutes - zero or positive, less than 60.
  `sec` - Seconds - zero or positive real value less than 60.0
Returns:
  value in the range -90.0 to +90.0
Throws:
  `LatLongFormatException` - if the degrees/minutes/seconds values do not correspond to legal latitudes between 0 and 90.0 or if ns is neither "N" nor "S"

### lonDMS

public static double lonDMS(String ew, int deg, int min, double sec) throws LatLongFormatException
A static method to turn values of degrees, minutes and seconds into a longitude value.

Parameters:
  `ew` - "E" or "W". Points west of the reference meridian have negative values of longitude.
  `deg` - Degrees. Value must not exceed 180.
  `min` - Minutes - zero or positive, less than 60.
  `sec` - Seconds - zero or positive real value less than 60.0
Returns:
  value in the range -180.0 to +180.0
Throws:
  `LatLongFormatException` - if the degrees/minutes/seconds values do not correspond to legal longitudes between 0 and 180.0 or if ew is neither "E" nor "W"

### lat

public double lat()
Get the latitude component

Returns:
  Latitude (degrees)

### lon

public double lon()
Get the longitude component

Returns:
  Longitude (degrees)

### toString

public String toString()
Provide a String representing this latitude and longitude.

Overrides:
  `toString` in class `Object`
Returns:
  The String representation of the coordinates (in Lat/Lon format)

### toDMS

public static String toDMS(double v, String signs)