private function coordinate()
    {
        // By default don't change sign
        $sign = false;

        // Match sign if cardinal direction has not been seen
        if (! ($this->nextCardinal > 0) && $this->lexer->isNextTokenAny(array(Lexer::T_PLUS, Lexer::T_MINUS))) {
            $sign = $this->sign();
        }

        // Get coordinate value
        $coordinate = $this->degrees();

        // If sign not matched determine sign from cardinal direction when required
        // or if cardinal direction is present and this is first coordinate in a pair
        if (false === $sign && ($this->nextCardinal > 0 || (null === $this->nextCardinal && $this->lexer->isNextTokenAny(array(Lexer::T_CARDINAL_LAT, Lexer::T_CARDINAL_LON))))) {
            return $this->cardinal($coordinate);
        }

        // Remember there was no cardinal direction on first coordinate
        $this->nextCardinal = -1;

        // Return value with sign if set
        return (false === $sign ? 1 : $sign) * $coordinate;
    }
private function coordinate()
    {
        // By default don't change sign
        $sign = false;

        // Match sign if cardinal direction has not been seen
        if (! ($this->nextCardinal > 0) && $this->lexer->isNextTokenAny(array(Lexer::T_PLUS, Lexer::T_MINUS))) {
            $sign = $this->sign();
        }

        // Get coordinate value
        $coordinate = $this->degrees();

        // If sign not matched determine sign from cardinal direction when required
        // or if cardinal direction is present and this is first coordinate in a pair
        if (false === $sign && ($this->nextCardinal > 0 || (null === $this->nextCardinal && $this->lexer->isNextTokenAny(array(Lexer::T_CARDINAL_LAT, Lexer::T_CARDINAL_LON))))) {
            return $this->cardinal($coordinate);
        }

        // Remember there was no cardinal direction on first coordinate
        $this->nextCardinal = -1;

        // Return value with sign if set
        return (false === $sign ? 1 : $sign) * $coordinate;
    }
private function coordinate ( ) { // By default don't change sign $ sign = false ; // Match sign if cardinal direction has not been seen if ( ! ( $ this -> nextCardinal > 0 ) && $ this -> lexer -> isNextTokenAny ( array ( Lexer :: T_PLUS , Lexer :: T_MINUS ) ) ) { $ sign = $ this -> sign ( ) ; } // Get coordinate value $ coordinate = $ this -> degrees ( ) ; // If sign not matched determine sign from cardinal direction when required // or if cardinal direction is present and this is first coordinate in a pair if ( false === $ sign && ( $ this -> nextCardinal > 0 || ( null === $ this -> nextCardinal && $ this -> lexer -> isNextTokenAny ( array ( Lexer :: T_CARDINAL_LAT , Lexer :: T_CARDINAL_LON ) ) ) ) ) { return $ this -> cardinal ( $ coordinate ) ; } // Remember there was no cardinal direction on first coordinate $ this -> nextCardinal = - 1 ; // Return value with sign if set return ( false === $ sign ? 1 : $ sign ) * $ coordinate ; }
Match and return single coordinate value

@return float|int
Match and return single coordinate value