OK, I got a question for you. What kind of coordinates does your 3D modelling tool use? I mean a tool like GMax, FSDS, SketchUp or 3DS Max. Ah, that is an easy question you must think now, all of these programs use a 3D axis system where you model your object in meters (or maybe feet or inches for the developers in the US). So that question does not seem so difficult, does it?
But how do these meters related to the position of the object on earth? The earth is a sphere (or more accurate an ellipsoid) and the location of an object on the earth is usually defined with a latitude and longitude. In this blog post I want to discuss how this relates with the XYZ coordinates you use in your modelling tool.
Why should you know more about this? If you are just making a model of your house or other small objects it is probably not so important. But if you are also making big objects or runways in your 3D modelling tool it is important to know that things end up in the world where they are supposed to be.
So how do those XYZ coordinates translate to a position on the earth? The XYZ coordinates are flat, so it is basically a question on how to present a sphere in 2D. Quite similar to the challenges you face while drawing a map of the earth. And if you look at different world maps you might notice that they do not all represent the world in the same way. Look for example at Greenland, it is often represented in different ways. The image above shows three of these. It depends on the projection or coordinate system you are using. So to know how our XYZ coordinates translate to a location on earth we need to know what kind of coordinate system FS is using.
FS2004 represents the area around you as a flat world and there formula's to convert between latitude/longitude and XY are well know. This is usually called a local flat earth projection. But you should still be careful, because there are small variations to these formula's that are also called flat earth. Using these formula's you can make sure that the runway you draw in your 3D modelling program ends up exactly at the threshold coordinates from your AIP for example.
For FSX things are slightly different, since the world around you is no longer rendered as flat. Instead it is represented as a curved surface, which is it in real world as well of course. This also means that the formula's that worked for FS2004 are no longer valid in FSX. To convert between XYZ coordinates and latitude/longitude you need to use so called geocentric coordinates. Geocentric coordinates are basic XYZ coordinates where the origin is the centre of the world. However for 3D objects they are expressed relative to the reference point of that object.
So what does this mean for me, you are probably thinking by now? As you had probably expected already these two coordinate systems do not line up exactly with each other. So imagine you have made a 3 kilometre long runway for FS2004. In the FS2004 (flat earth) world it is placed perfectly. But if you load it in FSX you will see that the thresholds do not end up at the same latitude and longitude anymore. The difference won't be very big, but with such a long runway it can easily be a few meters off. So that means that runways and aprons made for FS2004 will not be positioned at exactly the same location in FSX. For smaller buildings there will be an offset as well, but in those cases the offset is usually no more than a few centrimetres and you won't really notice it.
And to make things even worse, it seems there is an inconsistency in FSX that renders attached effects using the flat earth coordinates, while the geometry of the object is rendered with geocentric coordinates. This means that the further away from the origin you go, the most these two element will offset from each other (while in your 3D modelling tool they are at the same lcoation).
OK, I guess by now you will understand what is happening. But how can you solve this? I think if you are creating big features like a runway it is a good idea to be aware of what is going on. And when you use a background image in your 3D modelling tool you should spend some time to make sure it is aligned correctly. For FS2004 you would need to make it flat earth projection and for FSX geocentric projection. How to do this is unfortunately not so easy, so I guess I would have to discuss that in another blog post later on.
For now I hope you are more aware of some of the things going on inside the rendering engine of FS and how that influences the scenery you are making. Especially if you try to make things very accurate.