X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/1663dd49a4cd91ca529357aa6608b8c0cde8ce23..45383ee291e4b28dd249691d6e14f1b49fdd121a:/utils/tigerAddressImport.py diff --git a/utils/tigerAddressImport.py b/utils/tigerAddressImport.py index 0dd8b3f9..c4bca715 100755 --- a/utils/tigerAddressImport.py +++ b/utils/tigerAddressImport.py @@ -197,12 +197,14 @@ county_fips = { '02013' : 'Aleutians East, AK' , '02016' : 'Aleutians West, AK' , '02020' : 'Anchorage, AK' , +'02230' : 'Skagway Municipality' , '02050' : 'Bethel, AK' , '02060' : 'Bristol Bay, AK' , '02068' : 'Denali, AK' , '02070' : 'Dillingham, AK' , '02090' : 'Fairbanks North Star, AK' , '02100' : 'Haines, AK' , +'02105' : 'Hoonah-Angoon Census Area' , '02110' : 'Juneau, AK' , '02122' : 'Kenai Peninsula, AK' , '02130' : 'Ketchikan Gateway, AK' , @@ -212,12 +214,15 @@ county_fips = { '02180' : 'Nome, AK' , '02185' : 'North Slope, AK' , '02188' : 'Northwest Arctic, AK' , +'02195' : 'Petersburg Census Area' , +'02198' : 'Prince of Wales-Hyder Census Area' , '02201' : 'Prince of Wales-Outer Ketchikan, AK' , '02220' : 'Sitka, AK' , '02232' : 'Skagway-Hoonah-Angoon, AK' , '02240' : 'Southeast Fairbanks, AK' , '02261' : 'Valdez-Cordova, AK' , '02270' : 'Wade Hampton, AK' , +'02275' : 'Wrangell City and Borough' , '02280' : 'Wrangell-Petersburg, AK' , '02282' : 'Yakutat, AK' , '02290' : 'Yukon-Koyukuk, AK' , @@ -380,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' , @@ -494,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' , @@ -3318,6 +3325,102 @@ county_fips = { '56041' : 'Uinta, WY' , '56043' : 'Washakie, WY' , '56045' : 'Weston, WY' , +'60000' : 'AMERICAN SAMOA', +'60010' : 'Eastern district, AS' , +'60020' : 'Manua district, AS' , +'60030' : 'Rose island, AS' , +'60040' : 'Swains island, AS' , +'60050' : 'Western district, AS' , +'66000' : 'GUAM' , +'66010' : 'Guam, GU' , +'69000' : 'COMMONWEALTH OF THE NORTHERN MARIANA ISLANDS' , +'69085' : 'Commonwealth of the Northern Mariana Islands, MP' , +'69100' : 'Commonwealth of the Northern Mariana Islands, MP' , +'69110' : 'Commonwealth of the Northern Mariana Islands, MP' , +'69120' : 'Commonwealth of the Northern Mariana Islands, MP' , +'72000' : 'PUERTO RICO', +'72001' : 'Adjuntas, PR', +'72003' : 'Aguada, PR', +'72005' : 'Aguadilla, PR', +'72007' : 'Aguas Buenas, PR', +'72009' : 'Aibonito, PR', +'72011' : 'Anasco, PR', +'72013' : 'Arecibo, PR', +'72015' : 'Arroyo, PR', +'72017' : 'Barceloneta, PR', +'72019' : 'Barranquitas, PR', +'72021' : 'Bayamon, PR', +'72023' : 'Cabo Rojo, PR', +'72025' : 'Caguas, PR', +'72027' : 'Camuy, PR', +'72029' : 'Canovanas, PR', +'72031' : 'Carolina, PR', +'72033' : 'Catano, PR', +'72035' : 'Cayey, PR', +'72037' : 'Ceiba, PR', +'72039' : 'Ciales, PR', +'72041' : 'Cidra, PR', +'72043' : 'Coamo, PR', +'72045' : 'Comerio, PR', +'72047' : 'Corozal, PR', +'72049' : 'Culebra, PR', +'72051' : 'Dorado, PR', +'72053' : 'Fajardo, PR', +'72054' : 'Florida, PR', +'72055' : 'Guanica, PR', +'72057' : 'Guayama, PR', +'72059' : 'Guayanilla, PR', +'72061' : 'Guaynabo, PR', +'72063' : 'Gurabo, PR', +'72065' : 'Hatillo, PR', +'72067' : 'Hormigueros, PR', +'72069' : 'Humacao, PR', +'72071' : 'Isabela, PR', +'72073' : 'Jayuya, PR', +'72075' : 'Juana Diaz, PR', +'72077' : 'Juncos, PR', +'72079' : 'Lajas, PR', +'72081' : 'Lares, PR', +'72083' : 'Las Marias, PR', +'72085' : 'Las Piedras, PR', +'72087' : 'Loiza, PR', +'72089' : 'Luquillo, PR', +'72091' : 'Manati, PR', +'72093' : 'Maricao, PR', +'72095' : 'Maunabo, PR', +'72097' : 'Mayaguez, PR', +'72099' : 'Moca, PR', +'72101' : 'Morovis, PR', +'72103' : 'Naguabo, PR', +'72105' : 'Naranjito, PR', +'72107' : 'Orocovis, PR', +'72109' : 'Patillas, PR', +'72111' : 'Penuelas, PR', +'72113' : 'Ponce, PR', +'72115' : 'Quebradillas, PR', +'72117' : 'Rincon, PR', +'72119' : 'Rio Grande, PR', +'72121' : 'Sabana Grande, PR', +'72123' : 'Salinas, PR', +'72125' : 'San German, PR', +'72127' : 'San Juan, PR', +'72129' : 'San Lorenzo, PR', +'72131' : 'San Sebastian, PR', +'72133' : 'Santa Isabel, PR', +'72135' : 'Toa Alta, PR', +'72137' : 'Toa Baja, PR', +'72139' : 'Trujillo Alto, PR', +'72141' : 'Utuado, PR', +'72143' : 'Vega Alta, PR', +'72145' : 'Vega Baja, PR', +'72147' : 'Vieques, PR', +'72149' : 'Villalba, PR', +'72151' : 'Yabucoa, PR', +'72153' : 'Yauco, PR', +'78000' : 'VIRGIN ISLANDS' , +'78010' : 'St. Croix, VI' , +'78020' : 'St. John, VI' , +'78030' : 'St. Thomas, VI' , } def fipsstate(fips,countyfp): @@ -3458,7 +3561,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 @@ -3690,6 +3793,10 @@ def addressways(waylist, nodelist, first_id): rtags = [] ltags = [] tags = [] + zipr = '' + zipl = '' + name = '' + county = '' if "tiger:zip_right" in waykey: zipr = waykey["tiger:zip_right"] rtags.append( "" % zipr ) @@ -3719,11 +3826,11 @@ def addressways(waylist, nodelist, first_id): if right: rlinestring = []; for i, point in rsegment: - rlinestring.append( "%f %f" % (point[0], point[1]) ) + rlinestring.append( "%f %f" % (point[1], point[0]) ) if left: llinestring = []; for i, point in lsegment: - llinestring.append( "%f %f" % (point[0], point[1]) ) + llinestring.append( "%f %f" % (point[1], point[0]) ) if right: rsegments.append( rsegment ) if left: @@ -3786,7 +3893,7 @@ def addressways(waylist, nodelist, first_id): # ret.append( "" ) ret.append( "select tigger_create_interpolation(ST_GeomFromText('LINESTRING(%s)',4326), '%s', '%s', '%s', '%s', '%s', '%s');" % - ( ",".join(rlinestring), rfromadd, rtoadd, interpolationtype, name, county, zipr ) ) + ( ",".join(rlinestring), rfromadd.replace("'", "''"), rtoadd.replace("'", "''"), interpolationtype.replace("'", "''"), name.replace("'", "''"), county.replace("'", "''"), zipr.replace("'", "''") ) ) if left: id += 1 @@ -3811,7 +3918,7 @@ def addressways(waylist, nodelist, first_id): else: interpolationtype = "all"; ret.append( "select tigger_create_interpolation(ST_GeomFromText('LINESTRING(%s)',4326), '%s', '%s', '%s', '%s', '%s', '%s');" % - ( ",".join(llinestring), lfromadd, ltoadd, interpolationtype, name, county, zipl ) ) + ( ",".join(llinestring), lfromadd.replace("'", "''"), ltoadd.replace("'", "''"), interpolationtype.replace("'", "''"), name.replace("'", "''"), county.replace("'", "''"), zipl.replace("'", "''") ) ) return ret