]> git.openstreetmap.org Git - nominatim.git/commitdiff
Merge remote-tracking branch 'upstream/master'
authorSarah Hoffmann <lonvia@denofr.de>
Mon, 4 May 2015 19:24:51 +0000 (21:24 +0200)
committerSarah Hoffmann <lonvia@denofr.de>
Mon, 4 May 2015 19:24:51 +0000 (21:24 +0200)
lib/Geocode.php
lib/lib.php
sql/functions.sql
tests/features/api/reverse_by_id.feature [new file with mode: 0644]
utils/setup.php

index 5464c386b21631aee1a67f8fcd45990ea2be41a4..2d5d33944e640a7b0fa92bfc6bb028ae84dc68bb 100644 (file)
                                if (isset($aClassType[$aResult['class'].':'.$aResult['type']]['importance'])
                                        && $aClassType[$aResult['class'].':'.$aResult['type']]['importance'])
                                {
-                                       $aResult['foundorder'] = $aResult['foundorder'] + 0.000001 * $aClassType[$aResult['class'].':'.$aResult['type']]['importance'];
+                                       $aResult['foundorder'] += 0.0001 * $aClassType[$aResult['class'].':'.$aResult['type']]['importance'];
                                }
                                else
                                {
-                                       $aResult['foundorder'] = $aResult['foundorder'] + 0.001;
+                                       $aResult['foundorder'] += 0.01;
                                }
                                $aSearchResults[$iResNum] = $aResult;
                        }
index 48fba5accf7d8d284990af76786db80ecc0ec880..e548dc3af3abe35fd82efc1e6df040ab63632e23 100644 (file)
  'tourism:hotel' => array('label'=>'Hotel','frequency'=>2150,'icon'=>'accommodation_hotel2',),
  'tourism:motel' => array('label'=>'Motel','frequency'=>43,'icon'=>'',),
  'amenity:cinema' => array('label'=>'Cinema','frequency'=>277,'icon'=>'tourist_cinema',),
- 'tourism:information' => array('label'=>'Information','frequency'=>224,'icon'=>'amenity_information',),
  'tourism:artwork' => array('label'=>'Artwork','frequency'=>171,'icon'=>'tourist_art_gallery2',),
  'historic:archaeological_site' => array('label'=>'Archaeological Site','frequency'=>407,'icon'=>'tourist_archaeological2',),
  'amenity:doctors' => array('label'=>'Doctors','frequency'=>581,'icon'=>'health_doctors',),
  'shop:travel_agency' => array('label'=>'Travel Agency','frequency'=>21,'icon'=>'',),
  'shop:hifi' => array('label'=>'Hifi','frequency'=>21,'icon'=>'',),
  'amenity:shop' => array('label'=>'Shop','frequency'=>61,'icon'=>'',),
+ 'tourism:information' => array('label'=>'Information','frequency'=>224,'icon'=>'amenity_information',),
 
  'place:house' => array('label'=>'House','frequency'=>2086,'icon'=>'','defzoom'=>18,),
  'place:house_name' => array('label'=>'House','frequency'=>2086,'icon'=>'','defzoom'=>18,),
index 898cdb69530daefaee4f5faa2759e5fb24193830..e1ec138a9d54e966094019af11ba376098f630ca 100644 (file)
@@ -2247,9 +2247,11 @@ BEGIN
   END IF;
 
   IF for_place_id IS NULL THEN
-    for_place_id := in_place_id;
-    select calculated_country_code, housenumber, rank_search, postcode, null from placex where place_id = for_place_id 
-      INTO searchcountrycode, searchhousenumber, searchrankaddress, searchpostcode, searchhousename;
+    select coalesce(linked_place_id, place_id),  calculated_country_code,
+           housenumber, rank_search, postcode, null
+      from placex where place_id = in_place_id
+      INTO for_place_id, searchcountrycode, searchhousenumber, searchrankaddress, searchpostcode, searchhousename;
+      RAISE WARNING '% fffff %', in_place_id, for_place_id;
   END IF;
 
 --RAISE WARNING '% % % %',searchcountrycode, searchhousenumber, searchrankaddress, searchpostcode;
diff --git a/tests/features/api/reverse_by_id.feature b/tests/features/api/reverse_by_id.feature
new file mode 100644 (file)
index 0000000..5f5a8f8
--- /dev/null
@@ -0,0 +1,13 @@
+Feature: Reverse lookup by ID
+    Testing reverse geocoding via OSM ID
+
+    # see github issue #269
+    Scenario: Get address of linked places
+        Given the request parameters
+          | osm_type | osm_id
+          | N        | 151421301
+        When sending an API call reverse
+        Then exactly 1 result is returned
+        And result addresses contain
+          | county       | state
+          | Pratt County | Kansas
index fbf902e72509d989384b31edc304e6f9e51ac6e3..3b04b1617c749b02f6d40a51b0f78cce433035dd 100755 (executable)
@@ -33,7 +33,6 @@
                array('disable-token-precalc', '', 0, 1, 0, 0, 'bool', 'Disable name precalculation (EXPERT)'),
                array('import-tiger-data', '', 0, 1, 0, 0, 'bool', 'Import tiger data (not included in \'all\')'),
                array('calculate-postcodes', '', 0, 1, 0, 0, 'bool', 'Calculate postcode centroids'),
-               array('create-roads', '', 0, 1, 0, 0, 'bool', ''),
                array('osmosis-init', '', 0, 1, 0, 0, 'bool', 'Generate default osmosis configuration'),
                array('index', '', 0, 1, 0, 0, 'bool', 'Index the data'),
                array('index-noanalyse', '', 0, 1, 0, 0, 'bool', 'Do not perform analyse operations during index (EXPERT)'),
                pgsqlRunScript('ANALYSE');
        }
 
-       if ($aCMDResult['create-roads'])
-       {
-               $bDidSomething = true;
-
-               $oDB =& getDB();
-               $aDBInstances = array();
-               for($i = 0; $i < $iInstances; $i++)
-               {
-                       $aDBInstances[$i] =& getDB(true);
-                       if (!pg_query($aDBInstances[$i]->connection, 'set enable_bitmapscan = off')) fail(pg_last_error($oDB->connection));
-                       $sSQL = 'select count(*) from (select insertLocationRoad(partition, place_id, calculated_country_code, geometry) from ';
-                       $sSQL .= 'placex where osm_id % '.$iInstances.' = '.$i.' and rank_search between 26 and 27 and class = \'highway\') as x ';
-                       if ($aCMDResult['verbose']) echo "$sSQL\n";
-                       if (!pg_send_query($aDBInstances[$i]->connection, $sSQL)) fail(pg_last_error($oDB->connection));
-               }
-               $bAnyBusy = true;
-               while($bAnyBusy)
-               {
-                       $bAnyBusy = false;
-                       for($i = 0; $i < $iInstances; $i++)
-                       {
-                               if (pg_connection_busy($aDBInstances[$i]->connection)) $bAnyBusy = true;
-                       }
-                       sleep(1);
-                       echo '.';
-               }
-               echo "\n";
-       }
-
        if ($aCMDResult['import-tiger-data'])
        {
                $bDidSomething = true;