Rene, I'll have to double check the docs. I tried on my 1.5.3 and 2.0 and it appears the function doesn't work on multilinestrings so have to check where that information came from to make sure its not a regression failure. You can use ST_LineMerge or ST_GeometryN(geom,1) to make your multilinestring a single linestring. Then it will work. Also you may want to take a look at the tiger helper function -- http://trac.osgeo.org/postgis/browser/trunk/extras/tiger_geocoder/tiger_2010 /geocode/interpolate_from_address.sql I think it does exactly what you are trying to do and also offsets to the correct side of street. It's tiger specific though The the tiger extra packaged with postgis 2.0 and documented with PostGIS 2.0: http://www.postgis.org/documentation/manual-svn/Extras.html#Tiger_Geocoder but most people using it in production are using it with PostGIS 1.5 and works fine with that. Hope that helps, Regina http://www.postgis.us
_____ From: [email protected] [mailto:[email protected]] On Behalf Of René Fournier Sent: Thursday, October 13, 2011 8:27 PM To: PostGIS Users Discussion Subject: Re: [postgis-users] Finding the closest house number on a street Based on a suggestion from another list, I tried using ST_line_locate_point, but get this error: gc3=# SELECT gc3-# ST_AsText(the_geom) as street, strunamefr, l_adddirfg, l_hnumf, l_hnuml, l_stname_c, l_placenam, r_adddirfg, r_hnumf, r_hnuml, r_stname_c, r_placenam, gc3-# ST_Distance(ST_GeomFromText('POINT(-79.639711 43.8098590)',4326),the_geom) AS distance, gc3-# ST_line_locate_point(the_geom, ST_GeomFromText('POINT(-79.639711 43.8098590)')) As street_num gc3-# FROM province_on gc3-# WHERE the_geom && SetSRID('BOX3D(-79.64991853 43.80470025,-79.63089798 43.81621783)'::box3d,4326) ORDER BY distance ASC LIMIT 1; ERROR: line_locate_point: 1st arg isnt a line gc3=# So I'm using PostGIS 1.5.3, and the docs (http://postgis.refractions.net/docs/ST_Line_Locate_Point.html) say that multilinestrings are supported, so . ??? On 2011-10-13, at 6:19 PM, René Fournier wrote: In PostGIS parlance, given a lat/lng point... where -- in terms of percentage or decimal -- does it lie along on a row's multilinestring? The thing is, the multilinestring is just a single line string. But I suppose there are cases where there are more than one segment to the street In any case, I have a range of house numbers, and I need to determine which side of the multilinestring the latlng lies, and then how far along I know I'm not the first person to ask this, but I haven't been able to find a suitable answer. For what it's worth, I'm using the 2010 Tigerline data imported via shp2pgsql. Any ideas? Thanks! Rene _______________________________________________ postgis-users mailing list [email protected] http://postgis.refractions.net/mailman/listinfo/postgis-users
_______________________________________________ postgis-users mailing list [email protected] http://postgis.refractions.net/mailman/listinfo/postgis-users
