tiger import code

This commit is contained in:
Brian Quinion
2010-12-07 13:44:48 +00:00
parent 631e8d09ab
commit 8193757427
2 changed files with 59 additions and 7 deletions

View File

@@ -18,6 +18,27 @@
if (isset($aCMDResult['parse-tiger']))
{
foreach(glob($aCMDResult['parse-tiger'].'/??_*', GLOB_ONLYDIR) as $sStateFolder)
{
preg_match('#([0-9]{2})_(.*)#',basename($sStateFolder), $aMatch);
var_dump($aMatch);
exit;
foreach(glob($sStateFolder.'/?????_*', GLOB_ONLYDIR) as $sCountyFolder)
{
set_time_limit(30);
preg_match('#([0-9]{5})_(.*)#',basename($sCountyFolder), $aMatch);
$sCountyID = $aMatch[1];
$sCountyName = str_replace('_', ' ', $aMatch[2]);
$sImportFile = $sCountyFolder.'/tl_2009_'.$sCountyID.'_edges.zip';
$sCountyName = str_replace("'", "''", $sCountyName);
$sCountyName = str_replace(" County", "", $sCountyName);
echo "'$sCountyID' : '$sCountyName' ,\n";
}
}
exit;
if (!file_exists(CONST_BasePath.'/data/tiger2009')) mkdir(CONST_BasePath.'/data/tiger2009');
$sTempDir = tempnam('/tmp', 'tiger');
unlink($sTempDir);
mkdir($sTempDir);
@@ -26,18 +47,40 @@
{
foreach(glob($sStateFolder.'/?????_*', GLOB_ONLYDIR) as $sCountyFolder)
{
set_time_limit(30);
preg_match('#([0-9]{5})_(.*)#',basename($sCountyFolder), $aMatch);
$sCountyID = $aMatch[1];
$sCountyName = str_replace('_', ' ', $aMatch[2]);
$sImportFile = $sCountyFolder.'/tl_2009_'.$sCountyID.'_edges.zip';
echo "$sCountyID, $sCountyName\n";
if (!file_exists($sImportFile))
{
echo "Missing: $sImportFile\n";
}
$sUnzipCmd = "unzip -d $sTempDir $sImportFile";
var_dump($sUnzipCmd);
exit;
// exec($sUnzipCmd);
exec($sUnzipCmd);
if (!file_exists($sTempDir.'/tl_2009_'.$sCountyID.'_edges.shp'))
{
echo "Failed unzip ($sCountyID)\n";
}
else
{
$sParseCmd = CONST_BasePath.'/utils/tigerAddressImport.py '.$sTempDir.'/tl_2009_'.$sCountyID.'_edges.shp';
exec($sParseCmd);
if (!file_exists($sTempDir.'/tl_2009_'.$sCountyID.'_edges.osm1.osm'))
{
echo "Failed parse ($sCountyID)\n";
}
else
{
copy($sTempDir.'/tl_2009_'.$sCountyID.'_edges.osm1.osm', CONST_BasePath.'/data/tiger2009/'.$sCountyID.'.sql');
}
}
// Cleanup
foreach(glob($sTempDir.'/*') as $sTmpFile)
{
unlink($sTmpFile);
}
}
}
}