X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/e0e812d09b047ccc5cb6b0aaa0239421f94cd369..1424e8e29bd54d3f713a38a834ff0c8ff5f463fb:/utils/tigerAddressImport.py diff --git a/utils/tigerAddressImport.py b/utils/tigerAddressImport.py index 1eb10d76..bdbf3b25 100755 --- a/utils/tigerAddressImport.py +++ b/utils/tigerAddressImport.py @@ -3469,6 +3469,12 @@ def parse_shp_for_osm( filename ): poLayer = poDS.GetLayer( 0 ) + fieldNameList = [] + layerDefinition = poLayer.GetLayerDefn() + for i in range(layerDefinition.GetFieldCount()): + fieldNameList.append(layerDefinition.GetFieldDefn(i).GetName()) + # sys.stderr.write(",".join(fieldNameList)) + poLayer.ResetReading() ret = [] @@ -3561,11 +3567,13 @@ def parse_shp_for_osm( filename ): if tags["highway"] != "primary": tags["highway"] = "secondary" - divroad = poFeature.GetField("DIVROAD") - if divroad != None: - if divroad == "Y" and "highway" in tags and tags["highway"] == "residential": - tags["highway"] = "tertiary" - tags["tiger:separated"] = divroad + # TIGER 2017 no longer contains this field + if 'DIVROAD' in fieldNameList: + divroad = poFeature.GetField("DIVROAD") + if divroad != None: + if divroad == "Y" and "highway" in tags and tags["highway"] == "residential": + tags["highway"] = "tertiary" + tags["tiger:separated"] = divroad statefp = poFeature.GetField("STATEFP") countyfp = poFeature.GetField("COUNTYFP") @@ -3893,8 +3901,8 @@ def addressways(waylist, nodelist, first_id): # ret.append( "" % (iSource, VERSION, import_guid) ) # ret.append( "" % (iAttrib) ) # ret.append( "" ) - - ret.append( "select tigger_create_interpolation(ST_GeomFromText('LINESTRING(%s)',4326), '%s', '%s', '%s', '%s', '%s', '%s');" % + # call new tiger_line_import function to save the lines in the DB. + ret.append( "select tiger_line_import(ST_GeomFromText('LINESTRING(%s)',4326), '%s', '%s', '%s', '%s', '%s', '%s');" % ( ",".join(rlinestring), rfromadd.replace("'", "''"), rtoadd.replace("'", "''"), interpolationtype.replace("'", "''"), name.replace("'", "''"), county.replace("'", "''"), zipr.replace("'", "''") ) ) if left: @@ -3919,7 +3927,7 @@ def addressways(waylist, nodelist, first_id): interpolationtype = "all"; else: interpolationtype = "all"; - ret.append( "select tigger_create_interpolation(ST_GeomFromText('LINESTRING(%s)',4326), '%s', '%s', '%s', '%s', '%s', '%s');" % + ret.append( "select tiger_line_import(ST_GeomFromText('LINESTRING(%s)',4326), '%s', '%s', '%s', '%s', '%s', '%s');" % ( ",".join(llinestring), lfromadd.replace("'", "''"), ltoadd.replace("'", "''"), interpolationtype.replace("'", "''"), name.replace("'", "''"), county.replace("'", "''"), zipl.replace("'", "''") ) ) return ret