How about ST_line_locate_point(LineString, Point) ? Returns a float between 0 and 1 representing the location of the closest point on LineString to the given Point, as a fraction of total 2d line length. You can use the returned location to extract a Point (line_interpolate_point) or a substring (line_substring).
And then with ST_line_interpolate_point(linestring, location), interpolate that point and calculate the distance 2009/7/10 Peter Kukuča <[email protected]>: > That is no good as well. If the point is a few meters from the line starting > point, then this would result in a distance equal to 1/2 of the line length > instead of a few meters > > 2009/7/10 Pavel Iacovlev <[email protected]> >> >> you can take the middle of the line, st_line_interpolate_point(the_geom, >> 0.5) >> >> 2009/7/10 Peter Kukuča <[email protected]>: >> > Hi Pedro, >> > >> > thank you for your reply. >> > >> > I cannot use pointn, the line can be up to several hundred kilometers >> > long >> > and consits of up to 800 points, so this would be too rough. >> > >> > Regardinf the decond suggestion, that is exactly what I am doing now, >> > but I >> > don't know, which projection (srid) to transform the wgs84 data into. It >> > should work on all of the earth's surface, at least in all of europe for >> > a >> > start. And from what I found, the projections are usually tied to a >> > small >> > territory. I was thinking about mercator projection, but there is a >> > zillion >> > of them in postgis. And I found a post, that the one with srid 900913 is >> > working great, but I don't have that one in my postgis. >> > >> > 2009/7/10 Pedro Doria Meunier <[email protected]> >> >> >> >> -----BEGIN PGP SIGNED MESSAGE----- >> >> Hash: SHA1 >> >> >> >> Hi Peter >> >> >> >> You could use the pointn(geometry, n) for the first point of the >> >> linestring as a first approach. >> >> As far as meters are concerned here's a little example of transforming >> >> the geometry to the desired projected system: >> >> >> >> select distance(transform(u.coordinates,srid), >> >> transform(p.geometry,srid)) AS thedistance >> >> >> >> HTH, >> >> >> >> Pedro Doria Meunier >> >> GSM: +351 96 17 20 188 >> >> Skype: pdoriam >> >> >> >> >> >> >> >> >> >> Peter Kukuča wrote: >> >> > Dear sir, >> >> > >> >> > I am not sure if I am writing to the correct email address. I have >> >> > found a post on the postgis-users formu from *Rich Gibson *and this >> >> > address was next to it. >> >> > >> >> > I am using postgis for a while now and it is great. It solved a lot >> >> > of problems for me. >> >> > >> >> > However, I am now facing a problem I cannot solve. I searched for >> >> > almost two days now, but I still cannot find an answer. Here is my >> >> > problem: >> >> > >> >> > I have a database of linestrings in wgs84 projection and points in >> >> > wgs84 projection. I would like to determine the distance between a >> >> > line and a point. The ST_distance function does this very well, but >> >> > it does not take the wgs84 projection into account and also, the >> >> > result is in degrees. On the other hand, the ST_Distance_Spheroid >> >> > does take the wgs84 into accound and does give the result in meters, >> >> > but it does not accept a linestring as an input parameter. >> >> > >> >> > Is there any way i can the distance between a line and a point in >> >> > meters from the wgs84 projected input? I do not need grat accuracy. >> >> > +-5 meters is still good enough. Thank you for your tips. >> >> > >> >> > -- >> >> > S pozdravom (regards) >> >> > Ing. Peter Kukuča >> >> > >> >> > >> >> > ---------------------------------------------------------------------- >> >> > >> >> > _______________________________________________ >> >> > postgis-users mailing list >> >> > [email protected] >> >> > http://postgis.refractions.net/mailman/listinfo/postgis-users >> >> -----BEGIN PGP SIGNATURE----- >> >> Version: GnuPG v1.4.7 (GNU/Linux) >> >> Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org >> >> >> >> iD8DBQFKVv052FH5GXCfxAsRAqS1AJ0dfphFX3wrMuo+FdXVRTgmUzHRUACfUmvH >> >> 146yGHfxoVmlnt9a91rpWmE= >> >> =G70f >> >> -----END PGP SIGNATURE----- >> >> >> >> _______________________________________________ >> >> postgis-users mailing list >> >> [email protected] >> >> http://postgis.refractions.net/mailman/listinfo/postgis-users >> > >> > >> > >> > -- >> > S pozdravom (regards) >> > Ing. Peter Kukuča >> > >> > _______________________________________________ >> > postgis-users mailing list >> > [email protected] >> > http://postgis.refractions.net/mailman/listinfo/postgis-users >> > >> > >> >> >> >> -- >> http://iap.md, The future is open >> _______________________________________________ >> postgis-users mailing list >> [email protected] >> http://postgis.refractions.net/mailman/listinfo/postgis-users > > > > -- > S pozdravom (regards) > Ing. Peter Kukuča > > _______________________________________________ > postgis-users mailing list > [email protected] > http://postgis.refractions.net/mailman/listinfo/postgis-users > > -- http://iap.md, The future is open _______________________________________________ postgis-users mailing list [email protected] http://postgis.refractions.net/mailman/listinfo/postgis-users
