Normalize_Address — Dado um endereço em texto de uma rua, retorna um tipo composto norm_addy
que não tem um sufixo, prefixo e tipo padronizado, rua, nome de rua etc. quebrado e, campos separados. Essa função irá funcionar com os dados lookup compactados com o tiger_geocoder (dados do censo tiger não são necessários).
norm_addy normalize_address(
varchar in_address)
;
Dado um endereço em texto de uma rua, retorna um tipo composto norm_addy
que não tem um sufixo, prefixo e tipo padronizado, rua, nome de rua etc. quebrado e, campos separados. Esse é o primeiro passo no processo de geocodificação para tornar todos os endereços normalizados no formato postal. Nenhum outro dado é requerido à parte do que está compactado com o geocoder.
Essa função utiliza as várias lookup tables direção/estado/sufixo pré carregadas com o tiger_geocoder e localizadas no esquema tiger
, então, você não precisa baixar os dados do censo tiger ou qualquer outro tipo de dados para utilizá-la. Talvez você ache necessário adicionar mais abreviações ou nomes alternativos para as lookup tables no esquema tiger
.
Utiliza várias tables lookup de controle localizadas no esquema tiger
para normalizar o endereço de entrada.
Campos no tipo de objeto norm_addy
retornou pela função nessa ordem, onde () indica um campo requerido pelo geocoder, [] indica um campo opcional:
(address) [predirAbbrev] (streetName) [streetTypeAbbrev] [postdirAbbrev] [internal] [location] [stateAbbrev] [zip] [parsed] [zip4] [address_alphanumeric]
Enhanced: 2.4.0 norm_addy object includes additional fields zip4 and address_alphanumeric.
address
é um inteiro: O número da rua
predirAbbrev
is varchar: Prefixo direcional para rua como N, S, L, O etc. Esse são controlados usando a table direction_lookup
.
streetName
varchar
A versão varchar streetTypeAbbrev
abreviada dos tipos de rua: ex: St., Av., Cir. Elas são controladas usando a tables street_type_lookup
.
As direções varchar postdirAbbrev
abreviadas N, S, L, O etc. Elas são controladas utilizando a table direction_lookup
.
Varchar interno
endereço interno como um apartamento ou número de suíte.
Varchar localização
normalmente uma cidade ou província governante.
Os estados varchar stateAbbrev
dos EUA de dois caracteres. ex: MA, NY, MI. Estes são controlados pela table state_lookup
.
zip
varchar 5-digit zipcode. e.g. 02109.
parsed
booleana - indica se um endereço foi formado pelo processo normalizador. A função normalize_address coloca isso como verdade antes de retornar o endereço.
zip4
last 4 digits of a 9 digit zip code. Availability: PostGIS 2.4.0.
address_alphanumeric
Full street number even if it has alpha characters like 17R. Parsing of this is better using Pagc_Normalize_Address function. Availability: PostGIS 2.4.0.
Gerar campos selecionados. Use Pprint_Addy se você quer uma saída textual.
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 |