Location\Factory\CoordinateFactory::parseDecimalMinutesWithoutCardinalLetters PHP Method

parseDecimalMinutesWithoutCardinalLetters() private static method

private static parseDecimalMinutesWithoutCardinalLetters ( $string, $ellipsoid ) : Coordinate | null
$string
$ellipsoid
return Location\Coordinate | null
    private static function parseDecimalMinutesWithoutCardinalLetters($string, $ellipsoid)
    {
        // Decimal minutes without cardinal letters, e. g. "52 12.345, 13 23.456",
        // "52° 12.345, 13° 23.456", "52° 12.345′, 13° 23.456′", "52 12.345 N, 13 23.456 E",
        // "N52° 12.345′ E13° 23.456′"
        if (preg_match('/(-?\\d{1,2})°?\\s+(\\d{1,2}\\.?\\d*)[\'′]?[, ]\\s*(-?\\d{1,3})°?\\s+(\\d{1,2}\\.?\\d*)[\'′]?/ui', $string, $match)) {
            $latitude = $match[1] >= 0 ? $match[1] + $match[2] / 60 : $match[1] - $match[2] / 60;
            $longitude = $match[3] >= 0 ? $match[3] + $match[4] / 60 : $match[3] - $match[4] / 60;
            return new Coordinate($latitude, $longitude, $ellipsoid);
        }
        return null;
    }