Class: CocinaDisplay::Geospatial::DMSCoordinateNormalizer

Inherits:
CoordinateNormalizer show all
Includes:
DMSParser
Defined in:
lib/cocina_display/geospatial.rb

Overview

Normalizes DMS values, including the packed form used in MARC 034 subfields.

Examples:

W1210000

121°14′48″W

Constant Summary collapse

PATTERN =

Either DMS punctuation, or a hemisphere paired with packed digits.

/[°⁰º′ʹ'″ʺ"]|\A[NESW]\d{4,}\z|\A\d{4,}[NESW]\z/

Constants included from DMSParser

CocinaDisplay::Geospatial::DMSParser::POINT_PATTERN

Class Method Summary collapse

Methods included from DMSParser

included

Methods inherited from CoordinateNormalizer

hemisphere_first

Methods inherited from CoordinatesParser

supports?

Class Method Details

.normalize_coord(value) ⇒ String?

Parameters:

  • value (String)

Returns:

  • (String, nil)


442
443
444
# File 'lib/cocina_display/geospatial.rb', line 442

def self.normalize_coord(value)
  super(hemisphere_first(value))
end