module AIXM # Characters recognized as symbols for "minute" in DMS notations MIN = %Q('\u2018\u2019\u00b4).freeze # Characters recognized as symbols for "second" in DMS notations SEC = %Q("\u201c\u201d\u201f).freeze # Pattern matching geographical coordinates in various DMS notations DMS_RE = %r( (? (?-)? (?\d{1,3})[° ]{1,2} (?\d{2})[#{MIN}#{SEC} ]{1,2} (?\d{2}(?:[\.,]\d{0,2})?)[#{SEC}#{MIN} ]{0,2} (?[NE])?(?[SW])? | (?-)? (?\d{1,3}) (?\d{2}) (?\d{2}(?:[\.,]\d{0,2})?) (?:(?[NE])|(?[SW])) ) )xi.freeze # Pattern matching PCN surface strength notations PCN_RE = %r( (? (?\d+)\W+ (?[RF])\W+ (?[A-D])\W+ (?[W-Z])\W+ (?[TU]) ) )x.freeze # Pattern matching timetable working hour codes H_RE = /(?H24|HJ|HN|HX|HO)/.freeze end