X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/620100a5ac943e86e54f81f40dc52f1dd0d61330..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