How do I translate old style MSFS coordinates into 2020?

I was now also trying to find a way to convert these coordinates.
The Maps for the Sublogic Flight Simulator 2 state:
“North and east coordinates align with orthogonal coordinate grid overlaid on Lambert conformal conic projection”.

Lambert CC (LCC) is described here:

To convert the coordinates between the LCC used ingame and standard WGS84, you can use the Proj tool (PROJ — PROJ 9.5.0 documentation).

The command to convert WGS84 to LCC (in Linux) would be:

$ echo "<Longitude> <Latitude>" | proj +proj=lcc +lat_1=40 +lat_0=40 +lon_0=-88.5 +datum=WGS84 +k=0.003906154 +x_0=16383 +y_0=16383

It took me a while to find/determine the parameters for LCC.

According to the official manual for subLogic FS II, the center of the map is at 40° North, 88°30’ West, about 30 miles southwest of Champaign.

With the game coordinates around Chicago being around 16500, it can be determined that they used some special kind of signed 15bit values. 0-16383 are the negative values (to the South and West of the map center), while 16384-32767 are the positive values (North and East of the center). Therefore we need to set the offset here with +x_0 and +y_0 parameters.
LCC also needs a standard parallel (the axis around which the map was tilted from the cone form to get orthogonal). I assume this to be latitude 40° in the center, set with +lat_1.
And the lat and lon originals, being also the center coordinates of the in game map, set with +lat_0 and +lon_0.

Last is +k, which is the scaling factor.
For this, one more FS II manual statement is interesting, that is, 1 unit represents 256m in the real world.
So I checked the distance of one degree in WGS84 with World distance calculator | World Air Sports Federation
First between N40W88 and N40W89, which is 85.4km
Then between N40W88 and N41W88, which is 111km
From this I calculate a scaling factor of 0.003906154

To give a practical example, I checked coordinates for the Empire State Building, which according to Google Earth is at N 40.7484405, E -73.9856644.
If put in the above command, the result is:

$ echo "-73.9856644 40.7484405" | proj +proj=lcc +lat_1=40 +lat_0=40 +lon_0=-88.5 +datum=WGS84 +k=0.003906154 +x_0=16383 +y_0=16383
21150.43	17096.65

Which are nearly the same values given in the last paragraph here:
http://www.textfiles.com/apple/DOCUMENTATION/flightsim2coords.txt

                       NORTH  EAST   HEADG
                       ~~~~~  ~~~~   ~~~~~
Empire State Building..17077..20996...250

And in the other direction you can use:

$ echo "20996 17077" | cs2cs +proj=lcc +lat_1=40 +lat_0=40 +lon_0=-88.5 +x_0=16383 +y_0=16383 +k=0.003906154 +datum=WGS84 +to +proj=latlong +datum=WGS84 -f "%.6f"
-74.457294	40.760505 0.000000

Happy Flying with the Adventure series and Odyssey by Charles Gulick :grin: :+1:

1 Like