Name

Pagc_Normalize_Address — Étant donné une adresse textuelle, cette fonction renvoie un type composite norm_addy qui contient le suffixe de la route, le préfixe et le type normalisé, la rue, le nom de la rue, etc. divisés en champs distincts. Cette fonction fonctionne uniquement avec les données de recherche fournies avec le géocodeur tiger (pas besoin pour les données de recensement tiger). Nécessite l'extension address_standardizer.

Synopsis

norm_addy pagc_normalize_address(varchar in_address);

Description

Étant donné une adresse textuelle, cette fonction renvoie un type composite norm_addy qui contient le suffixe de la route, le préfixe et le type normalisé, la rue, le nom de la rue, etc. divisés en champs distincts. Il s'agit de la première étape du processus de géocodage visant à normaliser toutes les adresses sous forme postale. Aucune autre donnée n'est nécessaire en dehors de celles fournies avec le géocodeur.

Cette fonction utilise simplement les diverses tables de recherche pagc_* préchargées avec le géocodeur tiger et situées dans le schéma tiger, de sorte qu'il n'est pas nécessaire de télécharger les données de recensement tiger ou d'autres données supplémentaires pour l'utiliser. Il se peut que vous ayez besoin d'ajouter des abréviations ou des noms alternatifs aux différentes tables de recherche du schéma tiger.

Il utilise diverses tables de contrôle situées dans le schéma tiger pour normaliser l'adresse d'entrée.

Les champs de l'objet de type norm_addy renvoyés par cette fonction dans cet ordre où () indique un champ requis par le géocodeur, [] indique un champ optionnel :

Il existe de légères variations dans la casse et le formatage des Normalize_Address.

Disponibilité : 2.1.0

Cette méthode nécessite l'extension address_standardizer.

(address) [predirAbbrev] (streetName) [streetTypeAbbrev] [postdirAbbrev] [internal] [location] [stateAbbrev] [zip]

Le standardaddr natif de l'extension address_standardizer est pour l'instant un peu plus riche que norm_addy puisqu'il est conçu pour prendre en charge les adresses internationales (y compris le pays). Les champs équivalents au standardaddr sont :

house_num,predir, name, suftype, sufdir, unit, city, state, postcode

Amélioré : 2.4.0 L'objet norm_addy comprend des champs supplémentaires zip4 et address_alphanumeric.

  1. address est un nombre entier : Le numéro de la rue

  2. predirAbbrev est varchar : Préfixe directionnel de la route tel que N, S, E, W, etc. Ces préfixes sont contrôlés à l'aide de la table direction_lookup.

  3. streetName varchar

  4. streetTypeAbbrev varchar version abrégée du type de rue : par exemple St, Ave, Cir. Ceux-ci sont contrôlés à l'aide de la table street_type_lookup.

  5. postdirAbbrev varchar abrégé directionnel suffixe de la route N, S, E, W etc. Elles sont contrôlées à l'aide de la table direction_lookup.

  6. internal varchar adresse interne telle qu'un numéro d'appartement ou de suite.

  7. location varchar généralement une ville ou une province.

  8. stateAbbrev varchar deux caractères État américain, par exemple MA, NY, MI. Ceux-ci sont contrôlés par la table state_lookup.

  9. zip varchar Code postal à 5 chiffres, par exemple 02109.

  10. parsed booléen - indique si l'adresse a été formée à partir du processus de normalisation. La fonction normalize_address fixe cette valeur à true avant de renvoyer l'adresse.

  11. zip4 last 4 digits of a 9 digit ZIP Code. Availability: PostGIS 2.4.0.

  12. address_alphanumeric Numéro de rue complet, même s'il contient des caractères alpha comme 17R. Il est préférable d'utiliser la fonction Pagc_Normalize_Address. Disponibilité : PostGIS 2.4.0.

Exemples

Exemple d'appel unique

SELECT addy.*
FROM pagc_normalize_address('9000 E ROO ST STE 999, Springfield, CO') AS addy;


 address | predirabbrev | streetname | streettypeabbrev | postdirabbrev | internal  |  location   | stateabbrev | zip | parsed
---------+--------------+------------+------------------+---------------+-----------+-------------+-------------+-----+--------
    9000 | E            | ROO        | ST               |               | SUITE 999 | SPRINGFIELD | CO          |     | t

Batch call. pagc_normalize_address now follows the same single-address standardizer path internally, but for large set-based geocoding jobs you may still prefer to call standardize_address directly when materializing norm_addy rows in SQL, as shown below. This is similar to the exercise in Normalize_Address that uses data created in Geocode.

WITH g AS (SELECT address, ROW((sa).house_num, (sa).predir, (sa).name
  , (sa).suftype, (sa).sufdir, (sa).unit , (sa).city, (sa).state, (sa).postcode, true)::norm_addy As na
 FROM (SELECT address, standardize_address('tiger.pagc_lex'
       , 'tiger.pagc_gaz'
       , 'tiger.pagc_rules', address) As sa
        FROM addresses_to_geocode) As g)
SELECT address As orig, (g.na).streetname, (g.na).streettypeabbrev
 FROM  g;

 orig                                                |  streetname   | streettypeabbrev
-----------------------------------------------------+---------------+------------------
 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     |
 26 Capen Street, Medford, MA                        | CAPEN         | ST
 124 Mount Auburn St, Cambridge, Massachusetts 02138 | MOUNT AUBURN  | ST
 950 Main Street, Worcester, MA 01610                | MAIN          | ST