geo-coordinates-parser
Advanced tools
Comparing version 1.5.3 to 1.5.4
@@ -412,7 +412,12 @@ //function for converting coordinates from a string to decimal and verbatim | ||
//Coordinates pattern matching regex | ||
//decimal degrees | ||
var dd_re = /(NORTH|SOUTH|[NS])?[\s]*([+-]?[0-8]?[0-9](?:[\.,]\d{3,}))[\s]*([•º°]?)[\s]*(NORTH|SOUTH|[NS])?[\s]*[,/;]?[\s]*(EAST|WEST|[EW])?[\s]*([+-]?[0-1]?[0-9]?[0-9](?:[\.,]\d{3,}))[\s]*([•º°]?)[\s]*(EAST|WEST|[EW])?/i; | ||
//degrees minutes seconds with '.' as separator - gives array with 15 values | ||
var dms_periods = /(NORTH|SOUTH|[NS])?[\ \t]*([+-]?[0-8]?[0-9])[\ \t]*(\.)[\ \t]*([0-5]?[0-9])[\ \t]*(\.)?[\ \t]*((?:[0-5]?[0-9])(?:\.\d{1,3})?)?(NORTH|SOUTH|[NS])?(?:[\ \t]*[,/;][\ \t]*|[\ \t]*)(EAST|WEST|[EW])?[\ \t]*([+-]?[0-1]?[0-9]?[0-9])[\ \t]*(\.)[\ \t]*([0-5]?[0-9])[\ \t]*(\.)?[\ \t]*((?:[0-5]?[0-9])(?:\.\d{1,3})?)?(EAST|WEST|[EW])?/i; | ||
var dms_periods = /(NORTH|SOUTH|[NS])?[\ \t]*([+-]?[0-8]?[0-9])[\ \t]*(\.)[\ \t]*([0-5]?[0-9])[\ \t]*(\.)?[\ \t]*((?:[0-5]?[0-9])(?:\.\d{1,3})?)?\s*(NORTH|SOUTH|[NS])?(?:[\ \t]*[,/;][\ \t]*|[\ \t]*)(EAST|WEST|[EW])?[\ \t]*([+-]?[0-1]?[0-9]?[0-9])[\ \t]*(\.)[\ \t]*([0-5]?[0-9])[\ \t]*(\.)?[\ \t]*((?:[0-5]?[0-9])(?:\.\d{1,3})?)?\s*(EAST|WEST|[EW])?/i; | ||
//degrees minutes seconds with words 'degrees, minutes, seconds' as separators (needed because the s of seconds messes with the S of SOUTH) - gives array of 17 values | ||
var dms_abbr = /(NORTH|SOUTH|[NS])?[\ \t]*([+-]?[0-8]?[0-9])[\ \t]*(D(?:EG)?(?:REES)?)[\ \t]*([0-5]?[0-9])[\ \t]*(M(?:IN)?(?:UTES)?)[\ \t]*((?:[0-5]?[0-9])(?:\.\d{1,3})?)?(S(?:EC)?(?:ONDS)?)?[\ \t]*(NORTH|SOUTH|[NS])?(?:[\ \t]*[,/;][\ \t]*|[\ \t]*)(EAST|WEST|[EW])?[\ \t]*([+-]?[0-1]?[0-9]?[0-9])[\ \t]*(D(?:EG)?(?:REES)?)[\ \t]*([0-5]?[0-9])[\ \t]*(M(?:IN)?(?:UTES)?)[\ \t]*((?:[0-5]?[0-9])(?:\.\d{1,3})?)?(S(?:EC)?(?:ONDS)?)[\ \t]*(EAST|WEST|[EW])?/i; | ||
//everything else - gives array of 17 values | ||
@@ -419,0 +424,0 @@ var coords_other = /(NORTH|SOUTH|[NS])?[\ \t]*([+-]?[0-8]?[0-9])[\ \t]*([•º°\.:]|D(?:EG)?(?:REES)?)?[\ \t]*,?([0-5]?[0-9](?:\.\d{1,})?)?[\ \t]*(['′´’\.:]|M(?:IN)?(?:UTES)?)?[\ \t]*,?((?:[0-5]?[0-9])(?:\.\d{1,3})?)?[\ \t]*(''|′′|’’|´´|["″”\.])?[\ \t]*(NORTH|SOUTH|[NS])?(?:\s*[,/;]\s*|\s*)(EAST|WEST|[EW])?[\ \t]*([+-]?[0-1]?[0-9]?[0-9])[\ \t]*([•º°\.:]|D(?:EG)?(?:REES)?)?[\ \t]*,?([0-5]?[0-9](?:\.\d{1,})?)?[\ \t]*(['′´’\.:]|M(?:IN)?(?:UTES)?)?[\ \t]*,?((?:[0-5]?[0-9])(?:\.\d{1,3})?)?[\ \t]*(''|′′|´´|’’|["″”\.])?[\ \t]*(EAST|WEST|[EW])?/i; |
{ | ||
"name": "geo-coordinates-parser", | ||
"version": "1.5.3", | ||
"version": "1.5.4", | ||
"description": "A Javascript function for reading a variety of coordinate formats and converting to decimal numbers. Builds on other efforts by returning the verbatim coordinates and the decimal coordinates all in one object.", | ||
@@ -5,0 +5,0 @@ "main": "merge.js", |
@@ -289,2 +289,16 @@ //return an array of coordinate strings for testing | ||
decimalLongitude: 23.07771 | ||
}, | ||
{ | ||
verbatimCoordinates: '27.45.34 S 23.23.23 E', | ||
verbatimLatitude: '27.45.34 S', | ||
verbatimLongitude: '23.23.23 E', | ||
decimalLatitude: -27.759444, | ||
decimalLongitude: 23.38972222 | ||
}, | ||
{ | ||
verbatimCoordinates: 'S 27.45.34 E 23.23.23', | ||
verbatimLatitude: 'S 27.45.34', | ||
verbatimLongitude: 'E 23.23.23', | ||
decimalLatitude: -27.759444, | ||
decimalLongitude: 23.38972222 | ||
} | ||
@@ -291,0 +305,0 @@ ] |
@@ -255,2 +255,9 @@ [ | ||
{ | ||
"verbatimCoordinates": "18°24S 22°45E", | ||
"verbatimLatitude": "18°24S", | ||
"verbatimLongitude": "22°45E", | ||
"decimalLatitude": -18.4, | ||
"decimalLongitude": 22.75 | ||
}, | ||
{ | ||
"verbatimCoordinates": "18.24S 22.45E", | ||
@@ -303,3 +310,10 @@ "verbatimLatitude": "18.24S", | ||
"decimalLongitude": 23.07771 | ||
}, | ||
{ | ||
"verbatimCoordinates": "27.45.34 S 23.23.23 E", | ||
"verbatimLatitude": "27.45.34 S", | ||
"verbatimLongitude": "23.23.23 E", | ||
"decimalLatitude": -27.759444, | ||
"decimalLongitude": 23.38972222 | ||
} | ||
] |
const convert = require('./converter') | ||
const test = '23°45\'12.2\'\'S 18.33\'56.7\'\'E' | ||
const test = '27.45.34 S 23.23.23 E' | ||
@@ -4,0 +4,0 @@ try{ |
58808
1152