1
0
Fork 0

adapt for geo.nas changes (swapping lon & lat)

This commit is contained in:
mfranz 2007-06-18 10:23:14 +00:00
parent 32616f42a0
commit b2750d8a05
2 changed files with 20 additions and 20 deletions

View file

@ -163,8 +163,8 @@ var Model = {
var roll = init_prop(m.node.getNode("roll-deg", 1), 0); var roll = init_prop(m.node.getNode("roll-deg", 1), 0);
m.node.getNode("path", 1).setValue(path); m.node.getNode("path", 1).setValue(path);
m.lon = ModelValue.new(m.node, "longitude-deg", pos.lon());
m.lat = ModelValue.new(m.node, "latitude-deg", pos.lat()); m.lat = ModelValue.new(m.node, "latitude-deg", pos.lat());
m.lon = ModelValue.new(m.node, "longitude-deg", pos.lon());
m.alt = ModelValue.new(m.node, "elevation-ft", pos.alt() * M2FT); m.alt = ModelValue.new(m.node, "elevation-ft", pos.alt() * M2FT);
m.hdg = ModelValue.new(m.node, "heading-deg", hdg); m.hdg = ModelValue.new(m.node, "heading-deg", hdg);
m.pitch = ModelValue.new(m.node, "pitch-deg", pitch); m.pitch = ModelValue.new(m.node, "pitch-deg", pitch);
@ -184,8 +184,8 @@ var Model = {
var v = me.visible; var v = me.visible;
me.unhide(); me.unhide();
me.pos.set(pos); me.pos.set(pos);
me.lon.set(me.pos.lon());
me.lat.set(me.pos.lat()); me.lat.set(me.pos.lat());
me.lon.set(me.pos.lon());
me.alt.set(me.pos.alt() * M2FT); me.alt.set(me.pos.alt() * M2FT);
v or me.hide(); v or me.hide();
}, },
@ -198,8 +198,8 @@ var Model = {
}, },
apply_course_distance : func(course, dist) { apply_course_distance : func(course, dist) {
me.pos.apply_course_distance(course, dist); me.pos.apply_course_distance(course, dist);
me.lon.set(me.pos.lon());
me.lat.set(me.pos.lat()); me.lat.set(me.pos.lat());
me.lon.set(me.pos.lon());
}, },
direct_distance_to : func(dest) { direct_distance_to : func(dest) {
me.pos.direct_distance_to(dest); me.pos.direct_distance_to(dest);
@ -241,16 +241,16 @@ var Model = {
return n; return n;
}, },
add_derived_data : func(node) { add_derived_data : func(node) {
node.removeChildren("longitude-deg-prop");
node.removeChildren("latitude-deg-prop"); node.removeChildren("latitude-deg-prop");
node.removeChildren("longitude-deg-prop");
node.removeChildren("elevation-ft-prop"); node.removeChildren("elevation-ft-prop");
node.removeChildren("heading-deg-prop"); node.removeChildren("heading-deg-prop");
node.removeChildren("pitch-deg-prop"); node.removeChildren("pitch-deg-prop");
node.removeChildren("roll-deg-prop"); node.removeChildren("roll-deg-prop");
var path = node.getNode("path").getValue(); var path = node.getNode("path").getValue();
var lon = node.getNode("longitude-deg").getValue();
var lat = node.getNode("latitude-deg").getValue(); var lat = node.getNode("latitude-deg").getValue();
var lon = node.getNode("longitude-deg").getValue();
var elev = node.getNode("elevation-ft").getValue(); var elev = node.getNode("elevation-ft").getValue();
var hdg = node.getNode("heading-deg").getValue(); var hdg = node.getNode("heading-deg").getValue();
var legend = node.getNode("legend").getValue(); var legend = node.getNode("legend").getValue();
@ -274,7 +274,7 @@ var Model = {
var elev_m = elev * FT2M; var elev_m = elev * FT2M;
var stg_hdg = normdeg(360 - hdg); var stg_hdg = normdeg(360 - hdg);
var stg_path = geo.tile_path(lon, lat); var stg_path = geo.tile_path(lat, lon);
var abs_path = getprop("/sim/fg-root") ~ "/" ~ path; var abs_path = getprop("/sim/fg-root") ~ "/" ~ path;
var obj_line = sprintf("%s %s %.8f %.8f %.4f %.1f", type, spec, lon, lat, elev_m, stg_hdg); var obj_line = sprintf("%s %s %.8f %.8f %.4f %.1f", type, spec, lon, lat, elev_m, stg_hdg);
@ -463,7 +463,7 @@ var ModelMgr = {
}, },
import : func { import : func {
me.active = nil; me.active = nil;
var mandatory = ["path", "longitude-deg", "latitude-deg", "elevation-ft"]; var mandatory = ["path", "latitude-deg", "longitude-deg", "elevation-ft"];
foreach (var m; props.globals.getNode("models", 1).getChildren("model")) { foreach (var m; props.globals.getNode("models", 1).getChildren("model")) {
var ok = 1; var ok = 1;
foreach (var a; mandatory) { foreach (var a; mandatory) {
@ -475,9 +475,9 @@ var ModelMgr = {
var tmp = props.Node.new({ legend:"", "heading-deg":0, "pitch-deg":0, "roll-deg":0 }); var tmp = props.Node.new({ legend:"", "heading-deg":0, "pitch-deg":0, "roll-deg":0 });
props.copy(m, tmp); props.copy(m, tmp);
m.getParent().removeChild(m.getName(), m.getIndex()); m.getParent().removeChild(m.getName(), m.getIndex());
var c = geo.Coord.new().set_lonlat( var c = geo.Coord.new().set_latlon(
tmp.getNode("longitude-deg").getValue(),
tmp.getNode("latitude-deg").getValue(), tmp.getNode("latitude-deg").getValue(),
tmp.getNode("longitude-deg").getValue(),
tmp.getNode("elevation-ft").getValue() * FT2M); tmp.getNode("elevation-ft").getValue() * FT2M);
append(me.models, me.active = Model.new(tmp.getNode("path").getValue(), c, tmp)); append(me.models, me.active = Model.new(tmp.getNode("path").getValue(), c, tmp));
} }
@ -539,27 +539,27 @@ var scan_dirs = func(csv) {
var print_ufo_data = func { var print_ufo_data = func {
print("\n\n------------------------------ UFO -------------------------------\n"); print("\n\n------------------------------ UFO -------------------------------\n");
var lon = getprop("/position/longitude-deg");
var lat = getprop("/position/latitude-deg"); var lat = getprop("/position/latitude-deg");
var lon = getprop("/position/longitude-deg");
var alt_ft = getprop("/position/altitude-ft"); var alt_ft = getprop("/position/altitude-ft");
var elev_m = getprop("/position/ground-elev-m"); var elev_m = getprop("/position/ground-elev-m");
var heading = getprop("/orientation/heading-deg"); var heading = getprop("/orientation/heading-deg");
var agl_ft = alt_ft - elev_m * M2FT; var agl_ft = alt_ft - elev_m * M2FT;
printf("Longitude: %.8f deg", lon);
printf("Latitude: %.8f deg", lat); printf("Latitude: %.8f deg", lat);
printf("Longitude: %.8f deg", lon);
printf("Altitude ASL: %.4f m (%.4f ft)", alt_ft * FT2M, alt_ft); printf("Altitude ASL: %.4f m (%.4f ft)", alt_ft * FT2M, alt_ft);
printf("Altitude AGL: %.4f m (%.4f ft)", agl_ft * FT2M, agl_ft); printf("Altitude AGL: %.4f m (%.4f ft)", agl_ft * FT2M, agl_ft);
printf("Heading: %.1f deg", normdeg(heading)); printf("Heading: %.1f deg", normdeg(heading));
printf("Ground Elev: %.4f m (%.4f ft)", elev_m, elev_m * M2FT); printf("Ground Elev: %.4f m (%.4f ft)", elev_m, elev_m * M2FT);
print(); print();
print("# " ~ geo.tile_path(lon, lat)); print("# " ~ geo.tile_path(lat, lon));
printf("OBJECT_STATIC %.8f %.8f %.4f %.1f", lon, lat, elev_m, normdeg(360 - heading)); printf("OBJECT_STATIC %.8f %.8f %.4f %.1f", lon, lat, elev_m, normdeg(360 - heading));
print(); print();
var hdg = normdeg(heading + getprop("/sim/current-view/goal-pitch-offset-deg")); var hdg = normdeg(heading + getprop("/sim/current-view/goal-pitch-offset-deg"));
var fgfs = sprintf("$ fgfs --aircraft=ufo --lon=%.6f --lat=%.6f --altitude=%.2f --heading=%.1f", var fgfs = sprintf("$ fgfs --aircraft=ufo --lat=%.6f --lon=%.6f --altitude=%.2f --heading=%.1f",
lon, lat, agl_ft, hdg); lat, lon, agl_ft, hdg);
print(fgfs); print(fgfs);
} }
@ -568,8 +568,8 @@ var print_model_data = func(prop) {
print("\n\n------------------------ Selected Object -------------------------\n"); print("\n\n------------------------ Selected Object -------------------------\n");
var elev = prop.getNode("elevation-ft").getValue(); var elev = prop.getNode("elevation-ft").getValue();
printf("Path: %s", prop.getNode("path").getValue()); printf("Path: %s", prop.getNode("path").getValue());
printf("Longitude: %.8f deg", prop.getNode("longitude-deg").getValue());
printf("Latitude: %.8f deg", prop.getNode("latitude-deg").getValue()); printf("Latitude: %.8f deg", prop.getNode("latitude-deg").getValue());
printf("Longitude: %.8f deg", prop.getNode("longitude-deg").getValue());
printf("Altitude ASL: %.4f m (%.4f ft)", elev * FT2M, elev); printf("Altitude ASL: %.4f m (%.4f ft)", elev * FT2M, elev);
printf("Heading: %.1f deg", prop.getNode("heading-deg").getValue()); printf("Heading: %.1f deg", prop.getNode("heading-deg").getValue());
printf("Pitch: %.1f deg", prop.getNode("pitch-deg").getValue()); printf("Pitch: %.1f deg", prop.getNode("pitch-deg").getValue());

View file

@ -123,8 +123,8 @@ panViewPitch = func(step) {
# #
var flyby = { var flyby = {
init : func { init : func {
me.lonN = props.globals.getNode("/sim/viewer/longitude-deg", 1);
me.latN = props.globals.getNode("/sim/viewer/latitude-deg", 1); me.latN = props.globals.getNode("/sim/viewer/latitude-deg", 1);
me.lonN = props.globals.getNode("/sim/viewer/longitude-deg", 1);
me.altN = props.globals.getNode("/sim/viewer/altitude-ft", 1); me.altN = props.globals.getNode("/sim/viewer/altitude-ft", 1);
me.hdgN = props.globals.getNode("/orientation/heading-deg", 1); me.hdgN = props.globals.getNode("/orientation/heading-deg", 1);
me.loopid = 0; me.loopid = 0;
@ -166,18 +166,18 @@ var flyby = {
var course = me.hdgN.getValue(); var course = me.hdgN.getValue();
pos.apply_course_distance(course, dist * 0.8); pos.apply_course_distance(course, dist * 0.8);
pos.apply_course_distance(course + side, me.chase); pos.apply_course_distance(course + side, me.chase);
var lon = pos.lon();
var lat = pos.lat(); var lat = pos.lat();
var elev = geo.elevation(lon, lat); var lon = pos.lon();
var elev = geo.elevation(lat, lon);
var alt = pos.alt(); var alt = pos.alt();
alt += (alt - me.coord.alt()) * 0.5; alt += (alt - me.coord.alt()) * 0.5;
if (elev != nil and alt < elev + 5) if (elev != nil and alt < elev + 5)
alt = elev + 5; alt = elev + 5;
me.lonN.setValue(lon);
me.latN.setValue(lat); me.latN.setValue(lat);
me.lonN.setValue(lon);
me.altN.setValue(alt * geo.M2FT); me.altN.setValue(alt * geo.M2FT);
me.coord.set_lonlat(lon, lat, alt); me.coord.set_latlon(lat, lon, alt);
return 6.3; return 6.3;
}, },
_loop_ : func(id) { _loop_ : func(id) {