]> git.openstreetmap.org Git - nominatim.git/commitdiff
extend scripts for Tiger 2011 data
authorSarah Hoffmann <lonvia@denofr.de>
Fri, 17 Feb 2012 20:34:28 +0000 (20:34 +0000)
committerSarah Hoffmann <lonvia@denofr.de>
Fri, 17 Feb 2012 20:34:28 +0000 (20:34 +0000)
utils/imports.php
utils/setup.php
utils/tigerAddressImport.py

index 112ebd890a9c5f16ee82e04ca2ce6e73002794c8..db0f7dbce286b3b3f839eb57601713059d05af85 100755 (executable)
@@ -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);
+                       }
+
+               }
+       }
index 0521b15d98ea391940658b3f9fd7792feeb7080f..cf465b15b02a58c1cd7541c646163a7dd853cd5f 100755 (executable)
                        $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");
index ce00270de268148ed395d03326eff2d7154aa49b..a784b93bfc4f0804d5ecb34a23e6b4d422a21d73 100755 (executable)
@@ -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