1
0
Fork 0

FG1000 - Intersection Information page

This commit is contained in:
Stuart Buchanan 2018-04-15 19:44:10 +01:00
parent 63ee35becd
commit 4bf3487bd4
9 changed files with 596 additions and 20 deletions

View file

@ -0,0 +1,426 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="1024px"
height="768px"
viewBox="0 0 1024 768"
version="1.1"
id="SVGRoot"
inkscape:version="0.91 r13725"
sodipodi:docname="IntersectionInfo.svg">
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#ffffff"
borderopacity="0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="10.485676"
inkscape:cx="777.01311"
inkscape:cy="627.08307"
inkscape:document-units="px"
inkscape:current-layer="IntersectionInfoGroup"
showgrid="true"
inkscape:window-width="2495"
inkscape:window-height="1416"
inkscape:window-x="65"
inkscape:window-y="24"
inkscape:window-maximized="1"
inkscape:snap-global="true"
inkscape:snap-grids="true"
inkscape:snap-bbox="true"
inkscape:snap-others="true"
inkscape:snap-to-guides="true"
inkscape:bbox-paths="false"
inkscape:snap-nodes="true"
inkscape:snap-page="true"
inkscape:bbox-nodes="true"
showguides="false">
<inkscape:grid
type="xygrid"
id="grid4269" />
</sodipodi:namedview>
<defs
id="defs7962" />
<metadata
id="metadata7965">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="IntersectionInfoLayer">
<g
inkscape:label="#g4237"
id="IntersectionInfoGroup">
<rect
inkscape:label="#rect8921"
y="53"
x="700"
height="690.00201"
width="325.50195"
id="Background"
style="opacity:1;fill:#1a3030;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.99601555;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<g
style="display:inline"
id="IntersectionInfoNavMap"
inkscape:label="#g4298"
transform="matrix(1.0107527,0,0,0.99855072,-451.07514,-2.915942)">
<rect
inkscape:label="#rect4293"
y="55.997097"
x="564.99988"
height="691.00146"
width="573.82977"
id="IntersectionInfoNavMap-bg"
style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
ry="0" />
</g>
<rect
y="78.177788"
x="705.6778"
height="49.822212"
width="313.64447"
id="rect9743"
style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.3555429;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<g
transform="translate(-326.99999,0.3999505)"
style="display:inline"
id="IntersectionInfoLegend"
inkscape:label="#g4959">
<rect
style="display:inline;opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.00795722;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect8420"
width="66.992043"
height="24.992043"
x="959.50397"
y="718.104" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:12.03934765px;line-height:0%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow, Condensed';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;display:inline;fill:#31ffff;fill-opacity:1;stroke:none"
x="1059.5933"
y="689.10815"
id="IntersectionInfoRangeDisplay"
transform="scale(0.93580798,1.0685953)"
inkscape:label="RangeDisplay"
sodipodi:linespacing="0%"><tspan
sodipodi:role="line"
id="tspan5131-3-5"
x="1059.5933"
y="689.10815"
style="font-size:17.55738258px;line-height:1.25;fill:#31ffff;fill-opacity:1">Zoom nm</tspan></text>
<rect
y="52.556103"
x="952.10205"
height="20.035156"
width="74.343285"
id="rect4216"
style="display:inline;opacity:1;fill:#1a3030;fill-opacity:1;fill-rule:nonzero;stroke:#fffcfa;stroke-width:0.96484423;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
ry="0" />
<text
inkscape:label="#text4218"
sodipodi:linespacing="125%"
id="IntersectionInfoOrientationDisplay"
y="67.573685"
x="956.10889"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#ffffff;fill-opacity:1;stroke:#fffcfa;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"><tspan
y="67.573685"
x="956.10889"
id="tspan4220"
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed'">NORTH UP</tspan></text>
</g>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.35444069px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="743.23895"
y="249.65851"
id="text4355"
sodipodi:linespacing="125%"
transform="scale(0.96767669,1.033403)"><tspan
sodipodi:role="line"
id="tspan4357"
x="743.23895"
y="249.65851" /></text>
<text
transform="scale(0.96688562,1.0342485)"
sodipodi:linespacing="125%"
id="IntersectionInfoWaypointWeather"
y="599.86566"
x="619.31"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.36795044px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"
inkscape:label="#text4232"><tspan
y="599.86566"
x="619.31"
id="tspan11874"
sodipodi:role="line" /></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="711.60352"
y="111.96486"
id="IntersectionInfoID"
sodipodi:linespacing="125%"
inkscape:label="#text4166"><tspan
sodipodi:role="line"
id="tspan4168"
x="711.60352"
y="111.96486">KSFOF</tspan></text>
<rect
y="68.950432"
x="720.45044"
height="19.099171"
width="99.099144"
id="rect9753"
style="opacity:1;fill:#1a3030;fill-opacity:1;fill-rule:nonzero;stroke:#fffcfa;stroke-width:0.90082932;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<text
sodipodi:linespacing="125%"
id="text9749"
y="83.663589"
x="724.12842"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#fffcfa;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"><tspan
y="83.663589"
x="724.12842"
id="tspan9751"
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed'">INTERSECTION</tspan></text>
<text
inkscape:label="#text4166"
sodipodi:linespacing="125%"
id="IntersectionInfoID0"
y="111.84229"
x="711.60352"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"><tspan
y="111.84229"
x="711.60352"
id="tspan4227"
sodipodi:role="line">K</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="722.61133"
y="111.92482"
id="IntersectionInfoID1"
sodipodi:linespacing="125%"
inkscape:label="#text4166"><tspan
sodipodi:role="line"
id="tspan4232"
x="722.61133"
y="111.92482">S</tspan></text>
<text
inkscape:label="#text4166"
sodipodi:linespacing="125%"
id="IntersectionInfoID2"
y="112.08986"
x="733.61914"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"><tspan
y="112.08986"
x="733.61914"
id="tspan4236"
sodipodi:role="line">F</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="744.62695"
y="111.75977"
id="IntersectionInfoID3"
sodipodi:linespacing="125%"
inkscape:label="#text4166"><tspan
sodipodi:role="line"
id="tspan9313"
x="744.62695"
y="111.75977">F</tspan></text>
<text
inkscape:label="#text4166"
sodipodi:linespacing="125%"
id="IntersectionInfoID4"
y="112.00734"
x="755.63477"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"><tspan
y="112.00734"
x="755.63477"
id="tspan9317"
sodipodi:role="line">F</tspan></text>
<rect
y="149.41904"
x="705.5"
height="108.58096"
width="314"
id="rect4331"
style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="138.5"
x="720.5"
height="19"
width="89.028687"
id="rect4333"
style="opacity:1;fill:#1a3030;fill-opacity:1;fill-rule:nonzero;stroke:#fffcfa;stroke-width:1;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<text
sodipodi:linespacing="125%"
id="text4335"
y="148.21306"
x="749.2533"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:14.51583004px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#fffcfa;stroke-width:0.967722px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"
transform="scale(0.96767669,1.033403)"><tspan
y="148.21306"
x="749.2533"
id="tspan4337"
sodipodi:role="line"
style="stroke-width:0.967722px">INFORMATION</tspan></text>
<text
sodipodi:linespacing="125%"
id="IntersectionInfoLat"
y="204.73228"
x="735.46173"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"
inkscape:label="#text4232"
transform="scale(0.96767669,1.033403)"><tspan
y="204.73228"
x="735.46173"
id="tspan4361"
sodipodi:role="line">N 56 45.29</tspan></text>
<rect
style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.9987511;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect5267"
width="314.00122"
height="115"
x="705.49939"
y="283" />
<rect
style="opacity:1;fill:#1a3030;fill-opacity:1;fill-rule:nonzero;stroke:#fffcfa;stroke-width:0.99999994;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect5269"
width="93.073303"
height="19"
x="720.5"
y="273.5" />
<text
transform="scale(0.96767669,1.033403)"
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:14.51583004px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#fffcfa;stroke-width:0.967722px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="749.87598"
y="278.8494"
id="text5271"
sodipodi:linespacing="125%"><tspan
style="stroke-width:0.967722px"
sodipodi:role="line"
id="tspan5273"
x="749.87598"
y="278.8494">NEAREST VOR</tspan></text>
<text
transform="scale(0.96767669,1.033403)"
inkscape:label="#text4232"
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="741.38989"
y="306.72012"
id="IntersectionInfoVORID"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
x="741.38989"
y="306.72012"
id="tspan5287">VOR</tspan></text>
<text
transform="scale(0.96767669,1.033403)"
inkscape:label="#text4232"
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="735.46173"
y="227.37038"
id="IntersectionInfoLon"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan5285"
x="735.46173"
y="227.37038">E 56 45.78</tspan></text>
<text
sodipodi:linespacing="125%"
id="IntersectionInfoVORCRS"
y="337.98062"
x="790.56982"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"
inkscape:label="#text4232"
transform="scale(0.96767669,1.033403)"><tspan
id="tspan5301"
y="337.98062"
x="790.56982"
sodipodi:role="line">123</tspan></text>
<text
transform="scale(0.96767669,1.033403)"
inkscape:label="#text4232"
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="790.98566"
y="369.61911"
id="IntersectionInfoVORDST"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
x="790.98566"
y="369.61911"
id="tspan5305">23nm</tspan></text>
<text
transform="scale(0.96767669,1.033403)"
inkscape:label="#text4232"
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="735.46173"
y="176.89583"
id="IntersectionInfoRegion"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan9110"
x="735.46173"
y="176.89583">N CEN USA</tspan></text>
<text
transform="scale(0.96767669,1.033403)"
inkscape:label="#text4232"
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="740.15192"
y="338.16962"
id="text9112"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
x="740.15192"
y="338.16962"
id="tspan9114">RAD</tspan></text>
<text
sodipodi:linespacing="125%"
id="text9116"
y="369.61911"
x="740.15192"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"
inkscape:label="#text4232"
transform="scale(0.96767669,1.033403)"><tspan
id="tspan9118"
y="369.61911"
x="740.15192"
sodipodi:role="line">DIS</tspan></text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 23 KiB

View file

@ -65,7 +65,7 @@ getNearestAirports : func()
},
# Find the nearest nav aids of a given type within 200nm, to a maximum of 25.
getNavDataWithinRange: func(type)
getNavDataWithinRange: func(params)
{
# To make this more efficient for areas with a high density of fixes, we'll try
# a small radius first and expand until we have reached 200nm or have 25 nav aids.
@ -74,7 +74,12 @@ getNavDataWithinRange: func(type)
while ((radius <= 200) and (size(navdata) < 25)) {
radius = radius + 50;
navdata = findNavaidsWithinRange(radius, type);
if ((params["lat"] == nil) and (params["lon"] == nil)) {
navdata = findNavaidsWithinRange(radius, params.type);
} else {
navdata = findNavaidsWithinRange(params.lat, params.lon, radius, params.type);
}
}
if (size(navdata) > 25) {

View file

@ -130,11 +130,10 @@ setTextElement : func(symbolName, value) {
},
setTextElementLat : func(symbolName, value) {
var degrees_part = int(value);
if (degrees_part == nil) {
if ((value == nil) or (int(value) == nil)) {
me.setTextElement(symbolName, "_ __°__.__'");
} else {
var degrees_part = int(value);
var minutes_part = 100.0 * (value - degrees_part);
if (value < 0.0) {
me.setTextElement(symbolName, sprintf("S %2d°%.2f'", -degrees_part, -minutes_part));
@ -145,11 +144,10 @@ setTextElementLat : func(symbolName, value) {
},
setTextElementLon : func(symbolName, value) {
var degrees_part = int(value);
if (degrees_part == nil) {
if ((value == nil) or (int(value) == nil)) {
me.setTextElement(symbolName, "____°__.__'");
} else {
var degrees_part = int(value);
var minutes_part = 100.0 * (value - degrees_part);
if (value < 0.0) {
me.setTextElement(symbolName, sprintf("W%3d°%.2f'", -degrees_part, -minutes_part));
@ -159,6 +157,21 @@ setTextElementLon : func(symbolName, value) {
}
},
setTextElementBearing : func(symbolName, brg) {
if ((brg == nil) or (brg == "")) {
me.setTextElement(symbolName, "___°");
} else {
me.setTextElement(symbolName, sprintf("%i°", brg));
}
},
setTextElementDistance : func(symbolName, dst) {
if ((dst == nil) or (dst == "")) {
me.setTextElement(symbolName, "___nm");
} else {
me.setTextElement(symbolName, sprintf("%.1fnm", dst));
}
},
# Function to undo any colors set by display_toggle when loading a new menu
resetMenuColors : func() {

View file

@ -26,12 +26,78 @@ var IntersectionInfo =
],
};
obj.crsrIdx = 0;
# Dynamic text elements in the SVG file. In the SVG these have an "IntersectionInfo" prefix.
textelements = [
"ID",
"Region",
"Lat",
"Lon",
"VORID",
"VORCRS",
"VORDST"
];
obj.addTextElements(textelements);
# Data Entry information. Keyed from the name of the element, which must
# be one of the textelements above. Each data element maps to a set of
# text elements in the SVG of the form [PageName][TextElement]{0...n}, each
# representing a single character for data entry.
#
# .size is the number of characters of data entry
# .chars is the set of characters, used to scroll through using the small
# FMS knob.
obj.dataEntry = PFD.DataEntryElement.new(obj.pageName, svg, "ID", "", 5, "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");
obj.Map = fg1000.NavMap.new(
obj,
obj.getElement("NavMap"),
#[360, 275],
#[fg1000.MAP_PARTIAL.CENTER.X, fg1000.MAP_PARTIAL.CENTER.Y],
[860,400],
#"rect(345, 233, -345, -233)",
"",
-50,
0,
1);
obj.topMenu(device, obj, nil);
obj.setController(fg1000.IntersectionInfoController.new(obj, svg));
obj.update(nil,nil);
return obj;
},
update : func(navdata, vordata) {
if (navdata != nil) {
me.setTextElementLat("Lat", navdata.lat);
me.setTextElementLon("Lon", navdata.lon);
me.setTextElement("ID", navdata.id);
me.Map.getController().setPosition(navdata.lat, navdata.lon);
me.Map.show();
} else {
me.setTextElementLat("Lat", nil);
me.setTextElementLon("Lon", nil);
me.setTextElement("ID", "#####");
me.Map.hide();
}
if (vordata != nil) {
var crsAndDst = courseAndDistance(navdata, vordata);
me.setTextElement("VORID", vordata.id);
me.setTextElementBearing("VORCRS", vordata.crs);
me.setTextElementDistance("VORDST", vordata.dst);
} else {
me.setTextElement("VORID", "");
me.setTextElement("VORCRS", "");
me.setTextElement("VORDST", "");
}
},
offdisplay : func() {
me._group.setVisible(0);
@ -42,11 +108,16 @@ var IntersectionInfo =
me.device.svg.getElementById(name ~ "-bg").setColorFill(0.0,0.0,0.0);
me.device.svg.getElementById(name).setColor(1.0,1.0,1.0);
}
me.getElement("NavMap").setVisible(0);
me.Map.setVisible(0);
me.getController().offdisplay();
},
ondisplay : func() {
me._group.setVisible(1);
me.mfd.setPageTitle(me.title);
me.getElement("NavMap").setVisible(1);
me.Map.setVisible(1);
me.getController().ondisplay();
},
topMenu : func(device, pg, menuitem) {
@ -54,6 +125,4 @@ var IntersectionInfo =
pg.resetMenuColors();
device.updateMenus();
},
};

View file

@ -29,40 +29,101 @@ var IntersectionInfoController =
return obj;
},
# Input Handling
handleCRSR : func() {
me._crsrToggle = (! me._crsrToggle);
if (me._crsrToggle) {
me._page.dataEntry.highlightElement();
} else {
me._page.hideCRSR();
me._page.dataEntry.unhighlightElement();
}
return emesary.Transmitter.ReceiptStatus_Finished;
},
handleFMSInner : func(value) {
if (me._crsrToggle == 1) {
# Scroll through whatever is the current list
me._page.dataEntry.incrSmall(value);
return emesary.Transmitter.ReceiptStatus_Finished;
} else {
# Pass to the page group controller to display and scroll through the page group menu
return me._page.mfd.SurroundController.handleFMSInner(value);
}
},
handleFMSOuter : func(value) {
if (me._crsrToggle == 1) {
me._page.dataEntry.incrLarge(value);
return emesary.Transmitter.ReceiptStatus_Finished;
} else {
# Pass to the page group controller to display and scroll through the page group menu
return me._page.mfd.SurroundController.handleFMSOuter(value);
}
},
handleEnter : func(value) {
if (me._crsrToggle == 1) {
var id = me._page.dataEntry.enterElement();
me.getIntersection(id);
return emesary.Transmitter.ReceiptStatus_Finished;
} else {
return emesary.Transmitter.ReceiptStatus_NotProcessed;
}
},
handleClear : func(value) {
if (me._crsrToggle == 1) {
me._page.dataEntry.clearElement();
return emesary.Transmitter.ReceiptStatus_Finished;
} else {
return emesary.Transmitter.ReceiptStatus_NotProcessed;
}
},
handleRange : func(val)
{
# Pass any range entries to the NavMapController
me._page.Map.handleRange(val);
},
# Retrieve intersection information for the provided id and display it.
getIntersection : func(id) {
var navdata = nil;
var vordata = nil;
# Use Emesary to get the intersection
var notification = notifications.PFDEventNotification.new(
"MFD",
me.getDeviceID(),
notifications.PFDEventNotification.NavData,
{Id: "NavAidByID", Value: { id: id, type : "fix" } } );
var response = me._transmitter.NotifyAll(notification);
var retval = notification.EventParameter.Value;
if ((!me._transmitter.IsFailed(response)) and (size(retval) > 0)) {
# Simply take the first value. Should handle duplicates.
navdata = retval[0];
# Get the nearest VOR to the intersection
var params = { lat: navdata.lat,
lon: navdata.lon,
type : "vor" };
notification = notifications.PFDEventNotification.new(
"MFD",
me.getDeviceID(),
notifications.PFDEventNotification.NavData,
{Id: "NavDataWithinRange", Value: params });
response = me._transmitter.NotifyAll(notification);
retval = notification.EventParameter.Value;
if ((!me._transmitter.IsFailed(response)) and (size(retval) > 0)) {
var crsAndDst = courseAndDistance(navdata, retval[0]);
vordata = {};
vordata.id = retval[0].id;
vordata.crs = crsAndDst[0];
vordata.dst = crsAndDst[1];
}
}
# Display the retrieved data.
me._page.update(navdata, vordata);
},
# Reset controller if required when the page is displayed or hidden
ondisplay : func() {
@ -72,4 +133,6 @@ var IntersectionInfoController =
me.DeRegisterWithEmesary();
},
};

View file

@ -99,7 +99,7 @@ var NearestIntersectionsController =
"MFD",
me.getDeviceID(),
notifications.PFDEventNotification.NavData,
{Id: "NavDataWithinRange", Value: type});
{Id: "NavDataWithinRange", Value: { type: type } });
var response = me._transmitter.NotifyAll(notification);

View file

@ -99,7 +99,7 @@ var NearestNDBController =
"MFD",
me.getDeviceID(),
notifications.PFDEventNotification.NavData,
{Id: "NavDataWithinRange", Value: type});
{Id: "NavDataWithinRange", Value: { type : type } });
var response = me._transmitter.NotifyAll(notification);

View file

@ -140,7 +140,7 @@ var NearestVORController =
"MFD",
me.getDeviceID(),
notifications.PFDEventNotification.NavData,
{Id: "NavDataWithinRange", Value: type});
{Id: "NavDataWithinRange", Value: { type: type } });
var response = me._transmitter.NotifyAll(notification);

View file

@ -266,7 +266,7 @@ var NavMap = {
me._map.show();
},
hide : func() {
me._map.hide();
if (me._map != nil) me._map.hide();
if (NavMap.LAZY_LOADING) me._map = nil;
},
setVisible : func(visible) {
@ -274,7 +274,7 @@ var NavMap = {
if (NavMap.LAZY_LOADING) me.createMapElement();
me._map.setVisible(visible);
} else {
me._map.setVisible(visible);
if (me._map != nil) me._map.setVisible(visible);
if (NavMap.LAZY_LOADING) me._map = nil;
}
},