Version 3.217 available.
Grzegorz Myrda
mapadm at polsl.gliwice.pl
Fri Jun 11 01:48:18 PDT 1999
Date sent: Thu, 10 Jun 1999 15:57:32 -0500
From: "Stephen Lime" <steve.lime at dnr.state.mn.us>
To: <bfraser at digitalscience.com>
Copies to: <mapserver-users at lists.gis.umn.edu>
Subject: Re: Version 3.217 available.
> >>> "Brent Fraser" <bfraser at digitalscience.com> 06/10 3:18 PM >>>
> >>>"Stephen Lime" <steve.lime at dnr.state.mn.us>
Hi,
There is quite easy way to add rotated label for every individual
LINE shape.
I used your "Find Middle" procedure Steve, you are calculating the
angle there :), added two lines and "Find Angle" is ready.
------------------------------
/*
** point we want lies between point i and i-1
*/
if (p[i].y==p[i-1].y)
return(0);
theta = asin(ms_abs(p[i].x - p[i-1].x)/sqrt((pow((p[i].x - p[i-1].x),2)
+ pow((p[i].y - p[i-1].y),2))));
if ( ((p[i].y < p[i-1].y) && (p[i].x < p[i-1].x)) || ((p[i].y > p[i-1].y) &&
(p[i].x > p[i-1].x)) )
theta = theta + 2*PI;
return(ms_abs(theta - PI/2));
------------------------------
As a point of placement may be used CR label position (eventually
with "advance_x" in gdttf set to negative value of half string length).
Grzegorz
More information about the MapServer-users
mailing list