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.0norm_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
boolean类型 - 表示地址是否是由标准化过程形成的。 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 |