[postgis-users] Postgis - Line to Point distance

nicklas.aven at jordogskog.no nicklas.aven at jordogskog.no
Fri Jul 10 02:58:32 PDT 2009


I think you are discussing totally different things. As I understand it Peter has never asked for any interpolated points, just the diastance between opints in a point table and linestrings in a linetable.  The problem is, as you have found Peter that nothing but points is handled by the ST_Distance_Sphere and ST_Distance_Spheroid, but as I have understood it there is work going on by Paul Ramsey to implement support for more than points. Working with metric srids will not be a good idea if you are working over big areas. I think that summarizes your problem, but I don't know how to solve it.sorryhopefully someone has a  good solution./Nicklas   2009-07-10 Pavel Iacovlev wrote:

The length of the line, you can't calculate a distance between a point
>and a line in general. You can calculate a distance between a point
>and a point on a line.
>
>ST_distance_spheroid(point, ST_line_interpolate_point(line,
>ST_line_locate_point(line, point)),
>'SPHEROID["GRS_1980",6378137,298.257222101]')
>
>ST_line_locate_point(line, point) - a point on the line that is most
>close to your initial point
>
>ST_line_interpolate_point - get that point as a point geometry
>
>ST_distance_spheroid - calculate the length between 2 points
>
>2009/7/10 Peter Kukuča:
>> How is your query calculating the distance between a point and a line? Are
>> you not just calculating the length of the line?
>>
>> 2009/7/10 Pavel Iacovlev
>>>
>>> Works on lines for me:
>>>
>>> QUERY:
>>> select ST_length_spheroid(st_transform(the_geom, 4326),
>>> 'SPHEROID["GRS_1980",6378137,298.257222101]') as ellps_distance,
>>> st_distance(the_geom) as normal_distance from fondcart_layers.roads
>>> limit 1
>>>
>>> RESULT:
>>> ellps_distance: 9214.65310341668
>>> normal_distance: 9214.10811677981
>>>
>>> 2009/7/10 Peter Kukuča:
>>> > ST_Length_spheroid is perfectly great, but it does not take a line as an
>>> > input :-(
>>> >
>>> > 2009/7/10 Pavel Iacovlev
>>> >>
>>> >> And for geometry length use ST_length_spheroid(geometry,spheroid)
>>> >>
>>> >> On Fri, Jul 10, 2009 at 11:48 AM, Pavel
>>> >> Iacovlev wrote:
>>> >> > you can take the middle of the line,
>>> >> > st_line_interpolate_point(the_geom,
>>> >> > 0.5)
>>> >> >
>>> >> > 2009/7/10 Peter Kukuča:
>>> >> >> 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
>>> >> >>>
>>> >> >>> -----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
>>> >> >>> > postgis-users at postgis.refractions.net
>>> >> >>> > 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
>>> >> >>> postgis-users at postgis.refractions.net
>>> >> >>> http://postgis.refractions.net/mailman/listinfo/postgis-users
>>> >> >>
>>> >> >>
>>> >> >>
>>> >> >> --
>>> >> >> S pozdravom (regards)
>>> >> >> Ing. Peter Kukuča
>>> >> >>
>>> >> >> _______________________________________________
>>> >> >> postgis-users mailing list
>>> >> >> postgis-users at postgis.refractions.net
>>> >> >> http://postgis.refractions.net/mailman/listinfo/postgis-users
>>> >> >>
>>> >> >>
>>> >> >
>>> >> >
>>> >> >
>>> >> > --
>>> >> > http://iap.md, The future is open
>>> >> >
>>> >>
>>> >>
>>> >>
>>> >> --
>>> >> http://iap.md, The future is open
>>> >> _______________________________________________
>>> >> postgis-users mailing list
>>> >> postgis-users at postgis.refractions.net
>>> >> http://postgis.refractions.net/mailman/listinfo/postgis-users
>>> >
>>> >
>>> >
>>> > --
>>> > S pozdravom (regards)
>>> > Ing. Peter Kukuča
>>> >
>>> > _______________________________________________
>>> > postgis-users mailing list
>>> > postgis-users at postgis.refractions.net
>>> > http://postgis.refractions.net/mailman/listinfo/postgis-users
>>> >
>>> >
>>>
>>>
>>>
>>> --
>>> http://iap.md, The future is open
>>> _______________________________________________
>>> postgis-users mailing list
>>> postgis-users at postgis.refractions.net
>>> http://postgis.refractions.net/mailman/listinfo/postgis-users
>>
>>
>>
>> --
>> S pozdravom (regards)
>> Ing. Peter Kukuča
>>
>> _______________________________________________
>> postgis-users mailing list
>> postgis-users at postgis.refractions.net
>> http://postgis.refractions.net/mailman/listinfo/postgis-users
>>
>>
>
>
>
>-- 
>http://iap.md, The future is open
>_______________________________________________
>postgis-users mailing list
>postgis-users at postgis.refractions.net
>http://postgis.refractions.net/mailman/listinfo/postgis-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20090710/f95bee62/attachment.html>


More information about the postgis-users mailing list