Jump to content
The simFlight Network Forums

Recommended Posts

Posted

All,

Given the amount of work that's been done with FSUIPC interfacing to MSFlightSim this forum seemed a logical place to hunt for answers. Apologies to all if this is considered off topic:

I need to know if it's possible to obtain cartesian grid coordinates of the ownship's present lat/lon position, either through interrogation of MSFlightSim somehow, or via conversion of the available lat/lon through whatever map conversion MSFlightSim uses. The available data documented in the latest FSUIPC software is extensive, but doesn't seem to contain the X/Y position (I'm guessing there's a good reason for this).

The exact algorithm for the lat/lon->x/y conversion seems to be some kind of MS secret, as I've looked on the web for it at length and found very little. The most informative blurb indicated that the conversion is a derivative of Lambert Conformal Conic mapped onto some other scaled coordinate system.

The reasons I need this would take a while to explain and just cloud the issue, but in a nutshell involve driving an external symbol generator for a helmet-mounted display, which has its own set of problems that I'll deal with when the time comes.

Thanks,

Rob

Posted

I need to know if it's possible to obtain cartesian grid coordinates of the ownship's present lat/lon position, either through interrogation of MSFlightSim somehow, or via conversion of the available lat/lon through whatever map conversion MSFlightSim uses. The available data documented in the latest FSUIPC software is extensive, but doesn't seem to contain the X/Y position (I'm guessing there's a good reason for this).

What cartesian coordinates? Surely the position in the world, whether in the real one or in FS, is by Latitude/Longitude/Altitude. The whole mechanics of FS's position system is based on something abbreviated to "LLAPBH" -- the six degrees of freedone, Lat, Long, Alt, Pitvh, Bank, Heading.

Cartesian coordinates are only valid on a flat space and you also need to specify your origin position (in the real space being simulated) and the relative orientation of the x,y,z axes. If you have your own such reference, then the conversion from LLA is a matter of spherical trigonometry.

Regards,

Pete

Posted

Pete wrote:

What cartesian coordinates? Surely the position in the world, whether in the real one or in FS, is by Latitude/Longitude/Altitude. The whole mechanics of FS's position system is based on something abbreviated to "LLAPBH" -- the six degrees of freedone, Lat, Long, Alt, Pitvh, Bank, Heading.

Cartesian coordinates are only valid on a flat space and you also need to specify your origin position (in the real space being simulated) and the relative orientation of the x,y,z axes. If you have your own such reference, then the conversion from LLA is a matter of spherical trigonometry.

To explain my position better (and with all due respect; none of this is meant to sound flippant):

Right or wrong, many sims I've had to work on over the years (including the one that's currently giving me a big headache) have operated in "flat world" in a fairly localized gaming area, over a flat database, using a cartesian grid with some arbitrary origin. Obviously there has to be some mapping involved to relate this flat grid to geodetic earth coordinates, such as UTM, Lambert Conformal Conic, or whatever. Another variable is the datum in use, e.g. WGS-84, which defines the earth's ellipsoid parameters. All of these things contribute to how geodetic earth coordinates, e.g. lat/lon/elevation turn into linear distances, and also affect the reckoning of true heading since meridians are rarely oriented "up and down" the grid.

In other words, except in the most naive case the math is interesting but is also more involved than spherical trig. If you don't have the exact algorithm, map parameters, and datum, then it's nearly impossible to get accurate relative linear distances starting with geodetic (and x/y/z relative linear distances are what I'm ultimately needing).

In the best case everybody agrees on what the earth looks like, and uses ellipsoid databases and the motion models fly over the ellipsoid earth model. Even in that case it's common to still have a cartesian system that's centered on the earth and stuck to it, such as the DIS geocentric coordinate system. I.e. the world doesn't have to be flat for a cartesian system to still be relevant.

The bottom line is that there are still plenty of cases where flat world is still alive and well, and unfortunately I've had one of them dropped in my lap, and it's causing me to need to know exactly how to turn MS Flight Sim's geodetic coordinates into some cartesian system such that accurate relative distances (or more to the point for my current problem, reasonably accurate lines-of-sight) between points can be reckoned given the lat/lon/elevation of those points.

I've encountered at least one amateur source who claimed that MS Flight Sim's databases were indeed flat, and the mapping was some modified Lambert Conformal Conic (see http://www.saunalahti.fi/masunta/FS-ATCation.html in the section titled "Microsoft Flight Simulator 4.0 coordinate system"). But this document is old, for an old version of MS Flight Sim, and the guy that wrote it (whom I exchanged email with this morning) said he never quite figured it all out. He also said that the Mallard guys were the real source of the answer, but I haven't tried them yet.

As thorough as you have been at gathering up all the other data made available by the FSUIPC stuff I assumed that if this data were available you would have included it, but I thought I'd ask anyway.

Thanks for the input.

Rob

Posted

... it's causing me to need to know exactly how to turn MS Flight Sim's geodetic coordinates into some cartesian system such that accurate relative distances (or more to the point for my current problem, reasonably accurate lines-of-sight) between points can be reckoned given the lat/lon/elevation of those points.

Have you tried doing it using the assumption that the FS LAT/LON/ALT are its x/y/z? In all my explorations within FS I've never come across any other internal method, only the LLA in FS units.

I've encountered at least one amateur source who claimed that MS Flight Sim's databases were indeed flat, and the mapping was some modified Lambert Conformal Conic (see http://www.saunalahti.fi/masunta/FS-ATCation.html in the section titled "Microsoft Flight Simulator 4.0 coordinate system").

Ah, yesbut wasn't it in FS4 that you couldn't fly from one part of the Flat Earth system, like the USA, to another, like Europe, for instance -- Europe was added on, after using the same limited coordinate system. The Lat/Lons were sort of plastered on top. Maybe I'm remembering it wrong, and that was FS3, but I don't think so (Someone will correct me I'm sure! :D ).

FS5 saw quite a change in most of that stuff. I don't remember any of the original coordinate system being brought forward.

Sorry,

Pete

Posted

Pete wrote:

Have you tried doing it using the assumption that the FS LAT/LON/ALT are its x/y/z? In all my explorations within FS I've never come across any other internal method, only the LLA in FS units.

Not yet :-). In my experience with maps in sim work I've found that anything but the exact thing will always come back to haunt you somewhere. In other words, the only way to get it to work everywhere is to have the no-kidding algorithm and attendant parameters, hence my dogged pursuit of the info so I don't end up supporting this thing every time the customer moves something. But... it may yet come to something like this if I can't find what I'm looking for.

The infuriating thing is that somebody somewhere knows this answer, but it's like pulling teeth to get it. An organization that builds visual databases for MS Flight Sim would have to know, but I've yet to talk to any of them. And of course the MS guys know, but they're kind of tight-lipped about it :-). And I discovered this afternoon that the Mallard guys are out of business, so there goes another source.

Pete wrote:

Ah, yesbut wasn't it in FS4 that you couldn't fly from one part of the Flat Earth system, like the USA, to another, like Europe, for instance -- Europe was added on, after using the same limited coordinate system. The Lat/Lons were sort of plastered on top. Maybe I'm remembering it wrong, and that was FS3, but I don't think so (Someone will correct me I'm sure!).

I don't know. I do sim work for a living, but I've never been a MS Flight Sim enthusiast. This was sort of the impression I got from the fellow that wrote that paper I linked to in the last message, i.e. Europe was an afterthought in that version. For all I know they've fixed the whole thing to be something more exotic and all-encompassing.

Pete wrote:

FS5 saw quite a change in most of that stuff. I don't remember any of the original coordinate system being brought forward. Sorry.

No worries. Thanks for entertaining the question.

Rob

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.