Opened 13 years ago

Closed 13 years ago

#1113 closed defect (fixed)

"Old" Road name not found

Reported by: mikepease Owned by: robe
Priority: medium Milestone: PostGIS 2.0.0
Component: tiger geocoder Version: 1.5.X
Keywords: Cc:

Description

There are several roads in Minnesota that were replaced by a newer road or highway. The older road is still there, but the name was changed to "Old Yada Yada Road".

The geocoder is not finding these "Old" roads. But it finds them if you take out the word "Old" from the street name. Some examples:

—8040 OLD CEDAR AVE S, BLOOMINGTON, MN 55425 —17405 Old Rockford Rd, Plymouth, MN 55446 —198 OLD CONSTANCE BLVD, ANDOVER, MN 55304

—fails with "Old"

select abs(ST_X(geomout)::numeric(8,5))
'W, ' ST_Y(geomout)::numeric(8,5) 'N' as lat_lon, *

from geocode('8040 OLD CEDAR AVE S, BLOOMINGTON, MN 55425')

—works without "Old"

select abs(ST_X(geomout)::numeric(8,5))
'W, ' ST_Y(geomout)::numeric(8,5) 'N' as lat_lon, *

from geocode('8040 CEDAR AVE S, BLOOMINGTON, MN 55425')

—fails with "Old"

select abs(ST_X(geomout)::numeric(8,5))
'W, ' ST_Y(geomout)::numeric(8,5) 'N' as lat_lon, *

from geocode('17405 Old Rockford Rd, Plymouth, MN 55446')

—works without "Old"

select abs(ST_X(geomout)::numeric(8,5))
'W, ' ST_Y(geomout)::numeric(8,5) 'N' as lat_lon, *

from geocode('17405 Rockford Rd, Plymouth, MN 55446')

—fails with "Old"

select abs(ST_X(geomout)::numeric(8,5))
'W, ' ST_Y(geomout)::numeric(8,5) 'N' as lat_lon, *

from geocode('198 OLD CONSTANCE BLVD, ANDOVER, MN 55304')

—works without "Old"

select abs(ST_X(geomout)::numeric(8,5))
'W, ' ST_Y(geomout)::numeric(8,5) 'N' as lat_lon, *

from geocode('198 CONSTANCE BLVD, ANDOVER, MN 55304')

Change History (2)

comment:1 by robe, 13 years ago

So the cheapest thing to do — would seem to search both fullname and name fields of featnames, which may slow things down.

This one is going to require adding another index. Right now we are not searching by fullname at all, and the OLD does show in full name for these but for name is just Constance and Old is put in prequalabr. So this is a similar issue to: #1118

comment:2 by robe, 13 years ago

Resolution: fixed
Status: newclosed

fixed at r7634

SELECT '#1113e' As ticket, pprint_addy((g).addy) As address, target, ST_AsText(ST_SnapToGrid((g).geomout, 0.00001)) As pt, (g).rating FROM (SELECT geocode(target,2) As g, target 
FROM (SELECT '198 OLD CONSTANCE BLVD, ANDOVER, MN 55304'::text As target) As f) As foo;

yields:

#1113e|198 Old Constance Blvd NW, Andover, MN 55304|198 OLD CONSTANCE BLVD, ANDOVER, MN 55304|POINT(-93.27027 45.26203)|4

And

SELECT '#1113f' As ticket, pprint_addy((g).addy) As address, target, ST_AsText(ST_SnapToGrid((g).geomout, 0.00001)) As pt, (g).rating FROM (SELECT geocode(target,2) As g, target 
FROM (SELECT '198 CONSTANCE BLVD, ANDOVER, MN 55304'::text As target) As f) As foo;

Yields:

#1113f|198 Constance Blvd NW, Andover, MN 55304|198 CONSTANCE BLVD, ANDOVER, MN 55304|POINT(-93.26839 45.26229)|4
#1113f|198 Constance Blvd NE, Ham Lake, MN 55304|198 CONSTANCE BLVD, ANDOVER, MN 55304|POINT(-93.26114 45.2657)|11

I'm still playing around with trigram, fulltext, and btree varops for more fuzzy stuff. Sadly these haven't proved to be as fast or as efficient as I had hoped, but haven't given up hope on them yet.

Note: See TracTickets for help on using tickets.