]> git.openstreetmap.org Git - nominatim.git/commitdiff
fix to NearPoint::extractFromQuery handling first minus sign
authormarc tobias <mtm@opencagedata.com>
Tue, 19 Sep 2017 11:40:10 +0000 (12:40 +0100)
committermarc tobias <mtm@opencagedata.com>
Tue, 19 Sep 2017 11:40:10 +0000 (12:40 +0100)
lib/NearPoint.php
test/php/Nominatim/NearPointTest.php

index e8d595cc47ee5cf6603f2b7e6a4c51185c0e2613..4f0531d91510fbe4c2146c8a17259287c29eade6 100644 (file)
@@ -133,8 +133,8 @@ class NearPoint
             $sFound    = $aData[0];
             $fQueryLat = ($aData[2]=='N'?1:-1) * ($aData[1]);
             $fQueryLon = ($aData[4]=='E'?1:-1) * ($aData[3]);
-        } elseif (preg_match('/(\\[|^|\\b)(-?[0-9]+[0-9]*\\.[0-9]+)[, ]+(-?[0-9]+[0-9]*\\.[0-9]+)(\\]|$|\\b)/', $sQuery, $aData)) {
-            /*                 1          2                             3                        4
+        } elseif (preg_match('/(\\[|^|\\b)?(-?[0-9]+[0-9]*\\.[0-9]+)[, ]+(-?[0-9]+[0-9]*\\.[0-9]+)(\\]|$|\\b)/', $sQuery, $aData)) {
+            /*                 1           2                             3                        4
              * degrees decimal
              * 12.34, 56.78
              * [12.456,-78.90]
index 6fa9b515078a2e6264aad08e53c14ac86559c938..5ad73451ecf997660758cd2c6d2e1782011c6b1e 100644 (file)
@@ -35,6 +35,10 @@ class NearPointTest extends \PHPUnit_Framework_TestCase
         $this->assertEquals($aRes['pt']->radius(), 0.1);
         $this->assertEquals($aRes['query'], '');
 
+        $aRes = NearPoint::extractFromQuery(' -12.456,-78.90 ');
+        $this->assertEquals($aRes['pt']->lat(), -12.456);
+        $this->assertEquals($aRes['pt']->lon(), -78.90);
+
         // http://en.wikipedia.org/wiki/Geographic_coordinate_conversion
         // these all represent the same location
         $aQueries = array(