]> git.openstreetmap.org Git - nominatim.git/blobdiff - utils/update.php
increase penalty for search requests
[nominatim.git] / utils / update.php
index 21ac524d3d64cd8a4a5e0ce95c71eae91e5e9be0..095aaa2ef578fd28a9fd0ec15c19f9f54c7cbbaa 100755 (executable)
@@ -30,6 +30,7 @@
                array('import-node', '', 0, 1, 1, 1, 'int', 'Re-import node'),
                array('import-way', '', 0, 1, 1, 1, 'int', 'Re-import way'),
                array('import-relation', '', 0, 1, 1, 1, 'int', 'Re-import relation'),
                array('import-node', '', 0, 1, 1, 1, 'int', 'Re-import node'),
                array('import-way', '', 0, 1, 1, 1, 'int', 'Re-import way'),
                array('import-relation', '', 0, 1, 1, 1, 'int', 'Re-import relation'),
+               array('import-from-main-api', '', 0, 1, 0, 0, 'bool', 'Use OSM API instead of Overpass to download objects'),
 
                array('index', '', 0, 1, 0, 0, 'bool', 'Index'),
                array('index-rank', '', 0, 1, 1, 1, 'int', 'Rank to start indexing from'),
 
                array('index', '', 0, 1, 0, 0, 'bool', 'Index'),
                array('index-rank', '', 0, 1, 1, 1, 'int', 'Rank to start indexing from'),
@@ -66,6 +67,8 @@
        // Assume osm2pgsql is in the folder above
        $sBasePath = dirname(dirname(__FILE__));
 
        // Assume osm2pgsql is in the folder above
        $sBasePath = dirname(dirname(__FILE__));
 
+       date_default_timezone_set('Etc/UTC');
+
        $oDB =& getDB();
 
        $aDSNInfo = DB::parseDSN(CONST_Database_DSN);
        $oDB =& getDB();
 
        $aDSNInfo = DB::parseDSN(CONST_Database_DSN);
 
        $bModifyXML = false;
        $sModifyXMLstr = '';
 
        $bModifyXML = false;
        $sModifyXMLstr = '';
+       $bUseOSMApi = isset($aResult['import-from-main-api']) && $aResult['import-from-main-api'];
        if (isset($aResult['import-file']) && $aResult['import-file'])
        {
                $bModifyXML = true;
        if (isset($aResult['import-file']) && $aResult['import-file'])
        {
                $bModifyXML = true;
        if (isset($aResult['import-node']) && $aResult['import-node'])
        {
                $bModifyXML = true;
        if (isset($aResult['import-node']) && $aResult['import-node'])
        {
                $bModifyXML = true;
-               $sModifyXMLstr = file_get_contents('http://www.openstreetmap.org/api/0.6/node/'.$aResult['import-node']);
+               if ($bUseOSMApi)
+               {
+                       $sModifyXMLstr = file_get_contents('http://www.openstreetmap.org/api/0.6/node/'.$aResult['import-node']);
+               }
+               else
+               {
+                       $sModifyXMLstr = file_get_contents('http://overpass.osm.rambler.ru/cgi/interpreter?data=node('.$aResult['import-node'].');out%20meta;');
+               }
        }
        if (isset($aResult['import-way']) && $aResult['import-way'])
        {
                $bModifyXML = true;
        }
        if (isset($aResult['import-way']) && $aResult['import-way'])
        {
                $bModifyXML = true;
-               $sModifyXMLstr = file_get_contents('http://www.openstreetmap.org/api/0.6/way/'.$aResult['import-way'].'/full');
+               if ($bUseOSMApi)
+               {
+                       $sCmd = 'http://www.openstreetmap.org/api/0.6/way/'.$aResult['import-way'].'/full';
+               }
+               else
+               {
+                       $sCmd = 'http://overpass.osm.rambler.ru/cgi/interpreter?data=(way('.$aResult['import-way'].');node(w););out%20meta;';
+               }
+               $sModifyXMLstr = file_get_contents($sCmd);
        }
        if (isset($aResult['import-relation']) && $aResult['import-relation'])
        {
                $bModifyXML = true;
        }
        if (isset($aResult['import-relation']) && $aResult['import-relation'])
        {
                $bModifyXML = true;
-               $sModifyXMLstr = file_get_contents('http://www.openstreetmap.org/api/0.6/relation/'.$aResult['import-relation'].'/full');
+               if ($bUseOSMApi)
+               {
+                       $sModifyXMLstr = file_get_contents('http://www.openstreetmap.org/api/0.6/relation/'.$aResult['import-relation'].'/full');
+               }
+               else
+               {
+                       $sModifyXMLstr = file_get_contents('http://overpass.osm.rambler.ru/cgi/interpreter?data=((rel('.$aResult['import-relation'].');way(r);node(w));node(r));out%20meta;');
+               }
        }
        if ($bModifyXML)
        {
        }
        if ($bModifyXML)
        {