Change requests and software defects addressed in this release are listed below. Review carefully to determine whether the following corrections apply to your situation.
Item Number | Description |
---|---|
CENTRUS-12010 |
As part of street-name matching improvements, EAST and WEST are not allowed to match in fuzzy string matching algorithm |
CENTRUS-12085 |
Modified the GeoStan match code to recognize ordinal number and words as a non-change |
CENTRUS-12130 |
If MLD has a unit number but no unit type, return "#" for the unit type |
Improved street-name fuzzy matching
The word matching algorithm has been modified so that "EAST" and "WEST" no longer match and "NORTH" and "SOUTH" no longer match. This prevents bad matches in the street name and city name.
Input address | Input lastline | Old matching address |
1413 SOUTHWEST ST | ARLINGTON, TX 76018 | 1413 SOUTHEAST PKWY |
317 SE ST | BLACKWELL, OK 74631 | 317 SOUTHWEST BLVD |
493 W 1ST NORTH ST | MESQUITE, NV 89027 | 493 W 1ST SOUTH ST |
101 FAIRMONT SOUTH CT | MACON, GA 31210 | 101 FAIRMONT NORTH CT |
Input address | Input lastline | Old matching lastline |
31 WASHINGTON AVE | WEST ISLIP, NY | EAST ISLIP, NY 11730 |
1 E ACADEMY ST | EAST FISHKILL, NY | WEST FISHKILL, NY 12590 |
2001 POMFRET RD | NORTH POMFRET, VT | SOUTH POMFRET, VT 05067 |
1500 KEOKUK IOWA RD | SOUTH ENGLISH, IA | NORTH ENGLISH, IA 52316 |
GeoStan match code modified
GS_MATCH_CODE was modified to recognize ordinal number and words as a non-change. When a street name changes ordinal number format (FIRST to 1ST or vice versa), that change will no longer be flagged as a street name change.
Return # for MLD attributes
If MLD has a unit number but no unit type, return the correct unit type, unit low and unit high numbers for all use cases.
Use case 1: regular address
The input address matches to a unit type and unit number range in the data.
Input address | 4750 WALNUT ST STE 200 |
Matching unit type | STE |
Matching low unit number | 100 |
Matching high unit number | 205 |
All output for this address is unchanged.
GeoStan function | GeoStan enum | Output value |
---|---|---|
GsDataGet(GS_OUTPUT) | GS_ADDRLINE | 4750 WALNUT ST STE 200 |
GS_UNIT_TYPE | STE | |
GS_LOUNIT | 100 | |
GS_HIUNIT | 205 | |
GS_UNIT_NUMBER | 200 | |
GsMultipleGet() | GS_ADDRLINE | 4750 WALNUT ST STE 200 |
GS_UNIT_TYPE | STE | |
GS_LOUNIT | 100 | |
GS_HIUNIT | 205 | |
GS_UNIT_NUMBER | 200 |
Use case 2: Address with a # unit type
The input address matches to an MLD record with a unit type of "#". Unit type "#" is a default unit type for input and output addresses when the USPS does not know the specific unit type, such as APT, STE, or UNIT. Sometimes in MLD we do not know the unit type, but we know there is a unit present, so MLD uses unit type "#".
Input address | 755 E 85TH ST # 1 |
Matching unit type | # |
Matching low unit number | 1 |
Matching high unit number | 1 |
Previously the unit type was always blank. Now the unit type is correctly returned as "#".
GeoStan function | GeoStan enum | Old output value | New output value |
---|---|---|---|
GsDataGet(GS_OUTPUT) | GS_ADDRLINE | 755 E 85TH ST # 1 | 755 E 85TH ST # 1 |
GS_UNIT_TYPE | blank | # | |
GS_LOUNIT | 1 | 1 | |
GS_HIUNIT | 1 | 1 | |
GS_UNIT_NUMBER | 1 | 1 | |
GsMultipleGet() | GS_ADDRLINE | 755 E 85TH ST # 1 | 755 E 85TH ST # 1 |
GS_UNIT_TYPE | blank | # | |
GS_LOUNIT | 1 | 1 | |
GS_HIUNIT | 1 | 1 | |
GS_UNIT_NUMBER | 1 | 1 |
Use case 3: Address with a standalone unit type
Standalone unit types are a special type of unit type that do not necessarily have a unit number. USPS unit types are documented in USPS Publication 28, Appendix C. These unit types are BSMT, FRNT, LBBY, LOWR, OFC, PH, REAR, SIDE, and UPPR. Others like APT, BLDG, and STE must always have a unit number.
Input address | 13190 BROMONT AVE OFC |
Matching unit type | OFC |
Matching low unit number | blank |
Matching high unit number | blank |
Previously the unit type, low and high unit numbers were incorrect. Now GeoStan correctly returns the standalone unit type in the unit type field and all of the unit number values are blank.
GeoStan function | GeoStan enum | Old output value | New output value |
---|---|---|---|
GsDataGet(GS_OUTPUT) | GS_ADDRLINE | 13190 BROMONT AVE OFC | 13190 BROMONT AVE OFC |
GS_UNIT_TYPE | OFC | OFC | |
GS_LOUNIT | OFC | blank | |
GS_HIUNIT | OFC | blank | |
GS_UNIT_NUMBER | blank | blank | |
GsMultipleGet() | GS_ADDRLINE | 13190 BROMONT AVE # OFC | 13190 BROMONT AVE OFC |
GS_UNIT_TYPE | blank | OFC | |
GS_LOUNIT | OFC | blank | |
GS_HIUNIT | OFC | blank | |
GS_UNIT_NUMBER | OFC | blank |