Fix delimiter breaking Geohash detection

master
j433866 2019-01-14 13:00:14 +00:00
parent 8b77ad7748
commit 1a88a0164c
1 changed files with 9 additions and 4 deletions

View File

@ -45,6 +45,7 @@ export function convertCoordinates (inLat, inLong, inFormat, outFormat, precisio
convLong = convertSingleCoordinate(inLong, inFormat, "Decimal Degrees", 15).split("°");
}
// Convert Geohash and MGRS here, as they need both the lat and long values
if (outFormat === "Geohash") {
convLat = geohash.encode(parseFloat(convLat), parseFloat(convLong), precision);
} else if (outFormat === "Military Grid Reference System") {
@ -244,12 +245,14 @@ export function findFormat (input, delim) {
}
// Test MGRS and Geohash
if (input.split(" ").length === 1) {
if (input.split(" ").length <= 1) {
const filteredInput = input.replace(/[^A-Za-z0-9]/, "").toUpperCase();
const mgrsPattern = new RegExp(/^[0-9]{2}[C-HJ-NP-X]{2}[A-Z]+/);
const geohashPattern = new RegExp(/^[0123456789bcdefghjkmnpqrstuvwxyz]+$/);
if (mgrsPattern.test(input.toUpperCase())) {
const geohashPattern = new RegExp(/^[0123456789BCDEFGHJKMNPQRSTUVWXYZ]+$/);
log.error(filteredInput);
if (mgrsPattern.test(filteredInput)) {
return "Military Grid Reference System";
} else if (geohashPattern.test(input.toLowerCase())) {
} else if (geohashPattern.test(filteredInput)) {
return "Geohash";
}
}
@ -292,6 +295,8 @@ export function findDelim (input) {
}
}
}
// Loop through the standard delimiters, and try to find them in the input
for (let i = 0; i < delims.length; i++) {
const delim = delims[i];
if (input.includes(delim)) {