Board index FlightGear Development Canvas

MapStructure OANS Map ? (by Merspieler)

Canvas is FlightGear's new fully scriptable 2D drawing system that will allow you to easily create new instruments, HUDs and even GUI dialogs and custom GUI widgets, without having to write C++ code and without having to rebuild FlightGear.

MapStructure OANS Map ? (by Merspieler)

Postby Hooray » Fri Jul 23, 2021 4:16 pm

merspieler wrote in Tue Jan 12, 2010 7:40 am:Since you know MapStructure so well... how do I _properly_ implement a moving map like these:

https://www.airbus.com/newsroom/news/en ... craft.html

Image

Image



MapStructure is all about identifying static elements and dynamic ones - to selectively update things that change, unlike things that don't change.

So the next step is to logically divide a "map" into a set of "layers", that contain layer-specific elements/information (think taxiways, runways, buildings, compass rose, text labels) - as a rule of thumb, anything that can be toggled on/off separately, could go into its own layer (for the sake of simplicity). Also, anything that responds to scale (LOD) needs be handled correctly - e.g., switching the range of map display, does not invalidate the previous data (model).

Basically, the taxiway layout of the airport no longer changes once it's initialized - so you primarily need one layer for the taxiways, and use other layers for more dynamic stuff.

We developed MapStructure so that people can easily reuse existing layers. The idea was to allow people to find related layers and only adapt what's needed. In this case, I would use the taxiway layer or ThomasS' ground services layers to get started quickly - and then copy/adapt those layers as needed, styling I would add once all other functionality is working:

https://wiki.flightgear.org/Ground_Services
Image

The next step would then be to add layers for other stuff (e.g. runways) - again, it's best to look at what we've got already, and then copy/adapt existing layers for your OANS:

https://wiki.flightgear.org/Canvas_MapStructure_layers
Image

For things like scaling/rotation, it's best to create the geometry layer separately - and then use a transformation - just like the compass rose is handled: there's no point redrawing a compass rose, if all that's changed is the heading/orientation - equally, if you need to render the airport diagram using different orientations, merely use a rotation/transform

You can also exploit internal knowledge - for example, for the ND, we knew that aircraft support toggling ranges based on a fixed set of ranges:

Image

This means, range toggling can happen between 10/20/40/80/160/320 miles.
That also means, the two "neighboring" of any given range are most likely to be selected at any given time, so you can pre-create the model for that switch - and you can in fact allocate all symbols into groups based on the CURRENT display range: https://wiki.flightgear.org/MapStructure_Optimizations

Image

At that point, you can always use the current range +1 (say 20nm instead of 10) and then update the sub-layers by shuffling elements from one layer to another.
That way, you will always have a pre-created layer, which you can hide (20nm contains all layers below it, whereas 320nm contains all layers in general). At that point, toggling between layers merely entails updating and hiding/showing elements - i.e. you merely propagate elements from one "group" to another - instead of deleting/re-adding all layers/symbols at once:

Image

From an optimization/performance standpoint it's good to keep asking yourself a number of questions:
- how many layers are needed for the new feature ?
- which existing layers are related/similar ?
- how does the new functionality differ ?
- what's static/dynamic on each layer (static stuff does not need to be updated frequently)
- how are update heuristics affected by toggling display-specific modes (range/LOD, airport, labels etc)

Also, suppose a single cockpit shows multiple independent instances of this display in the same cockpit (think captain/first officer): how can the underlying data (model) be reused without multiple instances querying the Nasal/core side unnecessarily - for instance, if both instances show the same airport (ICAO identifier), you can simply cache/reuse the result from the other instance.
Or, if two instances show the same display using the same airport, with different range/LOD, how can the data be structured, to avoid unnecessary overhead ?

Finally, there's the multiplayer (dual pilot/shared control) factor, too - which is overlapping with requirements due to multi-instance setups - at that point, you'd probably want to use Emesary to structure the layer.

(FWIW, I don't think we currently have any geometry for buildings available - so you might want to use a static raster image as a placeholder or reach out to the scenery folks/core devs to learn if it's possible to retrieve building shape info procedurally, or add what's missing to the Nasal cppbind interface)

PS: I think omega95 (?) implemented the OANS several years ago, so you might want to run a forum search - not sure if that was using MapStructure or pure canvas directly.
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 12707
Joined: Tue Mar 25, 2008 9:40 am
Pronouns: THOU

Re: MapStructure OANS Map ? (by Merspieler)

Postby Hooray » Sat Jul 24, 2021 11:28 am

For reference, here's what the 3rd party X-Plane implementation (addon!) looks like:

https://store.x-plane.org/Airport-Visua ... p_716.html

Airport Visual System (AVS) is inspired by a well known On-board Airport Navigation System (OANS) and designed to be a useful assistant during airport navigation.

AVS provides basic functional of a real OANS system with many custom enhancements, modern user interface and interactive map. Among other features there is an ability to interactively build taxi
routes and show the traffic situation in the current airport.

As a bonus, AVS also provides an ability for viewing images and PDF files in simulator environment. It is available for three platforms – Windows, Linux and Mac (all 64-bit).

Image Image Image


And here's a fairly interesting PDF detailing the various features/modes of the OANS (beginning section 5.1 / p 134): https://www.cockpitseeker.com/wp-conten ... Issue1.pdf
On-board Airport Navigation System – OANS
5.1. DESCRIPTION OF OANS

OANS is a new system introduced by the A380. Its purpose is to locate the aircraft on an airport map displayed on ND. OANS generates the airport map with its own Airport Data Base (ADB). OANS improves the flight crew situational awareness during ground movements on airport surfaces (i.e. ramps, taxis, runways).
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 12707
Joined: Tue Mar 25, 2008 9:40 am
Pronouns: THOU

Re: MapStructure OANS Map ? (by Merspieler)

Postby merspieler » Tue Jul 27, 2021 6:18 pm

While reading the wiki, I've found this: https://sourceforge.net/p/flightgear/fg ... controller

Can I use that?
Nia (you&, she/her)

Please use gender neutral terms when referring to a group of people!

Be the change you wish to see in the world, be an ally to all!

Join the official matrix space
merspieler
 
Posts: 2241
Joined: Thu Oct 26, 2017 11:43 am
Location: Wish to be in YBCS
Pronouns: you&, she/her
Callsign: you&, she/her
IRC name: merspieler
Version: next
OS: NixOS

Re: MapStructure OANS Map ? (by Merspieler)

Postby Hooray » Tue Jul 27, 2021 9:14 pm

Yes, but the point was to look at what we've got already - I don't know how much Nasal/MVC/OOP experience you have - but for starters, it should suffice to use one of the examples and adapt the corresponding code to use/display different MapStructure layers.

I mentioned this previously: for rapid prototyping it helps tremendously to develop Canvas avionics by using a GUI dialog as the test bed - Stuart also confirmed that this helped him massively while developing the FG1000. Basically, you don't need to edit files or reload/restart fgfs or install instruments on an aircraft.

Once you have something that you want to use on an aircraft, it's really easy to integrate MapStructure layers by adding a handful lines of code.

For starters, I'd suggest to use the Nasal console exclusively and tinker with different layers. Once you know how that is working, you can create a separate Nasal file that you load/execute via a dedicated menu binding - that way, the file is always reloaded automatically from disk, and you can use a conventional text editor (and git !) to edit your files.

Another option is using an addon to accomplish all of this (jsb implemented support for reloading addons from disk), that would then be analogous to the "GroundServices" addon by ThomasS

Basically, to get started: create a single map, with a background layer (taxiways, runways) - you can then take it from there and add the compass rose.

You can refer to the examples or the airports.xml dialog to see how layers are added/set up.
I would suggest to tinker with a hard-coded dialog that has well-developed runways/taxiways - and then make things configurable later on (IIRC KNUQ had some fairly complex taxiways)

https://wiki.flightgear.org/Canvas_snip ... o_a_Canvas
Image
Code: Select all
var (width,height) = (640,320);
var title = 'Canvas OANS experiments';

# create a new window, dimensions are WIDTH x HEIGHT, using the dialog decoration (i.e. titlebar)
var window = canvas.Window.new([width,height],"dialog")
 .set('title',title);


##
# the del() function is the destructor of the Window
# which will be called upon termination (dialog closing)
# you can use this to do resource management (clean up timers, listeners or background threads)
#window.del = func()
#{
#  print("Cleaning up window:",title,"\n");
# explanation for the call() technique at: http://wiki.flightgear.org/Object_oriented_programming_in_Nasal#Making_safer_base-class_calls
#  call(canvas.Window.del, [], me);
#};

var TestMap = root.createChild("map");
TestMap.setController("Aircraft position");
TestMap.setRange(25);
 
TestMap.setTranslation(    myCanvas.get("view[0]")/2,
                           myCanvas.get("view[1]")/2
                        );
var r = func(name,vis=1,zindex=nil) return caller(0)[0];

# APT and VOR are the layer names
foreach(var type; [r('APT'), r('VOR') ] )
 TestMap.addLayer(factory: canvas.SymbolLayer, type_arg: type.name, visible: type.vis, priority: type.zindex,);


PS: Feel free to use the wiki to document your journey - you could turn the whole thing into a tutorial using a handful of screen shots, and we can then refine the whole thing over time, and turn it into the OANS that you'd like to develop
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 12707
Joined: Tue Mar 25, 2008 9:40 am
Pronouns: THOU

Re: MapStructure OANS Map ? (by Merspieler)

Postby Hooray » Wed Jul 28, 2021 7:41 pm

Just to be clear about it, to make rapid progress:

- open airports.xml: https://sourceforge.net/p/flightgear/fg ... s.xml#l787
- find the Nasal code that sets up the airport diagram shown in the airport dialog
- this contains the name of the corresponding layers that you need: TAXI, RWY, TWR, PARKING (use this order for proper z-indexing)
- for the airplane symbol, also add the "APS" layer

Your setup code should look like this:

Code: Select all
foreach(var type; [r('TAXI',1,0),r('RWY',1,1),r('TWR',1,2),r('PARKING',1,3),r('APS',1,4)] )


This will set up the aforementioned layers (for details, refer to the surrounding comments in airports.xml, the wiki examples/MapStructure article or MapStructure.nas)

You only need to modify/replace the line in the previously code snippet to make this work.
For testing purposes, go to a well-developed airport and execute this snippet, it should render a corresponding map that you can use as the foundation for developing a full OANS (with custom styling, options and other features) :wink:

https://wiki.flightgear.org/Howto:Proto ... re#Example
Image

NOTE: You will not have to edit any of the MapStructure files or associated layers for any of this ! (and once again, it only takes 20 seconds to display this on any Canvas MFD, including the ND/NavDisplay)

To learn more about styling existing layers (coloring text/labels runways, taxiways etc), refer to: https://sourceforge.net/p/flightgear/fg ... s.xml#l731

(you would ideally extend existing layers to add missing functionality, such as for example support for highlighting runways/taxiways or optionally placing labels or other meta information - however, keep in mind that MapStructure is a a "back-end", that's used by a number of aircraft and other mapping related features)
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 12707
Joined: Tue Mar 25, 2008 9:40 am
Pronouns: THOU

Re: MapStructure OANS Map ? (by Merspieler)

Postby merspieler » Wed Jul 28, 2021 10:16 pm

Thanks...

You're posting quicker than I can follow, by tinkering and understanding, in my limited time...

If I have more questions, I'll ask.
Nia (you&, she/her)

Please use gender neutral terms when referring to a group of people!

Be the change you wish to see in the world, be an ally to all!

Join the official matrix space
merspieler
 
Posts: 2241
Joined: Thu Oct 26, 2017 11:43 am
Location: Wish to be in YBCS
Pronouns: you&, she/her
Callsign: you&, she/her
IRC name: merspieler
Version: next
OS: NixOS

Re: MapStructure OANS Map ? (by Merspieler)

Postby Hooray » Wed Jul 28, 2021 10:27 pm

This stuff is intended to be easy, it's what MapStructure was designed for after all - depending on your goals/priorities (and background, you could probably implement a pretty functional OANS implementation during a single rainy weekend - most of the hard stuff has been written years ago, and is readily available elsewhere - so it's primarily a matter of customizing some stuff (colors, styling etc), and adding missing bits (e.g. the compass rose).

But if you have some coding experience, the Nasal/Canvas portion to implement a rotating compass rose is really straightforward - an we also have people who can provide pointers to related code snippets that you can then copy/paste and adapt.

So if you are serious about this, it might make sense to reach out to people interested in such an OANS implementation - for instance, most airbus devs would probably be interested - some of whom might lend a helping hand when it comes to artwork (SVG/Inkscape) or Nasal/Canvas stuff.

Again, I don't mind answering MapStructure/Canvas related questions, but overall the system is rather well documented actually, and we do have plenty of examples and code snippets, including a wiki article that introduces the whole MVC/OOP portion of the design.

The code snippet used to render the screen shot shown above, could even be reduce to ~10 lines of code - so this sort of thing is EXACTLY what MapStructure is good at - and using/adding more styling is also fairly easy and doesn't need much coding. Artwork like raster images or vector images can also be added without coding.

Then again, if you don't make this too specific to Airbus aircraft, Boeing folks or GA folks might also be interested in this - in other words, keep in mind how MapStructure came to be: it's designed to serve ALL folks, without being specific to any particular aircraft/developer or project.

With a bit of networking, a generic OANS variant could be developed, something that possibly even Stuart might want to use on his FG1000 sooner or later :wink:

(And getting Stuart involved could be considered the holy grail when it comes to implementing support for missing functionality, like airport/building geometry, which requires some C++ changes to expose the underlying vector data to Nasal/Cppbind - which is pretty much the only missing bit I can think of, but which can be worked around by loading raster images or PDF files as background layers, too - in fact, you could also render a geo-referenced PDF to work around hard-coded restrictions - however, I do suppose that Stuart and other core devs are going to be interested in exposing such data to scripting space for a variety of reasons (think osm2city geometry)).
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 12707
Joined: Tue Mar 25, 2008 9:40 am
Pronouns: THOU

Re: MapStructure OANS Map ? (by Merspieler)

Postby merspieler » Thu Jul 29, 2021 8:26 am

Okay... which data does is use to draw this? apt.dat? groundnet?

Cause most airports show only up as runways.
Nia (you&, she/her)

Please use gender neutral terms when referring to a group of people!

Be the change you wish to see in the world, be an ally to all!

Join the official matrix space
merspieler
 
Posts: 2241
Joined: Thu Oct 26, 2017 11:43 am
Location: Wish to be in YBCS
Pronouns: you&, she/her
Callsign: you&, she/her
IRC name: merspieler
Version: next
OS: NixOS

Re: MapStructure OANS Map ? (by Merspieler)

Postby Johan G » Thu Jul 29, 2021 8:44 am

merspieler wrote in Thu Jul 29, 2021 8:26 am:Cause most airports show only up as runways.

Well, most airports are only one or more runways with exits in the middle and at each threshold to a parallel taxiway.

Or does only the runway show up?
Low-level flying — It's all fun and games till someone looses an engine. (Paraphrased from a YouTube video)
Improving the Dassault Mirage F1 (Wiki, Forum, GitLab. Work in slow progress)
Some YouTube videos
Johan G
Moderator
 
Posts: 6629
Joined: Fri Aug 06, 2010 6:33 pm
Location: Sweden
Callsign: SE-JG
IRC name: Johan_G
Version: 2020.3.4
OS: Windows 10, 64 bit

Re: MapStructure OANS Map ? (by Merspieler)

Postby merspieler » Thu Jul 29, 2021 8:55 am

Yes, runways only... (and the tower symbol)

Image
Nia (you&, she/her)

Please use gender neutral terms when referring to a group of people!

Be the change you wish to see in the world, be an ally to all!

Join the official matrix space
merspieler
 
Posts: 2241
Joined: Thu Oct 26, 2017 11:43 am
Location: Wish to be in YBCS
Pronouns: you&, she/her
Callsign: you&, she/her
IRC name: merspieler
Version: next
OS: NixOS

Re: MapStructure OANS Map ? (by Merspieler)

Postby Gijs » Thu Jul 29, 2021 9:41 am

I cannot check it right now, but if I recall correctly our navdb only parses the (old) 810 surface format. The rectangular blocks of taxiway in your screenshot indicate that that specific airport is in 810 format. Airports with polygon surfaces (850 format) therefore only show the runways, since the polygon surfaces are simply not available to the canvas layer. I believe the airport preview in the Qt launcher has the same limitation, as it uses the same navdb.
Airports: EHAM, EHLE, KSFO
Aircraft: 747-400
User avatar
Gijs
Moderator
 
Posts: 9544
Joined: Tue Jul 03, 2007 3:55 pm
Location: Delft, the Netherlands
Callsign: PH-GYS
Version: Git
OS: Windows 10

Re: MapStructure OANS Map ? (by Merspieler)

Postby merspieler » Thu Jul 29, 2021 10:20 am

Okay, that'd explain it.

So first step would be fixing the navdb parser...
Nia (you&, she/her)

Please use gender neutral terms when referring to a group of people!

Be the change you wish to see in the world, be an ally to all!

Join the official matrix space
merspieler
 
Posts: 2241
Joined: Thu Oct 26, 2017 11:43 am
Location: Wish to be in YBCS
Pronouns: you&, she/her
Callsign: you&, she/her
IRC name: merspieler
Version: next
OS: NixOS

Re: MapStructure OANS Map ? (by Merspieler)

Postby Hooray » Thu Jul 29, 2021 8:40 pm

merspieler wrote in Thu Jul 29, 2021 10:20 am:So first step would be fixing the navdb parser...



Ideally, yes - maybe ...
But realistically, that's not a real showstopper: The Canvas system is sufficiently flexible to use other sources, and MapStructure was designed to support a completely different navdb back-end.
And you can in fact even render GeoPDFs and use those as the background layer.
In other words, there's no need to conisder this a showstopper/blocker - progress can be made without 850 support.

If in doubt, it's best to file a feature request to track this properly - but even without core support, a corresponding parser can be written in Nasal (not saying that's a good idea, just saying that's an option)

Either way, you can certainly implement a ton of OANS related functionality (as per the PDF) without requiring taxiway support.

PS: You can indeed use the GroundServices addon (its MapStructure layers) to also display ground networks - all of this is supported without requiring C++ changes.
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 12707
Joined: Tue Mar 25, 2008 9:40 am
Pronouns: THOU

Re: MapStructure OANS Map ? (by Merspieler)

Postby merspieler » Thu Jul 29, 2021 10:36 pm

Hooray wrote in Thu Jul 29, 2021 8:40 pm:But realistically, that's not a real showstopper: The Canvas system is sufficiently flexible to use other sources, and MapStructure was designed to support a completely different navdb back-end.
And you can in fact even render GeoPDFs and use those as the background layer.
In other words, there's no need to conisder this a showstopper/blocker - progress can be made without 850 support.


Um... how is it not a show stopper? Like all decent looking airports (and all I fly from/to) would not work with it currently without a different data source.

So next logical thing for me, if you say no core changes, would be write a apt.dat parser in nasal...

Also why shouldn't I do the core changes first?
Nia (you&, she/her)

Please use gender neutral terms when referring to a group of people!

Be the change you wish to see in the world, be an ally to all!

Join the official matrix space
merspieler
 
Posts: 2241
Joined: Thu Oct 26, 2017 11:43 am
Location: Wish to be in YBCS
Pronouns: you&, she/her
Callsign: you&, she/her
IRC name: merspieler
Version: next
OS: NixOS

Re: MapStructure OANS Map ? (by Merspieler)

Postby Hooray » Fri Jul 30, 2021 1:17 pm

merspieler wrote in Thu Jul 29, 2021 10:36 pm:Um... how is it not a show stopper? Like all decent looking airports (and all I fly from/to) would not work with it currently without a different data source.


Well, you asked originally how to implement an OANS using the MapStructure framework, I shared pointers and code snippets to demonstrate that there are existing "layers" that can be easily reused and adapted/extended for that purpose.
I also shared links to technical documentation covering the functionality of an OANS. Followed up by another snippet/screen shot to demonstrate that you can get pretty far with the current state of things, regardless of apt.dat/850 limitations.

And in fact, once you take a look at those technical docs, you will see that the portion displaying taxiways is only marginal, i.e. there is a bunch of unrelated functionality that you'd need to implement, none of which could be considered a "showstopper" when prototyping/implementing the OANS.

Like I mentioned originally, you could use 3rd party data sources (GeoPDF, shape files, converted raster images or directly Navigraph).
Either way, there's no need to feel "blocked by" the lack of 850 support - which can be either scripted in Nasal space, or discussed on the devel list so that a proper C++ implementation is added.



merspieler wrote in Thu Jul 29, 2021 10:36 pm:So next logical thing for me, if you say no core changes, would be write a apt.dat parser in nasal...
Also why shouldn't I do the core changes first?


I am not saying that, if you want to extend the C++ code and/or write a Nasal parser to just that, please do feel free to do so - I am sure that such changes would be very welcome (even though I'd consider the C++ patch more popular than a corresponding Nasal implementation - since adding 850 support is a long standing idea anyway).

However, even if you are not interested in extending/writing a parser - you can spend time working on unrelated features, without having to be "blocked" by the lack of 850 support - which is why I shared the link to the PDF covering the functionality of an OANS

Writing/porting an apt.dat parser in/to Nasal is probably only relevant if there are no core devs around/interested to discuss/review related patches (which seems unlikely to me).

Either way, the way MapStructure is "structured" :lol: people basically benefit from such additions "automagically" - regardless of who comes up with the corresponding patches.

If in doubt, raise the 850 issues on the devel list and or the issue tracker - if you'd like to discuss writing a parser in Nasal (apt.dat or Navigraph), that might be better discussed on the forum.

Anyway, there are plenty of options to continue with this, without having to write a parser :wink:

https://sourceforge.net/p/flightgear/ma ... /37028967/
Scottt wrote:
Keith wrote:Should anyone want to build a parser consider the current apt.dat to be
garbage ;-) I opened up SUMU in FG Airports and wondered why the
taxiways were missing. After some "looking ganz genau hin" I found out
it is still defined in 715 format and was never migrated. Obviously
genapt850 supports this ancient format or we would fail to regenerate
ws2.0 from the apt.dat.

850 format> We already read the 1100 file format, but do little with the
newer features yet.

cut out the airport outline> Don't believe this is a requirement, but if
it simplifies the shader code we can do the cutting. I'm thinking of
separating the ocean from the land for the same reason.

lex/yacc | flex/bison> The apt.dat is essentially already tokenized and
validation occurs during the upload to the Gateway, so not sure there is
much value in taking on the complexity of lex parsing.

Scott



https://sourceforge.net/p/flightgear/ma ... /37031263/
Scott wrote:FG's airport model already encapsulates all the apt1100 format, but the
newer sections just don't trigger any usage of these features.


FWIW, here's Fred's original posting (dating back to ~2009!), and at the time they were using the hard-coded ground radar for testing apparently (and Stuart having recently committed an "AirportBuilder" mode as part of commit c4942eaa): https://sourceforge.net/p/flightgear/fl ... uilder.cxx

(in other words, it seems we may have more missing bits in place than people think - maybe, it's just the Nasal/cppbind side that needs to be updated?): https://wiki.flightgear.org/Nasal/CppBind

https://sourceforge.net/p/flightgear/ma ... /22744581/
FredB wrote:I committed the support to read new X-Plane 850 file format in
flightgear. That doesn't mean that airports will look different in
current scenery because TerraGear tools have not been updated yet, but
this is the first step to support the format.

Here are two screenshots comparing the ground radar with the different
data :
Image
Image

The Google Maps link: http://tinyurl.com/n9khev
You should notice the smooth curves in the 850 screenshot.

The parser should read current data normally, and nobody should see the
difference until we change the data.
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 12707
Joined: Tue Mar 25, 2008 9:40 am
Pronouns: THOU

Next

Return to Canvas

Who is online

Users browsing this forum: No registered users and 4 guests

cron