[email protected] schrieb:
It sounds like you could use the linear referencing capability, along the lines 
of (untested, just off the top of my head)...

select makeline(st_line_interpolate_point(geom,1-((st_length(geom)-100)/st_length(geom))),endpoint(geom))


ie, make you new line the percentage along the original line required by your 
offset for the start point, and the endpoint remains the same.


HTH,

  Brent Wood


--- On Thu, 9/10/09, Daniel Grum <[email protected]> wrote:

From: Daniel Grum <[email protected]>
Subject: Re: [postgis-users] Make a shorter line from a given line
To: [email protected]
Cc: "PostGIS Users Discussion" <[email protected]>
Date: Thursday, September 10, 2009, 5:50 AM
[email protected]
schrieb:
look at st_scale
http://www.postgis.org/documentation/manual-1.4.1SVN/ST_Scale.html
  or maybe st_transscale
http://www.postgis.org/documentation/manual-1.4.1SVN/ST_TransScale.html
/Nicklas
2009-09-08 Daniel Grum wrote:

Hy,
I want to make a new line from a given line
-->both geometry types are
MULTININESTRING

Every step the new line should be "x meters"
shorter than the original.
I get the length of the line, f.e. 5000 meters
(length(the_geom)) and
after the step the new Line should be only 4000
meters.
I have a idea but it isn't ready:

UPDATE table
SET the_geom = (SELECT
MakeLine(StartPoint(line.the_geom),
EndPoint(line_merge(line.the_geom)))
FROM public.table line
ORDER BY line.gid);

But in if I do so I have no chance to say that the
new line has to be
100meters shorter than the original line.

Are there any ideas how I can solve this problem?

Thanks,
--Daniel
_______________________________________________
postgis-users mailing list
[email protected]
http://postgis.refractions.net/mailman/listinfo/postgis-users


That is not what I'm searching for.

Becaus the line lies somewhere in the 2D space and the end
point of the line anytime will be the same in my case...only
the starting point should be changed.
And it should be changed automaticly, step by step, and the
new starting point hvave to be on the old
line/route-->like a route in a map and every time step
the route will be shorter, because the unit has solved x
meters.

Do you know what I mean?

Scale and TransScale isn't the right finction I think.
--daniel
_______________________________________________
postgis-users mailing list
[email protected]
http://postgis.refractions.net/mailman/listinfo/postgis-users


I changed the sql a bit:

UPDATE table
SET the_geom = (SELECT MakeLine(st_line_interpolate_point(line.the_geom,
(1-((Length(line.the_geom)-100)/Length(line.the_geom)))), EndPoint(line.the_geom))
                           FROM public.table line);

But now the pgAdminIII says that the 1st argument of st_line_interpolate() --> the_geom inst a line ...but the_geom is a line and with length() I can can get the length of it...this is strange a bit.

--daniel
_______________________________________________
postgis-users mailing list
[email protected]
http://postgis.refractions.net/mailman/listinfo/postgis-users

Reply via email to