The input of spherical lines using Euler transformation and length is quite circumstantial (see Section 3.5). For short lines it is easier to input a line specifying the beginning and the end of the line.
sline( | begin, | |
end) ; |
spoint begin
;spoint end
;
If the distance between begin
and
end
is 180° (π
), this function
returns an error because the location of the line is undefined.
However, if longitudes of begin
and
end
are equal,
pgSphere assumes a meridian and
returns the corresponding spherical line.
Example 4.4. A line created using begin and end of line
A line starting at spoint '(270d,10d)'
and
ending at spoint '(270d,30d)'
:
sql> SELECT set_sphere_output('DEG') set_sphere_output ------------------- SET DEG (1 row) sql> SELECT sline( spoint '(270d,10d)', spoint '(270d,30d)'); sline ---------------------------- ( 10d, 90d, 270d, ZXZ ), 20d (1 row)
Furthermore, there is a function for inputing a line
using Euler transformation trans
and line length length
sline( | trans, | |
length) ; |
strans trans
;float8 length
;
where the line length length
must be
given in radians.
Example 4.5. A line created with its transformation and length
The same line as in Example 4.4, but using transformation and line length.
sql> SELECT sline ( strans '10d, 90d, 270d, ZXZ', 20.0*pi()/180.0 ); sline ------------------------------ ( 10d, 90d, 270d, ZXZ ), 20d (1 row)