class ValidationException(Exception): pass LONGHAND_STREET_TYPES = { 'ALY': 'ALLEY', 'ANX': 'ANNEX', 'ARC': 'ARCADE', 'AV': 'AVENUE', 'AVE': 'AVENUE', 'BYU': 'BAYOU', 'BCH': 'BEACH', 'BND': 'BEND', 'BLF': 'BLUFF', 'BLFS': 'BLUFFS', 'BTM': 'BOTTOM', 'BLVD': 'BOULEVARD', 'BL': 'BOULEVARD', 'BR': 'BRANCH', 'BRG': 'BRIDGE', 'BRK': 'BROOK', 'BRKS': 'BROOKS', 'BGS': 'BURGS', 'BYP': 'BYPASS', 'CP': 'CAMP', 'CYN': 'CANYON', 'CPE': 'CAPE', 'CSWY': 'CAUSEWAY', 'CTR': 'CENTER', 'CTRS': 'CENTERS', 'CI': 'CIRCLE', 'CIR': 'CIRCLE', 'CIRS': 'CIRCLES', 'CLF': 'CLIFF', 'CLFS': 'CLIFFS', 'CMN': 'COMMON', 'CM': 'COMMON', 'COR': 'CORNER', 'CORS': 'CORNERS', 'CRSE': 'COURSE', 'CT': 'COURT', 'CTS': 'COURTS', 'CVS': 'COVES', 'CRK': 'CREEK', 'CRES': 'CRESCENT', 'CRST': 'CREST', 'XING': 'CROSSING', 'XRD': 'CROSSROAD', 'CURV': 'CURVE', 'DL': 'DALE', 'DM': 'DAM', 'DV': 'DIVIDE', 'DR': 'DRIVE', 'DRS': 'DRIVES', 'EST': 'ESTATE', 'ESTS': 'ESTATES', 'EXPY': 'EXPRESSWAY', 'EXT': 'EXTENSION', 'EXTS': 'EXTENSIONS', 'FALL': 'FALL', 'FLS': 'FALLS', 'FRY': 'FERRY', 'FLD': 'FIELD', 'FLDS': 'FIELDS', 'FLT': 'FLAT', 'FLTS': 'FLATS', 'FRD': 'FORD', 'FRDS': 'FORDS', 'FRST': 'FORESTS', 'FRG': 'FORGE', 'FRGS': 'FORGES', 'FRK': 'FORK', 'FRKS': 'FORKS', 'FT': 'FORT', 'FWY': 'FREEWAY', 'GDN': 'GARDEN', 'GDNS': 'GARDENS', 'GTWY': 'GATEWAY', 'GLN': 'GLEN', 'GLNS': 'GLENS', 'GRNS': 'GREENS', 'GRV': 'GROVE', 'GRVS': 'GROVES', 'HBR': 'HARBOR', 'HBRS': 'HARBORS', 'HVN': 'HAVEN', 'HTS': 'HEIGHTS', 'HWY': 'HIGHWAY', 'HL': 'HILL', 'HLS': 'HILLS', 'HOLW': 'HOLLOW', 'INLT': 'INLET', 'IS': 'ISLAND', 'ISS': 'ISLANDS', 'ISLE': 'ISLE', 'JCT': 'JUNCTION', 'JCTS': 'JUNCTIONS', 'KY': 'KEY', 'KYS': 'KEYS', 'KNL': 'KNOLL', 'KNLS': 'KNOLLS', 'LK': 'LAKE', 'LKS': 'LAKES', 'LAND': 'LAND', 'LNDG': 'LANDING', 'LN': 'LANE', 'LGT': 'LIGHT', 'LGTS': 'LIGHTS', 'LF': 'LOAF', 'LCK': 'LOCK', 'LCKS': 'LOCKS', 'LDG': 'LODGE', 'LOOP': 'LOOP', 'LP': 'LOOP', 'MALL': 'MALL', 'MNR': 'MANOR', 'MNRS': 'MANORS', 'MDW': 'MEADOW', 'MDWS': 'MEADOWS', 'MEWS': 'MEWS', 'ML': 'MILL', 'MLS': 'MILLS', 'MSN': 'MISSION', 'MTWY': 'MOTORWAY', 'MT': 'MOUNT', 'MTN': 'MOUNTAIN', 'MTNS': 'MOUNTAINS', 'NCK': 'NECK', 'ORCH': 'ORCHARD', 'OVAL': 'OVAL', 'OPAS': 'OVERPASS', 'PARK': 'PARKS', 'PKWY': 'PARKWAY', 'PASS': 'PASS', 'PSGE': 'PASSAGE', 'PATH': 'PATHS', 'PIKE': 'PIKES', 'PNE': 'PINE', 'PNES': 'PINES', 'PL': 'PLACE', 'PLN': 'PLAIN', 'PLNS': 'PLAINS', 'PLZ': 'PLAZA', 'PT': 'POINT', 'PTS': 'POINTS', 'PRT': 'PORT', 'PRTS': 'PORTS', 'PR': 'PRAIRIE', 'PW': 'PARKWAY', 'RADL': 'RADIAL', 'RAMP': 'RAMP', 'RNCH': 'RANCH', 'RPD': 'RAPID', 'RPDS': 'RAPIDS', 'RST': 'REST', 'RDG': 'RIDGE', 'RDGS': 'RIDGES', 'RIV': 'RIVER', 'RD': 'ROAD', 'RDS': 'ROADS', 'RTE': 'ROUTE', 'ROW': 'ROW', 'RUE': 'RUE', 'RUN': 'RUN', 'SHL': 'SHOAL', 'SHLS': 'SHOALS', 'SHR': 'SHORE', 'SHRS': 'SHORES', 'SKWY': 'SKYWAY', 'SPG': 'SPRING', 'SPGS': 'SPRINGS', 'SPUR': 'SPURS', 'SQ': 'SQUARE', 'SQS': 'SQUARES', 'STA': 'STATION', 'STRA': 'STRAVENUE', 'STRM': 'STREAM', 'ST': 'STREET', 'STS': 'STREETS', 'SMT': 'SUMMIT', 'TER': 'TERRACE', 'TRWY': 'THROUGHWAY', 'TRCE': 'TRACE', 'TRAK': 'TRACK', 'TRFY': 'TRAFFICWAY', 'TRL': 'TRAIL', 'TUNL': 'TUNNEL', 'TPKE': 'TURNPIKE', 'UPAS': 'UNDERPASS', 'UN': 'UNION', 'UNS': 'UNIONS', 'VLY': 'VALLEY', 'VLYS': 'VALLEYS', 'VIA': 'VIADUCT', 'VW': 'VIEW', 'VWS': 'VIEWS', 'VLG': 'VILLAGE', 'VLGS': 'VILLAGES', 'VL': 'VILLE', 'VIS': 'VISTA', 'WALK': 'WALK', 'WALL': 'WALL', 'WAY': 'WAY', 'WL': 'WELL', 'WLS': 'WELLS' } UNITS = [ 'APT', 'BLDG', 'BUILDING', 'BSMT', 'DEPT', 'FL', 'FRNT', 'HNGR', 'KEY', 'LBBY', 'LOT', 'LOWR', 'OFC', 'PH', 'PIER', 'REAR', 'RM', 'SIDE', 'SLIP', 'SPC', 'STOP', 'STE', 'TRLR', 'UNIT', 'UPPER', '#', 'BASE', # Not a real unit designator but appears in some NAD AZ data for some reason '(VACANT)' # One dataset does this... ] STATES = { "ALABAMA": "AL", "ALASKA": "AK", "ARIZONA": "AZ", "ARKANSAS": "AR", "CALIFORNIA": "CA", "COLORADO": "CO", "CONNECTICUT": "CT", "DELAWARE": "DE", "DISTRICT OF COLUMBIA": "DC", "FLORIDA": "FL", "GEORGIA": "GA", "HAWAII": "HI", "IDAHO": "ID", "ILLINOIS": "IL", "INDIANA": "IN", "IOWA": "IA", "KANSAS": "KS", "KENTUCKY": "KY", "LOUISIANA": "LA", "MAINE": "ME", "MONTANA": "MT", "NEBRASKA": "NE", "NEVADA": "NV", "NEW HAMPSHIRE": "NH", "NEW JERSEY": "NJ", "NEW MEXICO": "NM", "NEW YORK": "NY", "NORTH CAROLINA": "NC", "NORTH DAKOTA": "ND", "OHIO": "OH", "OKLAHOMA": "OK", "OREGON": "OR", "MARYLAND": "MD", "MASSACHUSETTS": "MA", "MICHIGAN": "MI", "MINNESOTA": "MN", "MISSISSIPPI": "MS", "MISSOURI": "MO", "PENNSYLVANIA": "PA", "RHODE ISLAND": "RI", "SOUTH CAROLINA": "SC", "SOUTH DAKOTA": "SD", "TENNESSEE": "TN", "TEXAS": "TX", "UTAH": "UT", "VERMONT": "VT", "VIRGINIA": "VA", "WASHINGTON": "WA", "WEST VIRGINIA": "WV", "WISCONSIN": "WI", "WYOMING": "WY" }