Skip to content

Commit

Permalink
Add a section for finding the optimal route, #4.
Browse files Browse the repository at this point in the history
  • Loading branch information
philderbeast committed Jan 29, 2018
1 parent ab27965 commit 573535b
Showing 1 changed file with 140 additions and 0 deletions.
140 changes: 140 additions & 0 deletions apx-flare-timing.tex
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,146 @@ \subsection{Extracting Inputs}
</Fs>
\end{lstlisting}

\newpage
\subsection{Finding an Optimal Route}

To find the best route \texttt{flare-timing} constructs a graph and finds the
shortest path connecting the nodes. It puts nodes on the turnpoint cylinder arc
boundaries and uses the haversine distance as the cost of connecting nodes in
the network. It would be expensive to construct and evaluate a large network
with the accuracy required so in an iterative process, as the arc of the circle
is closed, the density of nodes is increased. All happening on the FAI sphere,
this is the edge to edge distance.

\begin{lstlisting}[caption={Edge to edge distance of the optimal route, \texttt{edgeToEdge} node of \texttt{*.task-length.yaml}.}]
taskRoutes:
edgeToEdge:
distance: 159.373683
legs:
- 10.078208
- 42.525217
- 0
- 64.949832
- 41.820427
legsSum:
- 10.078208
- 52.603424
- 52.603424
- 117.553256
- 159.373683
waypoints:
- lat: -33.36047067
lng: 147.93206999
- lat: -33.43411056
lng: 147.86878018
- lat: -33.7159199
lng: 147.55846831
- lat: -33.7159199
lng: 147.55846831
- lat: -33.13199024
lng: 147.57575486
- lat: -33.35857718
lng: 147.93468357
\end{lstlisting}

The naive way to measure task length would just be to connect the centers of each control zone. This is the point to point distance.

\begin{lstlisting}[caption={Which fixes are considered flown, \texttt{flying}
nodes of \texttt{*.task-length.yaml}.}]
taskRoutes:
pointToPoint:
distance: 169.10714
legs:
- 57.427511
- 69.547668
- 42.131961
legsSum:
- 57.427511
- 126.975179
- 169.10714
waypoints:
- lat: -33.36137
lng: 147.93207
- lat: -33.75343
lng: 147.52864998
- lat: -33.12908
lng: 147.57322998
- lat: -33.36099999
lng: 147.93149998
\end{lstlisting}

Knowing that FS uses a plane to work out the shortest route in two dimensions,
on the the Universal Transverse Mercator projection. We can also do that with
our graph algorithm.

\begin{lstlisting}[caption={Points on the plane, distances on the sphere, \texttt{projection/spherical} nodes of
\texttt{*.task-length.yaml}.}]
taskRoutes:
projection:
spherical:
distance: 159.373683
legs:
- 10.078208
- 42.525217
- 0
- 64.949832
- 41.820427
legsSum:
- 10.078208
- 52.603424
- 52.603424
- 117.553256
- 159.373683
waypoints:
- lat: -33.36047067
lng: 147.93206999
- lat: -33.43411056
lng: 147.86878018
- lat: -33.7159199
lng: 147.55846831
- lat: -33.7159199
lng: 147.55846831
- lat: -33.13199024
lng: 147.57575486
- lat: -33.35857718
lng: 147.93468357
\end{lstlisting}
\begin{lstlisting}[caption={Points and distances on the plane, \texttt{projection/planar} nodes of
\texttt{*.task-length.yaml}.}]
taskRoutes:
projection:
planar:
distance: 159.144781
legs:
- 10.065441
- 42.4942
- 0
- 64.761082
- 41.820427
legsSum:
- 10.065441
- 52.559642
- 52.559642
- 117.320723
- 159.14115
mappedPoints:
- easting: 586715.834
northing: 6308362.198
- easting: 580759.282
northing: 6300248.47
- easting: 551744.701
northing: 6269201.551
- easting: 551744.701
northing: 6269201.551
- easting: 553704.761
northing: 6333932.964
- easting: 586960.882
northing: 6308569.955
mappedZones:
- latZone: H
lngZone: 55
\end{lstlisting}

\newpage
\subsection{Finding Zone Crossings}

Expand Down

0 comments on commit 573535b

Please sign in to comment.