standardize_address — 어휘 목록, 지명 색인, 규칙 테이블을 활용해서 입력 주소의 stdaddr 형식을 반환합니다.
stdaddr standardize_address(
text lextab, text gaztab, text rultab, text address)
;
stdaddr standardize_address(
text lextab, text gaztab, text rultab, text micro, text macro)
;
lex table, gaz table, rules table 테이블명 및 주소를 활용해서 입력 주소의 stdaddr 형식을 반환합니다.
변종 1: 주소를 단일 행으로 입력받습니다.
변종 2: 주소를 두 부분으로 입력받습니다. house_num street
같은 우편 주소의 표준 첫 번째 행으로 이루어진 micro
절과, city, state postal_code country
같은 우편 주소의 표준 두 번째 행으로 이루어진 macro
절입니다.
2.2.0 버전부터 사용할 수 있습니다.
This method needs address_standardizer extension.
address_standardizer_data_us 확장 프로그램 이용
CREATE EXTENSION address_standardizer_data_us; -- only needs to be done once
변종 1: 단일 행 주소를 입력 받습니다. 미국 주소가 아닌 경우 제대로 동작하지 않습니다.
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
TIGER 지오코딩 도구로 패키징된 테이블을 이용 (이 예시는 사용자가 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');
더 알아보기 쉽게 하기 위해 hstore 확장 프로그램을 이용해서 출력물을 덤프할 것입니다. 사용자가 CREATE EXTENSION hstore;
명령으로 설치해야 합니다.
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)
변종 2: 주소를 두 부분으로 입력받습니다.
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)