]> git.openstreetmap.org Git - nominatim.git/blobdiff - utils/imports.php
Allow for postgis being in the default template - not an error if it already is installed
[nominatim.git] / utils / imports.php
index 7e9de8e4a33251288277f940bb33ddfd1afe3530..70a24963fa57f2f5338174dfe890965f12fb0057 100755 (executable)
                array('quiet', 'q', 0, 1, 0, 0, 'bool', 'Quiet output'),
                array('verbose', 'v', 0, 1, 0, 0, 'bool', 'Verbose output'),
 
                array('quiet', 'q', 0, 1, 0, 0, 'bool', 'Quiet output'),
                array('verbose', 'v', 0, 1, 0, 0, 'bool', 'Verbose output'),
 
-               array('parse-tiger', '', 0, 1, 1, 1, 'realpath', 'Convert tigger edge files to nominatim sql import'),
+               array('parse-tiger', '', 0, 1, 1, 1, 'realpath', 'Convert tiger edge files to nominatim sql import - datafiles from 2011 or later (source: edges directory of tiger data)'),
        );
        getCmdOpt($_SERVER['argv'], $aCMDOptions, $aCMDResult, true, true);
 
        );
        getCmdOpt($_SERVER['argv'], $aCMDOptions, $aCMDResult, true, true);
 
-       $bDidSomething = false;
 
        if (isset($aCMDResult['parse-tiger']))
        {
 
        if (isset($aCMDResult['parse-tiger']))
        {
+               if (!file_exists(CONST_Tiger_Data_Path)) mkdir(CONST_Tiger_Data_Path);
+
                $sTempDir = tempnam('/tmp', 'tiger');
                unlink($sTempDir);
                mkdir($sTempDir);
 
                $sTempDir = tempnam('/tmp', 'tiger');
                unlink($sTempDir);
                mkdir($sTempDir);
 
-               foreach(glob($aCMDResult['parse-tiger'].'/??_*', GLOB_ONLYDIR) as $sStateFolder)
+               foreach(glob($aCMDResult['parse-tiger'].'/tl_20??_?????_edges.zip', 0) as $sImportFile)
                {
                {
-                       foreach(glob($sStateFolder.'/?????_*', GLOB_ONLYDIR) as $sCountyFolder)
+                       set_time_limit(30);
+                       preg_match('#([0-9]{5})_(.*)#',basename($sImportFile), $aMatch);
+                       $sCountyID = $aMatch[1];
+                       echo "Processing ".$sCountyID."...\n";
+                       $sUnzipCmd = "unzip -d $sTempDir $sImportFile";
+                       exec($sUnzipCmd);
+                       $sShapeFile = $sTempDir.'/'.basename($sImportFile, '.zip').'.shp';
+                       if (!file_exists($sShapeFile))
+                       {
+                               echo "Failed unzip ($sImportFile)\n";
+                       }
+                       else
                        {
                        {
-                               preg_match('#([0-9]{5})_(.*)#',basename($sCountyFolder), $aMatch);
-                               $sCountyID = $aMatch[1];
-                               $sCountyName = str_replace('_', ' ', $aMatch[2]);
-                               $sImportFile = $sCountyFolder.'/tl_2009_'.$sCountyID.'_edges.zip';
-                               if (!file_exists($sImportFile))
+                               $sParseCmd = CONST_BasePath.'/utils/tigerAddressImport.py '.$sShapeFile;
+                               exec($sParseCmd);
+                               $sOsmFile = $sTempDir.'/'.basename($sImportFile, '.zip').'.osm1.osm';
+                               if (!file_exists($sOsmFile))
+                               {
+                                       echo "Failed parse ($sImportFile)\n";
+                               }
+                               else
                                {
                                {
-                                       echo "Missing: $sImportFile\n";
+                                       copy($sOsmFile, CONST_Tiger_Data_Path.'/'.$sCountyID.'.sql');
                                }
                                }
-                               $sUnzipCmd = "unzip -d $sTempDir $sImportFile";
-var_dump($sUnzipCmd);
-exit;
-//                             exec($sUnzipCmd);
                        }
                        }
+                       // Cleanup
+                       foreach(glob($sTempDir.'/*') as $sTmpFile)
+                       {
+                               unlink($sTmpFile);
+                       }
+
                }
        }
                }
        }