update readme and addresses preprocessing
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user