• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

FS9 map range and rotation

WebSimConnect

Resource contributor
Messages
154
I guess this is a question to Bob (rpmc) the author of fsmap guidebook.

According to the guide, the range (zoom) is the biggest circle that can be drawn within the boundaries of the map.

When you have map orientation to to the North and you start rotating, then the distance in meters between sides of the new viewport that is rotated are not the same as before the rotation. My question is, does the range principle applies to North orientation only (before rotation) or it applies to the sides of the viewport after the rotation, i.e the range is still the biggest circle that can be drawn within the boundaries of rotated map. If so, the scale factor (i.e. pixels per meter) might be changing constantly during rotation.
 
I have done several "radars" which are basically "maps" .

According to the guide, the range (zoom) is the biggest circle that can be drawn within the boundaries of the map.
The above quote is a simplification that applies to only one situation .
Pixels scale remains constant in either vertical or horizontal display directions , do not change due to rotation .

Range (zoom) is based on the vertical map display height , if you have a square map display that has a range of 40 nm from top to bottom of the display ,
and that instrument is in a pop up window that can be re sized .
If you now stretch the vertical height of the display to twice it's original height it will still be 40 nm top to bottom .
If on the other hand you stretched the display only in the horizontal to twice it's width it would be 80 nm left to right .
In these maps the vertical height sets the range .

Generally in maps the zoom is set to nm (Nautical Miles) by multiplying the zoom factor by 1852.0 .

These maps can be any shape , a square , horizontal rectangle , vertical rectangle , a circle , or a fan shaped cone in the direction of the aircraft , therefore
you can see that drawing a circle does not always represent the range .

The following represent the map aspects within "Custom Draw" ,
(1) Map display size .
Code:
<Size>350,350</Size>

(2) Map center , this is a little misleading as it is really the map focal point .
Code:
                       <CustomDrawParam id="CenterX" Name="CenterX">
                            <Value>@MapWidth 2 / </Value>
                        </CustomDrawParam>
                        <CustomDrawParam id="CenterY" Name="CenterY">
                            <Value>260</Value>
                        </CustomDrawParam>
As you can see the Center Y is at 260 pixals down out of the 350 height , thus the focal point has been moved down towards the lower region on the display .
Center X and Center Y are used to position the " Focal Point " where ever you wish to place it on the display .
The "Focal point" is the center of rotation of the display , also all features shown on the map are relative to that point , ie ; airports , VOR , NDB , Intersections ,
flight plan lines , terrain , AI aircraft .
You would position the Focal point to serve the function of the map that you desire ,
* ATC radar focal Pt at center of display .
* Aircraft radar focal Pt at bottom of display .
* Rear facing aircraft radar focal Pt at top of display .
* SLAR (sideways looking radar focal Pt at either left or right of display .

(3) Zoom (range selection .
Code:
                        <CustomDrawParam id="Zoom" Name="Zoom">
                            <Value>(L:map_ZoomFactor, number) 1852.0 *</Value>
                        </CustomDrawParam>

(4) Physical location of map or focal point .
Code:
                        <CustomDrawParam id="Latitude" Name="Latitude">
                            <Value>(A:PLANE LATITUDE,Radians)</Value>
                        </CustomDrawParam>
                        <CustomDrawParam id="Longitude" Name="Longitude">
                            <Value>(A:PLANE LONGITUDE,Radians)</Value>
                        </CustomDrawParam>
This example is at the user aircraft , however it can be positioned at other locations , I use a generic Lat/Long in one radar mode to enable the display
to be projected to any location on earth by forcing a location into the generic Lat/Long .

Cheers
Karol
PS ;
If you are interested in Zoom settings to achieve absolute scalar distance precision , and placement of focal point on map display ,
I detailed a calculation method that I use at page 2 of the following link ,
http://www.fsdeveloper.com/forum/threads/need-help-with-radar-gauge.428217/
 
Thanks Karol for that detailed answear. I appreciate. I will digest all you wrote including the other thread and will try to conform my overlay (c++/html based but same projection as fs9map) with rotated fs9map.
 
Hi Marcin,

Are you talking about apparent range changes when TrackUp is toggled between TrackUp=0 and TrackUp=1? If so, please consider the following:

upload_2017-7-24_22-1-8.jpeg

In all cases, <Zoom> is 15 * 1852 meters, or 15 NM.

A: TrackUp=0 and fs9gps:Map draws a map which is 30 NM from top to bottom (the vertical is the short side). Note the location of VOR RID about 15 NM due south of the aircraft.

B: TrackUp=1. The map rotates so that the aircraft ground track is pointing Up. However, note that the RangeRings are quite different than in A. They don't draw properly when TrackUp=1.

C: TrackUp=1. Same as B but RangeRings are toggled off.

D: TrackUp=0. A red line is drawn from the aircraft to RID

E: TrackUp=1. A green line is drawn from the aircraft to RID.

F: TrackUp=1. Same as E but RangeRings are toggled off.

Red and Green lines below E: Same length.

The map scale does not appear to change just by toggling TrackUp.

In your case, your overlay will be drawn by measuring physical screen pixels, I presume (i.e., it won't be scaled using XML gauge unit measurements). I would calculate scale when TrackUp=0.

If I have misunderstood your issue, please let me know.

Regards,

Bob
 

Attachments

Last edited:
Many thanks Bob. That's what I was looking for and it confirms my finding that "circle" principle applies to North orientation only which for me makes perfect sense. Many thanks for the example, it will help me a lot to verify overlay conformity.

Marcin
 
You're welcome, Marcin.

If you can determine the number of screen pixels in the map x and y directions, then scaling of the overlay is trivial. And if it helps, there is an example of the 2-D coordinate rotation transform you may need starting on page 129 of the map guidebook.

The project sounds interesting ... are you at liberty yet to advertise what you're making?

Bob
 
The project sounds interesting ... are you at liberty yet to advertise what you're making?

It's about custom overlays like weather, taws/egpws or custom navaids.

bu the next problem I am hitting is that I cannot make my own CustomDraw element in XML gauge with alpha channel. At leasts so far I have not found a way. I got HDC handler, paint with transparency but the CustomDraw element has always black background.
 
"circle" principle applies to North orientation only

With either Trackup=0 or 1, the circle principal applies. That is, fs9gps:Map sizes the map to be 2 times the <Zoom> on the shortest side of the map, as measured in physical screen pixels.

LayerRangeRings doesn't draw properly when TrackUp=1, I suppose, because RangeRings were included in the FSX release of the ATC radar gauge. TrackUp=0 makes sense for an ATC radar; TrackUp=1 does not.
 
Last edited:
Back
Top