|
A start: SELECT [ID], [Line], [L] AS [Distance], [dH] AS [Rise], ([dH] / [L]) * 100 AS [Slope%], Rad2Deg(Atn([dH] / [L])) AS [Slope°] FROM (SELECT [ID], [Line], Length([Line]) AS [L], [H2] - [H1] AS [dH] FROM (SELECT [ID], Geom([ID]) AS [Line], [Rise], [Slope] FROM [Garmin] WHERE IsLine([ID])) INNER JOIN (SELECT Geom([ID]) AS [Point1], [Height] AS [H1] FROM [Garmin] WHERE IsPoint([ID])) ON Touches(StartPoint([Line]), [Point1]) INNER JOIN (SELECT Geom([ID]) AS [Point2], [Height] AS [H2] FROM [Garmin] WHERE IsPoint([ID])) ON Touches(EndPoint([Line]), [Point2]) );
|