Class: CocinaDisplay::Geospatial::PointParser

Inherits:
CoordinatesParser show all
Defined in:
lib/cocina_display/geospatial.rb

Overview

Base class for point parsers.

Direct Known Subclasses

DMSPointParser, DecimalPointParser

Constant Summary

Constants inherited from CoordinatesParser

CoordinatesParser::PATTERN

Class Method Summary collapse

Methods inherited from CoordinatesParser

supports?

Class Method Details

.parse(input_str) ⇒ Point?

Parse the input string into a Point, or nil if parsing fails.

Parameters:

  • input_str (String)

Returns:



278
279
280
281
282
283
284
285
286
# File 'lib/cocina_display/geospatial.rb', line 278

def self.parse(input_str)
  matches = input_str.match(self::PATTERN)
  return unless matches

  lat = normalize_coord(matches[:lat])
  lng = normalize_coord(matches[:lng])

  Point.from_coords(lat: lat, lng: lng)
end