From 9940946a6386a9c2dd6be77d3d2f7a10f380615f Mon Sep 17 00:00:00 2001 From: Regina Obe Date: Tue, 8 Sep 2015 22:57:03 +0000 Subject: [PATCH] #2981 handling state highways with named parts. This might not be the best way to parse but aligns with tiger data. Include tests git-svn-id: http://svn.osgeo.org/postgis/trunk@14054 b70326c6-7e19-0410-871a-916f4a2858ee --- .../expected/test-standardize_address_1.out | 6 ++++++ .../address_standardizer/test-standardize_address_1.sql.in | 1 + extensions/address_standardizer/us_rules.sql | 1 + extras/tiger_geocoder/pagc_normalize/pagc_tables.sql | 1 + .../tiger_geocoder/regress/pagc_normalize_address_regress | 1 + .../regress/pagc_normalize_address_regress.sql | 2 ++ 6 files changed, 12 insertions(+) diff --git a/extensions/address_standardizer/expected/test-standardize_address_1.out b/extensions/address_standardizer/expected/test-standardize_address_1.out index a813261d2..14d538d07 100644 --- a/extensions/address_standardizer/expected/test-standardize_address_1.out +++ b/extensions/address_standardizer/expected/test-standardize_address_1.out @@ -10,3 +10,9 @@ select * from standardize_address('us_lex'::text, 'us_gaz'::text, 'us_rules'::te | 123 | | | | MAIN | STREET | | | | KANSAS CITY | MISSOURI | | 45678 | | (1 row) +SELECT '#2981' As ticket, * FROM standardize_address('us_lex','us_gaz','us_rules', '1566 NEW STATE HWY, RAYNHAM, MA') ; + ticket | building | house_num | predir | qual | pretype | name | suftype | sufdir | ruralroute | extra | city | state | country | postcode | box | unit +--------+----------+-----------+--------+------+---------+-------------------+---------+--------+------------+-------+---------+---------------+---------+----------+-----+------ + #2981 | | 1566 | | | | NEW STATE HIGHWAY | | | | | RAYNHAM | MASSACHUSETTS | USA | | | +(1 row) + diff --git a/extensions/address_standardizer/test-standardize_address_1.sql.in b/extensions/address_standardizer/test-standardize_address_1.sql.in index 9923aa15b..8b2dbf09c 100644 --- a/extensions/address_standardizer/test-standardize_address_1.sql.in +++ b/extensions/address_standardizer/test-standardize_address_1.sql.in @@ -1,2 +1,3 @@ select * from parse_address('123 Main Street, Kansas City, MO 45678'); select * from standardize_address('us_lex'::text, 'us_gaz'::text, 'us_rules'::text, '123 Main Street'::text, 'Kansas City, MO 45678'::text); +SELECT '#2981' As ticket, * FROM standardize_address('us_lex','us_gaz','us_rules', '1566 NEW STATE HWY, RAYNHAM, MA') ; diff --git a/extensions/address_standardizer/us_rules.sql b/extensions/address_standardizer/us_rules.sql index e8a0fc6ab..b3964de51 100644 --- a/extensions/address_standardizer/us_rules.sql +++ b/extensions/address_standardizer/us_rules.sql @@ -4375,6 +4375,7 @@ INSERT INTO us_rules (rule) VALUES ('0 22 6 3 -1 4 2 5 3 -1 1 9'); INSERT INTO us_rules (rule) VALUES ('0 3 6 -1 4 3 5 -1 1 9'); INSERT INTO us_rules (rule) VALUES ('0 3 1 2 -1 1 3 5 6 -1 1 17'); INSERT INTO us_rules (rule) VALUES ('0 3 1 2 22 -1 1 3 5 6 7 -1 1 17'); +INSERT INTO us_rules (rule) VALUES ('0 1 6 -1 1 5 5 -1 1 9'); INSERT INTO us_rules (rule) VALUES ('-1'); diff --git a/extras/tiger_geocoder/pagc_normalize/pagc_tables.sql b/extras/tiger_geocoder/pagc_normalize/pagc_tables.sql index 2931b53a5..195e8bcfa 100644 --- a/extras/tiger_geocoder/pagc_normalize/pagc_tables.sql +++ b/extras/tiger_geocoder/pagc_normalize/pagc_tables.sql @@ -8176,6 +8176,7 @@ INSERT INTO pagc_rules (id, rule) VALUES (4349, '1 2 11 28 12 -1 10 10 11 13 12 INSERT INTO pagc_rules (id, rule) VALUES (4350, '1 2 11 28 29 -1 10 10 11 13 13 -1 0 16'); INSERT INTO pagc_rules (id, rule) VALUES (4351, '1 2 11 28 29 12 -1 10 10 11 13 13 12 -1 0 17'); INSERT INTO pagc_rules (id, rule) values (4352, '16 0 22 -1 16 17 17 -1 4 7'); +INSERT INTO pagc_rules (id, rule) VALUES (4353, '0 1 6 -1 1 5 5 -1 1 9'); INSERT INTO pagc_rules (id, rule) VALUES (4355, '-1'); -- for some reason all rules are coming in as custom. just force by id diff --git a/extras/tiger_geocoder/regress/pagc_normalize_address_regress b/extras/tiger_geocoder/regress/pagc_normalize_address_regress index 9f7179395..4ac3a5058 100644 --- a/extras/tiger_geocoder/regress/pagc_normalize_address_regress +++ b/extras/tiger_geocoder/regress/pagc_normalize_address_regress @@ -46,4 +46,5 @@ true #1108a|529 MAIN ST, SUITE 201, BOSTON, MA 02129|529||MAIN|ST||SUITE 201|BOSTON|MA|02129|t #3259a|212||3RD|AVE|N|SUITE 560|MINNEAPOLIS|MN|55401|t #3259b|3937||43RD|AVE|S||MINNEAPOLIS|MN|55406|t +#2981|1566||NEW STATE HWY||||RAYNHAM|MA||t false diff --git a/extras/tiger_geocoder/regress/pagc_normalize_address_regress.sql b/extras/tiger_geocoder/regress/pagc_normalize_address_regress.sql index a17f93492..d99ceb4c6 100644 --- a/extras/tiger_geocoder/regress/pagc_normalize_address_regress.sql +++ b/extras/tiger_geocoder/regress/pagc_normalize_address_regress.sql @@ -103,5 +103,7 @@ SELECT '#1108a' As ticket, pprint_addy(addy), addy.* FROM normalize_address('529 -- #3259 numbered streets SELECT '#3259a' As ticket, * FROM normalize_address('212 Third Ave N Suite 560, Minneapolis, MN 55401'); SELECT '#3259b' As ticket, * FROM normalize_address('3937 Forty Third AVE S, MINNEAPOLIS, MN 55406'); +SELECT '#2981' As ticket, * FROM normalize_address('1566 NEW STATE HWY, RAYNHAM, MA') ; + --\timing SELECT set_geocode_setting('use_pagc_address_parser', 'false'); -- 2.50.0