]> granicus.if.org Git - postgis/commitdiff
Fix for #1112 service roads
authorRegina Obe <lr@pcorp.us>
Tue, 12 Jul 2011 19:45:53 +0000 (19:45 +0000)
committerRegina Obe <lr@pcorp.us>
Tue, 12 Jul 2011 19:45:53 +0000 (19:45 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@7632 b70326c6-7e19-0410-871a-916f4a2858ee

extras/tiger_geocoder/tiger_2010/normalize/normalize_address.sql
extras/tiger_geocoder/tiger_2010/regress/geocode_regress
extras/tiger_geocoder/tiger_2010/regress/geocode_regress.sql
extras/tiger_geocoder/tiger_2010/regress/normalize_address_regress.sql
extras/tiger_geocoder/tiger_2010/tables/lookup_tables_2010.sql
extras/tiger_geocoder/tiger_2010/upgrade_geocode.sql

index f72b56361b973f420e55cbdfa0f56b9ddd5bc248..bd7d4ee06c1c6ae846e5ebe07e36315cc5e4ebb4 100644 (file)
@@ -557,6 +557,7 @@ BEGIN
 
       -- If a post direction is given, then the location is everything after,
       -- the street name is everything before, less any pre direction.
+      fullStreet := trim(fullStreet);
       tempInt := count(*) FROM direction_lookup
           WHERE fullStreet ILIKE '%' || name || '%' AND texticregexeq(fullStreet, '(?i)' || ws || name || '(?:'
               || ws || '|$)');
index 23e58e811d451aa664386f5389a4a64ddee0387f..528c5cf2f6541fab07bcd536e1ce725aa8331488 100644 (file)
@@ -100,3 +100,8 @@ T16|Federal Ln, Dedham, MA 02026|POINT(-71.18356 42.23829)|39
 #1074b|8525 Cottagewood Ter NE, Blaine, MN 55434|8525 COTTAGEWOOD TERR, Blaine, MN 55434|POINT(-93.24462 45.12481)|4
 #1070a|100 Federal St, Lynn, MA 01905|POINT(-70.96783 42.4659)|8
 #1070b|100 Federal St, Lynn, MA 01905|POINT(-70.96783 42.4659)|8
+#1112a|8401 W 35W Svc Rd NE, Blaine, MN 55449|8401 W 35W Service Dr NE, Blaine, MN 55449|POINT(-93.19084 45.12386)|10
+#1112b|8401 W 35W Svc Rd NE, Blaine, MN 55449|8401 35W, Blaine, MN 55449|POINT(-93.19084 45.12386)|36
+#1112c|8401 W 35W Svc Rd NE, Blaine, MN 55449|8401 35W West, Blaine, MN 55449|POINT(-93.19084 45.12386)|36
+#1112d|8401 W 35W Svc Rd NE, Blaine, MN 55449|8401 West 35W, Blaine, MN 55449|POINT(-93.19084 45.12386)|34
+#1112e|8401 W 35W Svc Rd NE, Blaine, MN 55449|8401 W 35W, Blaine, MN 55449|POINT(-93.19084 45.12386)|34
index 92d83cd3bc1b0bae902e8a3dc420495926a93a82..5578eff4e31f15faf4bc40109fccf86ca9e4fb95 100644 (file)
@@ -60,4 +60,12 @@ SELECT '#1074b' As ticket, pprint_addy((g).addy) As address, target, ST_AsText(S
 -- testing region --
 SELECT '#1070a' As ticket, pprint_addy(addy) As address, ST_AsText(ST_SnapToGrid(geomout,0.00001)) As pt, rating FROM geocode('100 Federal Street, Boston, MA 02109',3, (SELECT ST_Union(the_geom) FROM place WHERE statefp = '25' AND name = 'Lynn')::geometry);
 SELECT '#1070b' As ticket, pprint_addy(addy) As address, ST_AsText(ST_SnapToGrid(geomout,0.00001)) As pt, rating FROM geocode('100 Federal Street, MA',3, (SELECT ST_Union(the_geom) FROM place WHERE statefp = '25' AND name = 'Lynn')::geometry);
+
+
+-- service roads and interstates
+SELECT '#1112a' 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 '8401 W 35W Service Dr NE, Blaine, MN 55449'::text As target) As f) As foo; 
+SELECT '#1112b' 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 '8401 35W, Blaine, MN 55449'::text As target) As f) As foo; 
+SELECT '#1112c' 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 '8401 35W West, Blaine, MN 55449'::text As target) As f) As foo; 
+SELECT '#1112d' 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 '8401 West 35W, Blaine, MN 55449'::text As target) As f) As foo; 
+SELECT '#1112e' 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 '8401 W 35W, Blaine, MN 55449'::text As target) As f) As foo; 
 \timing
index 9f0fa4dde1b16cb41dc4540a3d6d5e19aef1f66a..657f66aca7db67b5f4ce442a1f0eb2b5880a1a39 100644 (file)
@@ -64,6 +64,13 @@ SELECT '#1109b' As ticket, * from normalize_address('4373 LAKE DR, ROBBINSDALE,
 SELECT '#1074a' As ticket, * FROM normalize_address('3420 RHODE ISLAND AVE S, ST. LOUIS PARK, MN 55426');
 
 -- another type that is part of street name --
-SELECT '#1074b' As ticket, * FROM normalize_address('26 Court Street, Boston,MA 02109')
+SELECT '#1074b' As ticket, * FROM normalize_address('26 Court Street, Boston,MA 02109');
+
+-- service roads and interstates
+SELECT '#1112a' As ticket, * FROM normalize_address('8401 W 35W Service Dr NE, Blaine, MN 55449');
+SELECT '#1112b' As ticket, * FROM normalize_address('8401 35W, Blaine, MN 55449');
+SELECT '#1112c' As ticket, * FROM normalize_address('8401 35W West, Blaine, MN 55449');
+SELECT '#1112d' As ticket, * FROM normalize_address('8401 West 35W, Blaine, MN 55449');
+SELECT '#1112e' As ticket, * FROM normalize_address('8401 W 35W, Blaine, MN 55449');
 
 \timing
index 8e12f49f861aa1c2c8950cf23e6e1b38d493b60e..20631250066f09ef684cce50b1d8521928c85dab 100644 (file)
@@ -540,6 +540,14 @@ INSERT INTO street_type_lookup (name, abbrev) VALUES ('ROADS', 'Rds');
 INSERT INTO street_type_lookup (name, abbrev) VALUES ('ROW', 'Row');
 INSERT INTO street_type_lookup (name, abbrev) VALUES ('RUE', 'Rue');
 INSERT INTO street_type_lookup (name, abbrev) VALUES ('RUN', 'Run');
+-- Start newly added 2011-7-12 --
+INSERT INTO street_type_lookup (name, abbrev)
+ VALUES 
+ ('SERVICE DRIVE', 'Svc Dr'),
+ ('SERVICE DR', 'Svc Dr'),
+ ('SERVICE ROAD', 'Svc Rd'),
+ ('SERVICE RD', 'Svc Rd') ;
+-- end newly added 2011-07-12 --
 INSERT INTO street_type_lookup (name, abbrev) VALUES ('SHL', 'Shl');
 INSERT INTO street_type_lookup (name, abbrev) VALUES ('SHOAL', 'Shl');
 INSERT INTO street_type_lookup (name, abbrev) VALUES ('SHLS', 'Shls');
index eb8d3ba0435d5c0686eefc0dd1546c49ff87814e..88a3a7b097dc51673ba8d9dea76b09c55294741c 100644 (file)
@@ -140,6 +140,21 @@ SELECT name, abbrev, true
            WHERE t.name NOT IN(SELECT name FROM street_type_lookup);
 DROP TABLE temp_types;           
 DELETE FROM street_type_lookup WHERE name = 'FOREST';
+
+CREATE TEMPORARY TABLE temp_types AS
+SELECT name, abbrev
+    FROM (VALUES 
+ ('SERVICE DRIVE', 'Svc Dr'),
+ ('SERVICE DR', 'Svc Dr'),
+ ('SERVICE ROAD', 'Svc Rd'),
+ ('SERVICE RD', 'Svc Rd') 
+    ) t(name, abbrev);
+DELETE FROM street_type_lookup WHERE name IN(SELECT name FROM temp_types);         
+INSERT INTO street_type_lookup (name, abbrev, is_hw) 
+SELECT name, abbrev, false
+    FROM temp_types As t
+           WHERE t.name NOT IN(SELECT name FROM street_type_lookup);
 -- System/General helper functions
 \i utility/utmzone.sql
 \i utility/cull_null.sql