- foreach(glob($aCMDResult['parse-tiger'].'/??_*', GLOB_ONLYDIR) as $sStateFolder)
- {
- foreach(glob($sStateFolder.'/?????_*', GLOB_ONLYDIR) as $sCountyFolder)
- {
- 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))
- {
- echo "Missing: $sImportFile\n";
- }
- $sUnzipCmd = "unzip -d $sTempDir $sImportFile";
-var_dump($sUnzipCmd);
-exit;
-// exec($sUnzipCmd);
- }
- }
- }
+ $sTempDir = tempnam('/tmp', 'tiger');
+ unlink($sTempDir);
+ mkdir($sTempDir);
+
+ foreach (glob($aCMDResult['parse-tiger'].'/tl_20??_?????_edges.zip', 0) as $sImportFile) {
+ 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 {
+ $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 {
+ copy($sOsmFile, CONST_Tiger_Data_Path.'/'.$sCountyID.'.sql');
+ }
+ }
+ // Cleanup
+ foreach (glob($sTempDir.'/*') as $sTmpFile) {
+ unlink($sTmpFile);
+ }
+ }
+}