update readme and addresses preprocessing

This commit is contained in:
2022-09-01 13:12:13 -07:00
parent 4f7b9ce93a
commit 1474ebe2f0
9 changed files with 93322 additions and 48 deletions

View File

@@ -1,14 +1,42 @@
from qgis.core import *
from qgis.gui import *
import re
@qgsfunction(args='auto', group='Custom', referenced_columns=[])
def getstreetfromaddress(value1, feature, parent):
def getformattedstreetname(value1, feature, parent):
parts = value1.split()
parts = map(formatstreetname, parts)
return " ".join(parts)
@qgsfunction(args='auto', group='Custom', referenced_columns=[])
def getformattedstreetnamefromaddress(value1, feature, parent):
parts = value1.split()
parts.pop(0) # Ignore the first bit (i.e. "123" in "123 N MAIN ST")
parts = map(formatstreetname, parts)
return " ".join(parts)
def formatstreetname(name):
# Specific suffixes like "123th" we have lower
if re.search("[0-9]+TH", name):
return name.capitalize()
if re.search("[0-9]+ND", name):
return name.capitalize()
if re.search("[0-9]+ST", name):
return name.capitalize()
if re.search("[0-9]+RD", name):
return name.capitalize()
# Weird names like 123D we keep upper
if re.search("[0-9]+[A-Z]+", name):
return name
# Prefixes we want to keep uppercase
if name == "US":
return "US"
if name == "SR":
return "SR"
if name == "CR":
return "CR"
if name == "C":
return "C"
# Directions
if name == "N":
return "North"
@@ -71,4 +99,9 @@ def formatstreetname(name):
return "Way"
if name == "XING":
return "Crossing"
return name.capitalize()
# Irish names
if name == "MCCRAY":
return "McCray"
if name == "MCKOWN":
return "McKown"
return name.capitalize()