@KwrkImmutable @CompileStatic class UnLoCodeCoordinates extends Object implements PostMapConstructorCheckable
Represents an 12-character encoding of coordinates for the UN/LOCODE location.
Useful reference: https://service.unece.org/trade/locode/Service/LocodeColumn.htm - Section: 1.10 Column "Coordinates"Type | Name and description |
---|---|
static Pattern |
COORDINATES_PATTERN |
static UnLoCodeCoordinates |
UNKNOWN_UN_LO_CODE_COORDINATES |
String |
coordinatesEncoded |
Constructor and description |
---|
UnLoCodeCoordinates() |
Type Params | Return Type | Name and description |
---|---|---|
|
static BigDecimal |
calculateLatitudeDegrees(String unLoCodeCoordinates) Calculates latitude in degrees from provided unLoCodeCoordinates string.
|
|
static BigDecimal |
calculateLongitudeDegrees(String unLoCodeCoordinates) Calculates longitude in degrees from provided unLoCodeCoordinates string.
|
|
static void |
checkCoordinatesValues(String unLoCodeCoordinates) Checks provided unLoCodeCoordinates for value validity and consistency.
|
|
static void |
checkLatitudeValues(String unLoCodeCoordinatesLatitudePart) Checks provided latitude part of unLoCodeCoordinates for value validity and consistency. |
|
static void |
checkLongitudeValues(String unLoCodeCoordinatesLongitudePart) Checks provided longitude part of unLoCodeCoordinates for value validity and consistency. |
|
static String |
extractUnLoCodeCoordinatesLatitude(String unLoCodeCoordinates) Extracts latitude part from provided unLoCodeCoordinates .
|
|
static String |
extractUnLoCodeCoordinatesLongitude(String unLoCodeCoordinates) Extracts longitude part from provided unLoCodeCoordinates .
|
|
BigDecimal |
getLatitudeInDegrees() Returns latitude in degrees. |
|
BigDecimal |
getLongitudeInDegrees() Returns longitude in degrees. |
|
void |
postMapConstructorCheck(Map<String, ?> constructorArguments) |
Calculates latitude in degrees from provided unLoCodeCoordinates
string.
BigDecimal
is rounded up at 2 decimals. That gives us a precision around 1 kilometer (see http://wiki.gis.com/wiki/index.php/Decimal_degrees) which is good enough knowing that
UnLoCode coordinates do not contain degree seconds.
Method assumes that provided unLoCodeCoordinates
satisfies UnLoCodeCoordinates.COORDINATES_PATTERN regex.
Calculates longitude in degrees from provided unLoCodeCoordinates
string.
BigDecimal
is rounded up at 2 decimals. That gives us a precision around 1 kilometer (see http://wiki.gis.com/wiki/index.php/Decimal_degrees) which is good enough knowing that
UnLoCode coordinates do not contain degree seconds.
Method assumes that provided unLoCodeCoordinates
satisfies UnLoCodeCoordinates.COORDINATES_PATTERN regex.
Checks provided unLoCodeCoordinates
for value validity and consistency.
unLoCodeCoordinates
satisfies UnLoCodeCoordinates.COORDINATES_PATTERN regex.
Checks provided latitude part of unLoCodeCoordinates for value validity and consistency.
Method assumes that providedunLoCodeCoordinatesLatitudePart
satisfies the first part of UnLoCodeCoordinates.COORDINATES_PATTERN regex corresponding to the latitude (before
space).
Checks provided longitude part of unLoCodeCoordinates for value validity and consistency.
Method assumes that providedunLoCodeCoordinatesLongitudePart
satisfies the second part of UnLoCodeCoordinates.COORDINATES_PATTERN regex corresponding to the longitude (after
space).
Extracts latitude part from provided unLoCodeCoordinates
.
unLoCodeCoordinates
satisfies UnLoCodeCoordinates.COORDINATES_PATTERN regex.
Extracts longitude part from provided unLoCodeCoordinates
.
unLoCodeCoordinates
satisfies UnLoCodeCoordinates.COORDINATES_PATTERN regex.
Returns latitude in degrees.
For UnLoCodeCoordinates.UNKNOWN_UN_LO_CODE_COORDINATES instance, returnsnull
.
Returns longitude in degrees.
For UnLoCodeCoordinates.UNKNOWN_UN_LO_CODE_COORDINATES instance, returnsnull
.
Groovy Documentation