Normalize_Address — 給定一個文字街道地址,返回一個複合的 norm_addy
類型,其中包含標準化的道路後綴、前綴和類型,以及街道、街道名稱等,並分成獨立的欄位。此函式僅需使用與 tiger_geocoder 一起封裝的查找資料即可運作(無需 tiger 人口普查資料)。
norm_addy normalize_address(
varchar in_address)
;
給定一個文字街道地址,返回一個複合的 norm_addy
類型,其中包含標準化的道路後綴、前綴和類型,以及街道、街道名稱等,並分成獨立的欄位。這是地理編碼過程中的第一步,目的是將所有地址轉換為標準化的郵政格式。除了地理編碼器封裝的內容之外,無需其他資料。
此函式僅使用預先載入到 tiger_geocoder 並位於 tiger
模式中的各種方向/州/後綴查找表,因此您無需下載 tiger 人口普查資料或任何其他額外資料即可使用。您可能會發現需要向 tiger
模式中的各種查找表添加更多縮寫或替代名稱。
它使用位於 tiger
模式中的各種控制查找表來標準化輸入地址。
此函式返回的 norm_addy
類型物件中的欄位順序如下,其中 () 表示地理編碼器所需的欄位,[] 表示可選欄位
(address) [predirAbbrev] (streetName) [streetTypeAbbrev] [postdirAbbrev] [internal] [location] [stateAbbrev] [zip] [parsed] [zip4] [address_alphanumeric]
增強功能:2.4.0 norm_addy 物件包含額外的欄位 zip4 和 address_alphanumeric。
address
是整數:街道號碼
predirAbbrev
是 varchar:道路的方向前綴,例如 N、S、E、W 等。這些使用 direction_lookup
表控制。
streetName
varchar
streetTypeAbbrev
varchar 街道類型縮寫版本:例如 St、Ave、Cir。這些使用 street_type_lookup
表控制。
postdirAbbrev
varchar 道路的方向後綴縮寫:N、S、E、W 等。這些使用 direction_lookup
表控制。
internal
varchar 內部地址,例如公寓或套房號碼。
location
varchar 通常是城市或管轄省份。
stateAbbrev
varchar 兩個字元的美國州份。例如 MA、NY、MI。這些由 state_lookup
表控制。
zip
varchar 5 位數郵遞區號。例如 02109。
parsed
布林值 - 表示地址是否由標準化程序形成。normalize_address 函式會在返回地址之前將此值設定為 true。
zip4
9 位數郵遞區號的後 4 位數。可用性:PostGIS 2.4.0。
address_alphanumeric
完整的街道號碼,即使它有字母字符,例如 17R。使用 Pagc_Normalize_Address 函式可以更好地解析此資訊。可用性:PostGIS 2.4.0。
輸出選擇欄位。如果您想要漂亮的文字輸出,請使用 Pprint_Addy。
SELECT address As orig, (g.na).streetname, (g.na).streettypeabbrev FROM (SELECT address, normalize_address(address) As na FROM addresses_to_geocode) As g; orig | streetname | streettypeabbrev -----------------------------------------------------+---------------+------------------ 28 Capen Street, Medford, MA | Capen | St 124 Mount Auburn St, Cambridge, Massachusetts 02138 | Mount Auburn | St 950 Main Street, Worcester, MA 01610 | Main | St 529 Main Street, Boston MA, 02129 | Main | St 77 Massachusetts Avenue, Cambridge, MA 02139 | Massachusetts | Ave 25 Wizard of Oz, Walaford, KS 99912323 | Wizard of Oz |