From c186a4ead0b6fc903f2a6682315a85d676715bc7 Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Fri, 17 Feb 2012 20:34:28 +0000 Subject: [PATCH] extend scripts for Tiger 2011 data --- utils/imports.php | 53 +++++++++++++++++++++++++++++++++++-- utils/setup.php | 2 +- utils/tigerAddressImport.py | 4 ++- 3 files changed, 55 insertions(+), 4 deletions(-) diff --git a/utils/imports.php b/utils/imports.php index 112ebd89..db0f7dbc 100755 --- a/utils/imports.php +++ b/utils/imports.php @@ -10,7 +10,8 @@ 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'), + array('parse-tiger-2011', '', 0, 1, 1, 1, 'realpath', 'Convert tiger edge files to nominatim sql import (source: edges directory of tiger data)'), ); getCmdOpt($_SERVER['argv'], $aCMDOptions, $aCMDResult, true, true); @@ -18,6 +19,7 @@ if (isset($aCMDResult['parse-tiger'])) { + $bDidSomething = true; foreach(glob($aCMDResult['parse-tiger'].'/??_*', GLOB_ONLYDIR) as $sStateFolder) { preg_match('#([0-9]{2})_(.*)#',basename($sStateFolder), $aMatch); @@ -35,7 +37,7 @@ echo "'$sCountyID' : '$sCountyName' ,\n"; } } -exit; + exit; if (!file_exists(CONST_BasePath.'/data/tiger2009')) mkdir(CONST_BasePath.'/data/tiger2009'); @@ -84,3 +86,50 @@ exit; } } } + + + if (isset($aCMDResult['parse-tiger-2011'])) + { + if (!file_exists(CONST_BasePath.'/data/tiger2011')) mkdir(CONST_BasePath.'/data/tiger2011'); + + $sTempDir = tempnam('/tmp', 'tiger'); + unlink($sTempDir); + mkdir($sTempDir); + + + $bDidSomething = true; + foreach(glob($aCMDResult['parse-tiger-2011'].'/tl_2011_?????_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_BasePath.'/data/tiger2011/'.$sCountyID.'.sql'); + } + } + // Cleanup + foreach(glob($sTempDir.'/*') as $sTmpFile) + { + unlink($sTmpFile); + } + + } + } diff --git a/utils/setup.php b/utils/setup.php index 0521b15d..cf465b15 100755 --- a/utils/setup.php +++ b/utils/setup.php @@ -284,7 +284,7 @@ $aDBInstances[$i] =& getDB(true); } - foreach(glob(CONST_BasePath.'/data/tiger2009/*.sql') as $sFile) + foreach(glob(CONST_BasePath.'/data/tiger2011/*.sql') as $sFile) { echo $sFile.': '; $hFile = fopen($sFile, "r"); diff --git a/utils/tigerAddressImport.py b/utils/tigerAddressImport.py index ce00270d..a784b93b 100755 --- a/utils/tigerAddressImport.py +++ b/utils/tigerAddressImport.py @@ -385,6 +385,7 @@ county_fips = { '08011' : 'Bent, CO' , '08013' : 'Boulder, CO' , '08015' : 'Chaffee, CO' , +'08014' : 'Broomfield, CO', '08017' : 'Cheyenne, CO' , '08019' : 'Clear Creek, CO' , '08021' : 'Conejos, CO' , @@ -499,6 +500,7 @@ county_fips = { '12081' : 'Manatee, FL' , '12083' : 'Marion, FL' , '12085' : 'Martin, FL' , +'12086' : 'Miami-Dade, FL' , '12087' : 'Monroe, FL' , '12089' : 'Nassau, FL' , '12091' : 'Okaloosa, FL' , @@ -3463,7 +3465,7 @@ def parse_shp_for_osm( filename ): divroad = poFeature.GetField("DIVROAD") if divroad != None: - if divroad == "Y" and tags["highway"] == "residential": + if divroad == "Y" and "highway" in tags and tags["highway"] == "residential": tags["highway"] = "tertiary" tags["tiger:separated"] = divroad -- 2.45.1