spelling: coordinate

This commit is contained in:
Josh Soref 2019-10-13 03:06:35 -04:00
parent 22d3caed6e
commit 25e9835496
7 changed files with 64 additions and 64 deletions

View file

@ -83,7 +83,7 @@ All major and minor version changes will be documented in this file. Details of
- 'DNS over HTTPS' operation added [@h345983745] | [#489] - 'DNS over HTTPS' operation added [@h345983745] | [#489]
### [8.23.1] - 2019-01-18 ### [8.23.1] - 2019-01-18
- 'Convert co-ordinate format' operation added [@j433866] | [#476] - 'Convert coordinate format' operation added [@j433866] | [#476]
### [8.23.0] - 2019-01-18 ### [8.23.0] - 2019-01-18
- 'YARA Rules' operation added [@artemisbot] | [#468] - 'YARA Rules' operation added [@artemisbot] | [#468]

View file

@ -229,7 +229,7 @@
"Convert mass", "Convert mass",
"Convert speed", "Convert speed",
"Convert data units", "Convert data units",
"Convert co-ordinate format", "Convert coordinate format",
"Show on map", "Show on map",
"Parse UNIX file permissions", "Parse UNIX file permissions",
"Swap endianness", "Swap endianness",

View file

@ -1,5 +1,5 @@
/** /**
* Co-ordinate conversion resources. * Coordinate conversion resources.
* *
* @author j433866 [j433866@gmail.com] * @author j433866 [j433866@gmail.com]
* @copyright Crown Copyright 2019 * @copyright Crown Copyright 2019
@ -24,7 +24,7 @@ const LatLonEllipsoidal = geodesy.LatLonEllipsoidal,
Utm = geodesy.Utm; Utm = geodesy.Utm;
/** /**
* Co-ordinate formats * Coordinate formats
*/ */
export const FORMATS = [ export const FORMATS = [
"Degrees Minutes Seconds", "Degrees Minutes Seconds",
@ -56,7 +56,7 @@ const NO_CHANGE = [
* @param {string} outDelim - The delimiter to separate the output with * @param {string} outDelim - The delimiter to separate the output with
* @param {string} includeDir - Whether or not to include the compass direction in the output * @param {string} includeDir - Whether or not to include the compass direction in the output
* @param {number} precision - Precision of the result * @param {number} precision - Precision of the result
* @returns {string} A formatted string of the converted co-ordinates * @returns {string} A formatted string of the converted coordinates
*/ */
export function convertCoordinates (input, inFormat, inDelim, outFormat, outDelim, includeDir, precision) { export function convertCoordinates (input, inFormat, inDelim, outFormat, outDelim, includeDir, precision) {
let isPair = false, let isPair = false,
@ -112,7 +112,7 @@ export function convertCoordinates (input, inFormat, inDelim, outFormat, outDeli
} else { } else {
split = input.split(inDelim); split = input.split(inDelim);
} }
// Replace any co-ordinate symbols with spaces so we can split on them later // Replace any coordinate symbols with spaces so we can split on them later
for (let i = 0; i < split.length; i++) { for (let i = 0; i < split.length; i++) {
split[i] = split[i].replace(/[°˝´'"]/g, " "); split[i] = split[i].replace(/[°˝´'"]/g, " ");
} }
@ -158,16 +158,16 @@ export function convertCoordinates (input, inFormat, inDelim, outFormat, outDeli
lon = convDMSToDD(splitLong[0], splitLong[1], splitLong[2], 10); lon = convDMSToDD(splitLong[0], splitLong[1], splitLong[2], 10);
latlon = new LatLonEllipsoidal(lat.degrees, lon.degrees); latlon = new LatLonEllipsoidal(lat.degrees, lon.degrees);
} else { } else {
throw new OperationError("Invalid co-ordinate format for Degrees Minutes Seconds"); throw new OperationError("Invalid coordinate format for Degrees Minutes Seconds");
} }
} else { } else {
// Not a pair, so only try to convert one set of co-ordinates // Not a pair, so only try to convert one set of coordinates
splitLat = splitInput(split[0]); splitLat = splitInput(split[0]);
if (splitLat.length >= 3) { if (splitLat.length >= 3) {
lat = convDMSToDD(splitLat[0], splitLat[1], splitLat[2]); lat = convDMSToDD(splitLat[0], splitLat[1], splitLat[2]);
latlon = new LatLonEllipsoidal(lat.degrees, lat.degrees); latlon = new LatLonEllipsoidal(lat.degrees, lat.degrees);
} else { } else {
throw new OperationError("Invalid co-ordinate format for Degrees Minutes Seconds"); throw new OperationError("Invalid coordinate format for Degrees Minutes Seconds");
} }
} }
break; break;
@ -176,17 +176,17 @@ export function convertCoordinates (input, inFormat, inDelim, outFormat, outDeli
splitLat = splitInput(split[0]); splitLat = splitInput(split[0]);
splitLong = splitInput(split[1]); splitLong = splitInput(split[1]);
if (splitLat.length !== 2 || splitLong.length !== 2) { if (splitLat.length !== 2 || splitLong.length !== 2) {
throw new OperationError("Invalid co-ordinate format for Degrees Decimal Minutes."); throw new OperationError("Invalid coordinate format for Degrees Decimal Minutes.");
} }
// Convert to decimal degrees, and then convert to a geodesy object // Convert to decimal degrees, and then convert to a geodesy object
lat = convDDMToDD(splitLat[0], splitLat[1], 10); lat = convDDMToDD(splitLat[0], splitLat[1], 10);
lon = convDDMToDD(splitLong[0], splitLong[1], 10); lon = convDDMToDD(splitLong[0], splitLong[1], 10);
latlon = new LatLonEllipsoidal(lat.degrees, lon.degrees); latlon = new LatLonEllipsoidal(lat.degrees, lon.degrees);
} else { } else {
// Not a pair, so only try to convert one set of co-ordinates // Not a pair, so only try to convert one set of coordinates
splitLat = splitInput(input); splitLat = splitInput(input);
if (splitLat.length !== 2) { if (splitLat.length !== 2) {
throw new OperationError("Invalid co-ordinate format for Degrees Decimal Minutes."); throw new OperationError("Invalid coordinate format for Degrees Decimal Minutes.");
} }
lat = convDDMToDD(splitLat[0], splitLat[1], 10); lat = convDDMToDD(splitLat[0], splitLat[1], 10);
latlon = new LatLonEllipsoidal(lat.degrees, lat.degrees); latlon = new LatLonEllipsoidal(lat.degrees, lat.degrees);
@ -197,14 +197,14 @@ export function convertCoordinates (input, inFormat, inDelim, outFormat, outDeli
splitLat = splitInput(split[0]); splitLat = splitInput(split[0]);
splitLong = splitInput(split[1]); splitLong = splitInput(split[1]);
if (splitLat.length !== 1 || splitLong.length !== 1) { if (splitLat.length !== 1 || splitLong.length !== 1) {
throw new OperationError("Invalid co-ordinate format for Decimal Degrees."); throw new OperationError("Invalid coordinate format for Decimal Degrees.");
} }
latlon = new LatLonEllipsoidal(splitLat[0], splitLong[0]); latlon = new LatLonEllipsoidal(splitLat[0], splitLong[0]);
} else { } else {
// Not a pair, so only try to convert one set of co-ordinates // Not a pair, so only try to convert one set of coordinates
splitLat = splitInput(split[0]); splitLat = splitInput(split[0]);
if (splitLat.length !== 1) { if (splitLat.length !== 1) {
throw new OperationError("Invalid co-ordinate format for Decimal Degrees."); throw new OperationError("Invalid coordinate format for Decimal Degrees.");
} }
latlon = new LatLonEllipsoidal(splitLat[0], splitLat[0]); latlon = new LatLonEllipsoidal(splitLat[0], splitLat[0]);
} }
@ -275,7 +275,7 @@ export function convertCoordinates (input, inFormat, inDelim, outFormat, outDeli
case "Ordnance Survey National Grid": case "Ordnance Survey National Grid":
osng = OsGridRef.latLonToOsGrid(latlon); osng = OsGridRef.latLonToOsGrid(latlon);
if (osng.toString() === "") { if (osng.toString() === "") {
throw new OperationError("Could not convert co-ordinates to OS National Grid. Are the co-ordinates in range?"); throw new OperationError("Could not convert coordinates to OS National Grid. Are the coordinates in range?");
} }
// OSNG wants a precision that's an even number between 2 and 10 // OSNG wants a precision that's an even number between 2 and 10
if (precision % 2 !== 0) { if (precision % 2 !== 0) {
@ -293,7 +293,7 @@ export function convertCoordinates (input, inFormat, inDelim, outFormat, outDeli
} }
if (convLat === undefined) { if (convLat === undefined) {
throw new OperationError("Error converting co-ordinates."); throw new OperationError("Error converting coordinates.");
} }
if (outFormat.includes("Degrees")) { if (outFormat.includes("Degrees")) {
@ -357,9 +357,9 @@ function splitInput (input) {
/** /**
* Convert Degrees Minutes Seconds to Decimal Degrees * Convert Degrees Minutes Seconds to Decimal Degrees
* *
* @param {number} degrees - The degrees of the input co-ordinates * @param {number} degrees - The degrees of the input coordinates
* @param {number} minutes - The minutes of the input co-ordinates * @param {number} minutes - The minutes of the input coordinates
* @param {number} seconds - The seconds of the input co-ordinates * @param {number} seconds - The seconds of the input coordinates
* @param {number} precision - The precision the result should be rounded to * @param {number} precision - The precision the result should be rounded to
* @returns {{string: string, degrees: number}} An object containing the raw converted value (obj.degrees), and a formatted string version (obj.string) * @returns {{string: string, degrees: number}} An object containing the raw converted value (obj.degrees), and a formatted string version (obj.string)
*/ */
@ -467,7 +467,7 @@ function convDDToDDM (decDegrees, precision) {
/** /**
* Finds and returns the compass directions in an input string * Finds and returns the compass directions in an input string
* *
* @param {string} input - The input co-ordinates containing the direction * @param {string} input - The input coordinates containing the direction
* @param {string} delim - The delimiter separating latitide and longitude * @param {string} delim - The delimiter separating latitide and longitude
* @returns {string[]} String array containing the latitude and longitude directions * @returns {string[]} String array containing the latitude and longitude directions
*/ */
@ -526,7 +526,7 @@ export function findDirs(input, delim) {
} }
/** /**
* Detects the co-ordinate format of the input data * Detects the coordinate format of the input data
* *
* @param {string} input - The input data whose format we need to detect * @param {string} input - The input data whose format we need to detect
* @param {string} delim - The delimiter separating the data in input * @param {string} delim - The delimiter separating the data in input
@ -620,7 +620,7 @@ export function findDelim (input) {
if (input.includes(delim)) { if (input.includes(delim)) {
const splitInput = input.split(delim); const splitInput = input.split(delim);
if (splitInput.length <= 3 && splitInput.length > 0) { if (splitInput.length <= 3 && splitInput.length > 0) {
// Don't want to try and convert more than 2 co-ordinates // Don't want to try and convert more than 2 coordinates
return delim; return delim;
} }
} }

View file

@ -8,7 +8,7 @@ import Operation from "../Operation.mjs";
import {FORMATS, convertCoordinates} from "../lib/ConvertCoordinates.mjs"; import {FORMATS, convertCoordinates} from "../lib/ConvertCoordinates.mjs";
/** /**
* Convert co-ordinate format operation * Convert coordinate format operation
*/ */
class ConvertCoordinateFormat extends Operation { class ConvertCoordinateFormat extends Operation {
@ -18,9 +18,9 @@ class ConvertCoordinateFormat extends Operation {
constructor() { constructor() {
super(); super();
this.name = "Convert co-ordinate format"; this.name = "Convert coordinate format";
this.module = "Hashing"; this.module = "Hashing";
this.description = "Converts geographical coordinates between different formats.<br><br>Supported formats:<ul><li>Degrees Minutes Seconds (DMS)</li><li>Degrees Decimal Minutes (DDM)</li><li>Decimal Degrees (DD)</li><li>Geohash</li><li>Military Grid Reference System (MGRS)</li><li>Ordnance Survey National Grid (OSNG)</li><li>Universal Transverse Mercator (UTM)</li></ul><br>The operation can try to detect the input co-ordinate format and delimiter automatically, but this may not always work correctly."; this.description = "Converts geographical coordinates between different formats.<br><br>Supported formats:<ul><li>Degrees Minutes Seconds (DMS)</li><li>Degrees Decimal Minutes (DDM)</li><li>Decimal Degrees (DD)</li><li>Geohash</li><li>Military Grid Reference System (MGRS)</li><li>Ordnance Survey National Grid (OSNG)</li><li>Universal Transverse Mercator (UTM)</li></ul><br>The operation can try to detect the input coordinate format and delimiter automatically, but this may not always work correctly.";
this.infoURL = "https://wikipedia.org/wiki/Geographic_coordinate_conversion"; this.infoURL = "https://wikipedia.org/wiki/Geographic_coordinate_conversion";
this.inputType = "string"; this.inputType = "string";
this.outputType = "string"; this.outputType = "string";

View file

@ -20,7 +20,7 @@ class HaversineDistance extends Operation {
this.name = "Haversine distance"; this.name = "Haversine distance";
this.module = "Default"; this.module = "Default";
this.description = "Returns the distance between two pairs of GPS latitude and longitude co-ordinates in metres.<br><br>e.g. <code>51.487263,-0.124323, 38.9517,-77.1467</code>"; this.description = "Returns the distance between two pairs of GPS latitude and longitude coordinates in metres.<br><br>e.g. <code>51.487263,-0.124323, 38.9517,-77.1467</code>";
this.infoURL = "https://wikipedia.org/wiki/Haversine_formula"; this.infoURL = "https://wikipedia.org/wiki/Haversine_formula";
this.inputType = "string"; this.inputType = "string";
this.outputType = "number"; this.outputType = "number";

View file

@ -21,7 +21,7 @@ class ShowOnMap extends Operation {
this.name = "Show on map"; this.name = "Show on map";
this.module = "Hashing"; this.module = "Hashing";
this.description = "Displays co-ordinates on a slippy map.<br><br>Co-ordinates will be converted to decimal degrees before being shown on the map.<br><br>Supported formats:<ul><li>Degrees Minutes Seconds (DMS)</li><li>Degrees Decimal Minutes (DDM)</li><li>Decimal Degrees (DD)</li><li>Geohash</li><li>Military Grid Reference System (MGRS)</li><li>Ordnance Survey National Grid (OSNG)</li><li>Universal Transverse Mercator (UTM)</li></ul><br>This operation will not work offline."; this.description = "Displays coordinates on a slippy map.<br><br>Coordinates will be converted to decimal degrees before being shown on the map.<br><br>Supported formats:<ul><li>Degrees Minutes Seconds (DMS)</li><li>Degrees Decimal Minutes (DDM)</li><li>Decimal Degrees (DD)</li><li>Geohash</li><li>Military Grid Reference System (MGRS)</li><li>Ordnance Survey National Grid (OSNG)</li><li>Universal Transverse Mercator (UTM)</li></ul><br>This operation will not work offline.";
this.infoURL = "https://foundation.wikimedia.org/wiki/Maps_Terms_of_Use"; this.infoURL = "https://foundation.wikimedia.org/wiki/Maps_Terms_of_Use";
this.inputType = "string"; this.inputType = "string";
this.outputType = "string"; this.outputType = "string";

View file

@ -1,5 +1,5 @@
/** /**
* Convert co-ordinate format tests * Convert coordinate format tests
* *
* @author j433866 * @author j433866
* *
@ -8,7 +8,7 @@
*/ */
/** /**
* TEST CO-ORDINATES * TEST COORDINATES
* DD: 51.504°,-0.126°, * DD: 51.504°,-0.126°,
* DDM: 51° 30.24',-0° 7.56', * DDM: 51° 30.24',-0° 7.56',
* DMS: 51° 30' 14.4",-0° 7' 33.6", * DMS: 51° 30' 14.4",-0° 7' 33.6",
@ -22,188 +22,188 @@ import TestRegister from "../../lib/TestRegister.mjs";
TestRegister.addTests([ TestRegister.addTests([
{ {
name: "Co-ordinates: From Decimal Degrees to Degrees Minutes Seconds", name: "Coordinates: From Decimal Degrees to Degrees Minutes Seconds",
input: "51.504°,-0.126°,", input: "51.504°,-0.126°,",
expectedOutput: "51° 30' 14.4\",-0° 7' 33.6\",", expectedOutput: "51° 30' 14.4\",-0° 7' 33.6\",",
recipeConfig: [ recipeConfig: [
{ {
op: "Convert co-ordinate format", op: "Convert coordinate format",
args: ["Decimal Degrees", "Comma", "Degrees Minutes Seconds", "Comma", "None", 1] args: ["Decimal Degrees", "Comma", "Degrees Minutes Seconds", "Comma", "None", 1]
}, },
], ],
}, },
{ {
name: "Co-ordinates: From Degrees Minutes Seconds to Decimal Degrees", name: "Coordinates: From Degrees Minutes Seconds to Decimal Degrees",
input: "51° 30' 14.4\",-0° 7' 33.6\",", input: "51° 30' 14.4\",-0° 7' 33.6\",",
expectedOutput: "51.504°,-0.126°,", expectedOutput: "51.504°,-0.126°,",
recipeConfig: [ recipeConfig: [
{ {
op: "Convert co-ordinate format", op: "Convert coordinate format",
args: ["Degrees Minutes Seconds", "Comma", "Decimal Degrees", "Comma", "None", 3] args: ["Degrees Minutes Seconds", "Comma", "Decimal Degrees", "Comma", "None", 3]
}, },
], ],
}, },
{ {
name: "Co-ordinates: From Decimal Degrees to Degrees Decimal Minutes", name: "Coordinates: From Decimal Degrees to Degrees Decimal Minutes",
input: "51.504°,-0.126°,", input: "51.504°,-0.126°,",
expectedOutput: "51° 30.24',-0° 7.56',", expectedOutput: "51° 30.24',-0° 7.56',",
recipeConfig: [ recipeConfig: [
{ {
op: "Convert co-ordinate format", op: "Convert coordinate format",
args: ["Decimal Degrees", "Comma", "Degrees Decimal Minutes", "Comma", "None", 2] args: ["Decimal Degrees", "Comma", "Degrees Decimal Minutes", "Comma", "None", 2]
} }
] ]
}, },
{ {
name: "Co-ordinates: From Degrees Decimal Minutes to Decimal Degrees", name: "Coordinates: From Degrees Decimal Minutes to Decimal Degrees",
input: "51° 30.24',-0° 7.56',", input: "51° 30.24',-0° 7.56',",
expectedOutput: "51.504°,-0.126°,", expectedOutput: "51.504°,-0.126°,",
recipeConfig: [ recipeConfig: [
{ {
op: "Convert co-ordinate format", op: "Convert coordinate format",
args: ["Degrees Decimal Minutes", "Comma", "Decimal Degrees", "Comma", "None", 3] args: ["Degrees Decimal Minutes", "Comma", "Decimal Degrees", "Comma", "None", 3]
} }
] ]
}, },
{ {
name: "Co-ordinates: From Decimal Degrees to Decimal Degrees", name: "Coordinates: From Decimal Degrees to Decimal Degrees",
input: "51.504°,-0.126°,", input: "51.504°,-0.126°,",
expectedOutput: "51.504°,-0.126°,", expectedOutput: "51.504°,-0.126°,",
recipeConfig: [ recipeConfig: [
{ {
op: "Convert co-ordinate format", op: "Convert coordinate format",
args: ["Decimal Degrees", "Comma", "Decimal Degrees", "Comma", "None", 3] args: ["Decimal Degrees", "Comma", "Decimal Degrees", "Comma", "None", 3]
} }
] ]
}, },
{ {
name: "Co-ordinates: From Decimal Degrees to Geohash", name: "Coordinates: From Decimal Degrees to Geohash",
input: "51.504°,-0.126°,", input: "51.504°,-0.126°,",
expectedOutput: "gcpvj0h0x,", expectedOutput: "gcpvj0h0x,",
recipeConfig: [ recipeConfig: [
{ {
op: "Convert co-ordinate format", op: "Convert coordinate format",
args: ["Decimal Degrees", "Comma", "Geohash", "Comma", "None", 9] args: ["Decimal Degrees", "Comma", "Geohash", "Comma", "None", 9]
}, },
], ],
}, },
{ {
name: "Co-ordinates: From Geohash to Decimal Degrees", name: "Coordinates: From Geohash to Decimal Degrees",
input: "gcpvj0h0x,", input: "gcpvj0h0x,",
expectedOutput: "51.504°,-0.126°,", expectedOutput: "51.504°,-0.126°,",
recipeConfig: [ recipeConfig: [
{ {
op: "Convert co-ordinate format", op: "Convert coordinate format",
args: ["Geohash", "Comma", "Decimal Degrees", "Comma", "None", 3] args: ["Geohash", "Comma", "Decimal Degrees", "Comma", "None", 3]
}, },
], ],
}, },
{ {
name: "Co-ordinates: From Decimal Degrees to MGRS", name: "Coordinates: From Decimal Degrees to MGRS",
input: "51.504°,-0.126°,", input: "51.504°,-0.126°,",
expectedOutput: "30U XC 99455 09790,", expectedOutput: "30U XC 99455 09790,",
recipeConfig: [ recipeConfig: [
{ {
op: "Convert co-ordinate format", op: "Convert coordinate format",
args: ["Decimal Degrees", "Comma", "Military Grid Reference System", "Comma", "None", 10] args: ["Decimal Degrees", "Comma", "Military Grid Reference System", "Comma", "None", 10]
}, },
], ],
}, },
{ {
name: "Co-ordinates: From MGRS to Decimal Degrees", name: "Coordinates: From MGRS to Decimal Degrees",
input: "30U XC 99455 09790,", input: "30U XC 99455 09790,",
expectedOutput: "51.504°,-0.126°,", expectedOutput: "51.504°,-0.126°,",
recipeConfig: [ recipeConfig: [
{ {
op: "Convert co-ordinate format", op: "Convert coordinate format",
args: ["Military Grid Reference System", "Comma", "Decimal Degrees", "Comma", "None", 3] args: ["Military Grid Reference System", "Comma", "Decimal Degrees", "Comma", "None", 3]
} }
] ]
}, },
{ {
name: "Co-ordinates: From Decimal Degrees to OSNG", name: "Coordinates: From Decimal Degrees to OSNG",
input: "51.504°,-0.126°,", input: "51.504°,-0.126°,",
expectedOutput: "TQ 30163 80005,", expectedOutput: "TQ 30163 80005,",
recipeConfig: [ recipeConfig: [
{ {
op: "Convert co-ordinate format", op: "Convert coordinate format",
args: ["Decimal Degrees", "Comma", "Ordnance Survey National Grid", "Comma", "None", 10] args: ["Decimal Degrees", "Comma", "Ordnance Survey National Grid", "Comma", "None", 10]
}, },
], ],
}, },
{ {
name: "Co-ordinates: From OSNG to Decimal Degrees", name: "Coordinates: From OSNG to Decimal Degrees",
input: "TQ 30163 80005,", input: "TQ 30163 80005,",
expectedOutput: "51.504°,-0.126°,", expectedOutput: "51.504°,-0.126°,",
recipeConfig: [ recipeConfig: [
{ {
op: "Convert co-ordinate format", op: "Convert coordinate format",
args: ["Ordnance Survey National Grid", "Comma", "Decimal Degrees", "Comma", "None", 3] args: ["Ordnance Survey National Grid", "Comma", "Decimal Degrees", "Comma", "None", 3]
}, },
], ],
}, },
{ {
name: "Co-ordinates: From Decimal Degrees to UTM", name: "Coordinates: From Decimal Degrees to UTM",
input: "51.504°,-0.126°,", input: "51.504°,-0.126°,",
expectedOutput: "30 N 699456 5709791,", expectedOutput: "30 N 699456 5709791,",
recipeConfig: [ recipeConfig: [
{ {
op: "Convert co-ordinate format", op: "Convert coordinate format",
args: ["Decimal Degrees", "Comma", "Universal Transverse Mercator", "Comma", "None", 0] args: ["Decimal Degrees", "Comma", "Universal Transverse Mercator", "Comma", "None", 0]
}, },
], ],
}, },
{ {
name: "Co-ordinates: From UTM to Decimal Degrees", name: "Coordinates: From UTM to Decimal Degrees",
input: "30 N 699456 5709791,", input: "30 N 699456 5709791,",
expectedOutput: "51.504°,-0.126°,", expectedOutput: "51.504°,-0.126°,",
recipeConfig: [ recipeConfig: [
{ {
op: "Convert co-ordinate format", op: "Convert coordinate format",
args: ["Universal Transverse Mercator", "Comma", "Decimal Degrees", "Comma", "None", 3] args: ["Universal Transverse Mercator", "Comma", "Decimal Degrees", "Comma", "None", 3]
}, },
], ],
}, },
{ {
name: "Co-ordinates: Directions in input, not output", name: "Coordinates: Directions in input, not output",
input: "N51.504°,W0.126°,", input: "N51.504°,W0.126°,",
expectedOutput: "51.504°,-0.126°,", expectedOutput: "51.504°,-0.126°,",
recipeConfig: [ recipeConfig: [
{ {
op: "Convert co-ordinate format", op: "Convert coordinate format",
args: ["Decimal Degrees", "Comma", "Decimal Degrees", "Comma", "None", 3] args: ["Decimal Degrees", "Comma", "Decimal Degrees", "Comma", "None", 3]
}, },
], ],
}, },
{ {
name: "Co-ordinates: Directions in input and output", name: "Coordinates: Directions in input and output",
input: "N51.504°,W0.126°,", input: "N51.504°,W0.126°,",
expectedOutput: "N 51.504°,W 0.126°,", expectedOutput: "N 51.504°,W 0.126°,",
recipeConfig: [ recipeConfig: [
{ {
op: "Convert co-ordinate format", op: "Convert coordinate format",
args: ["Decimal Degrees", "Comma", "Decimal Degrees", "Comma", "Before", 3] args: ["Decimal Degrees", "Comma", "Decimal Degrees", "Comma", "Before", 3]
}, },
], ],
}, },
{ {
name: "Co-ordinates: Directions not in input, in output", name: "Coordinates: Directions not in input, in output",
input: "51.504°,-0.126°,", input: "51.504°,-0.126°,",
expectedOutput: "N 51.504°,W 0.126°,", expectedOutput: "N 51.504°,W 0.126°,",
recipeConfig: [ recipeConfig: [
{ {
op: "Convert co-ordinate format", op: "Convert coordinate format",
args: ["Decimal Degrees", "Comma", "Decimal Degrees", "Comma", "Before", 3] args: ["Decimal Degrees", "Comma", "Decimal Degrees", "Comma", "Before", 3]
}, },
], ],
}, },
{ {
name: "Co-ordinates: Directions not in input, in converted output", name: "Coordinates: Directions not in input, in converted output",
input: "51.504°,-0.126°,", input: "51.504°,-0.126°,",
expectedOutput: "N 51° 30' 14.4\",W 0° 7' 33.6\",", expectedOutput: "N 51° 30' 14.4\",W 0° 7' 33.6\",",
recipeConfig: [ recipeConfig: [
{ {
op: "Convert co-ordinate format", op: "Convert coordinate format",
args: ["Decimal Degrees", "Comma", "Degrees Minutes Seconds", "Comma", "Before", 3] args: ["Decimal Degrees", "Comma", "Degrees Minutes Seconds", "Comma", "Before", 3]
}, },
], ],