standardize_address — Returnerar en stdaddr-form av en inmatningsadress med hjälp av lex-, gaz- och regeltabeller.
stdaddr standardize_address(
text lextab, text gaztab, text rultab, text address)
;
stdaddr standardize_address(
text lextab, text gaztab, text rultab, text micro, text macro)
;
Returnerar en stdaddr form av en inmatningsadress som använder lex table tabellnamn, gaz table och rules table tabellnamn och en adress.
Variant 1: Tar en adress som en enda rad.
Variant 2: En adress består av två delar. En mikro
som består av standard första raden av en postadress, t.ex. house_num street
, och ett makro som består av standard andra raden av en adress, t.ex. city, state postal_code country.
.
Tillgänglighet: 2.2.0
Denna metod behöver address_standardizer-tillägg.
Använda tillägg address_standardizer_data_us
CREATE EXTENSION address_standardizer_data_us; -- only needs to be done once
Variant 1: Adress på en rad. Detta fungerar inte bra med adresser utanför USA
SELECT house_num, name, suftype, city, country, state, unit FROM standardize_address('us_lex', 'us_gaz', 'us_rules', 'One Devonshire Place, PH 301, Boston, MA 02109');
house_num | name | suftype | city | country | state | unit ----------+------------+---------+--------+---------+---------------+----------------- 1 | DEVONSHIRE | PLACE | BOSTON | USA | MASSACHUSETTS | # PENTHOUSE 301
Använda tabeller som paketerats med tiger geocoder. Detta exempel fungerar endast om du har installerat postgis_tiger_geocoder
.
SELECT * FROM standardize_address('tiger.pagc_lex', 'tiger.pagc_gaz', 'tiger.pagc_rules', 'One Devonshire Place, PH 301, Boston, MA 02109-1234');
Gör det lättare att läsa vi kommer att dumpa utdata med hjälp av hstore-tillägg CREATE EXTENSION hstore; du måste installera
SELECT (each(hstore(p))).* FROM standardize_address('tiger.pagc_lex', 'tiger.pagc_gaz', 'tiger.pagc_rules', 'One Devonshire Place, PH 301, Boston, MA 02109') As p;
key | value ------------+----------------- box | city | BOSTON name | DEVONSHIRE qual | unit | # PENTHOUSE 301 extra | state | MA predir | sufdir | country | USA pretype | suftype | PL building | postcode | 02109 house_num | 1 ruralroute | (16 rows)
Variant 2: Som en tvådelad adress
SELECT (each(hstore(p))).* FROM standardize_address('tiger.pagc_lex', 'tiger.pagc_gaz', 'tiger.pagc_rules', 'One Devonshire Place, PH 301', 'Boston, MA 02109, US') As p;
key | value ------------+----------------- box | city | BOSTON name | DEVONSHIRE qual | unit | # PENTHOUSE 301 extra | state | MA predir | sufdir | country | USA pretype | suftype | PL building | postcode | 02109 house_num | 1 ruralroute | (16 rows)
stdaddr, rules table, lex table, gaz table, Pagc_Normalize_Address