X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/1663dd49a4cd91ca529357aa6608b8c0cde8ce23..71b3aa9cca3f9a3fd6a5f8e0e51c0b99463d7e66:/utils/imports.php diff --git a/utils/imports.php b/utils/imports.php index 7e9de8e4..70a24963 100755 --- a/utils/imports.php +++ b/utils/imports.php @@ -10,34 +10,51 @@ 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); - $bDidSomething = false; 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); - 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); + } + } }