mirror of
https://git.osgeo.org/gitea/postgis/postgis
synced 2024-10-25 09:32:46 +00:00
Fix for #1112 service roads
git-svn-id: http://svn.osgeo.org/postgis/trunk@7632 b70326c6-7e19-0410-871a-916f4a2858ee
This commit is contained in:
parent
cf59760940
commit
6c9cd330e2
|
@ -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 || '|$)');
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue