The underlying code the parses the address string into fields is
parse_address(string)
stdaddr=# select * from parse_address('16 Berry Lane, schenectady, ny
12302');
num | street | street2 | address1 | city | state |
zip | zipplus | country
-----+------------+---------+---------------+-------------+-------+-------+---------+---------
16 | Berry Lane | | 16 Berry Lane | schenectady | NY |
12302 | | US
(1 row)
stdaddr=# select * from parse_address('16 Berry Lane, skenectady, ny
12302');
num | street | street2 | address1 |
city | state | zip | zipplus | country
-----+------------------------+---------+---------------------------+------+-------+-------+---------+---------
16 | Berry Lane, skenectady | | 16 Berry Lane, skenectady |
| NY | 12302 | | US
(1 row)
This one looks like the problem and I think this is a bug based on the
intended coding. I thought this would split on the commas if they
existed, but maybe that was changed.
Removing the comma between street and city does work:
stdaddr=# select * from parse_address('16 Berry Lane skenectady, ny 12302');
num | street | street2 | address1 | city | state | zip
| zipplus | country
-----+------------+---------+---------------+------------+-------+-------+---------+---------
16 | Berry Lane | | 16 Berry Lane | skenectady | NY |
12302 | | US
(1 row)
The simplest solution for now might be to remove the commas like:
stdaddr=# select * from parse_address(replace('16 Berry Lane,
skenectady, ny 12302',',',''));
num | street | street2 | address1 | city | state | zip
| zipplus | country
-----+------------+---------+---------------+------------+-------+-------+---------+---------
16 | Berry Lane | | 16 Berry Lane | skenectady | NY |
12302 | | US
(1 row)
http://trac.osgeo.org/postgis/ticket/2522
-Steve
On 10/29/2013 10:27 PM, crowmagnumb wrote:
I have installed the adress_standardizer (version 1.0) into a fresh install
of postgresql 9.3.1 with postgis 2.1.0 and I am finding an issue with the
address normalizer.
If I give the following valid address, it works...
db=# select internal, location, stateabbrev from pagc_normalize_address('16
Berry Lane, schenectady, ny 12302');
internal | location | stateabbrev
----------+-------------+-------------
| SCHENECTADY | NY
... but if I intentionally misspell schenectady (because I'm trying to get a
function to work using soundex() to allow misspellings), then it doesn't
work ....
db=# select internal, location, stateabbrev from pagc_normalize_address('16
Berry Lane, skenectady, ny 12302');
internal | location | stateabbrev
--------------+----------+-------------
# SKENECTADY | NEW YORK |
... the misspelled town is put into the internal field and the location
becomes New York spelled out. But then if I get rid of the comma between
Lane and the town but still misspell it, it parses as I expect...
ksedb=# select internal, location, stateabbrev from
pagc_normalize_address('16 Berry Lane skenectady, ny 12302');
internal | location | stateabbrev
----------+------------+-------------
| SKENECTADY | NY
... with the location being the incorrectly spelled town name.
Any ideas why this subtle difference occurs?
--
View this message in context:
http://postgis.17.x6.nabble.com/Problem-with-pagc-normalize-address-results-tp5004678.html
Sent from the PostGIS - User mailing list archive at Nabble.com.
_______________________________________________
postgis-users mailing list
[email protected]
http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users
_______________________________________________
postgis-users mailing list
[email protected]
http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users