I'm making various improvements to IGCview, including the support for Area turnpoints.
Does anyone have a view on the format I should use to store the task in a file?
Currently IGCview stores the task indirectly, by allowing you to 'save' the currently viewed tracklog (.igc file), and the current task would be embedded as the new IGC file is created, as a series of standard 'C' records in the logfile. This has the advantage that I did *not* define yet another unique file format for IGCview data, but is now limited in that the 'C' record doesn't support area parameters.
Here are a couple of options:
(1) Continue to use the 'C' record, but extend it to include the Area parameters e.g.
'C........,minradius,maxradius,bearing1,bearing2'
I'd assume if any of these values were set then the TP is an Area, rather than a regular turnpoint. IGCview would continue to support the 'regular' C record, and would allow the 'new' record to have blank entries between the commas or have fewer than 4 additional fields (I'd assume the above order, with 0 for a missing field). There is the risk that other IGC analysis software would barf on reading the new 'C' record, rather than simply ignoring it or only interpreting the first X characters it understood.
(2) Forget the 'C' record, and embed XML along the lines of the new IGC waypoint format, extended to include the area parameters, e.g. (using
http://www.fai.org/gliding/gnss/wpformat.pdf)
<task> <tasktitle>Sample task</tasktitle> <waypoint> <code>LA4</code> <wgs84lat>5110.147N</wgs84lat> <wgs84long>00102.555W</wgs84long> <title>Lasham Start S</title> <minradius>0</minradius> <maxradius>5000</maxradius> <bearing1>90</bearing1> <bearing2>210</bearing2> </waypoint> ... </task> Any version of IGCview could still read these IGC files, because it *ignores* records it doesn't understand, and these all start with '<' or ' '. The new version would pick up the new format task ok. If other software was enthusiastic, it could include the multiplicity of other possible fields included in the IGC format, but IGCview would gracefully ignore them. Looking at the sensitivity of other software out there, I'd be amazed if any could successfully read an IGC file containing this embedded XML without aborting the entire logfile load.
In the logfile I could also still store the existing 'C' records, without the area parameters, in addition to the XML, and ignore them if I find a <task>.
A task file would be simply a text file containing just the <task>...</task> XML.
Any feedback, particularly from other IGC software developers?
New features coming in IGCview: (1) Definition and calculation of Area tasks, incuding start and finish cylinders. (2) Task editting by dragging on screen (3) Map underlays (4) A 'split' function to split a trace into two traces, for easier analysis when a task is rounded twice. (5) A waypoint editting and save function. (6) Better web support, e.g. your preferences saved in a cookie so running IGCview from the website makes more sense (you're not stuck with the TP's defined on the website). And IGCview can be set to autoload TP's and multiple logs, so a competition website can be preset to display a day's flights.
Now's your chance to suggest other changes/improvements.
Thanks...Ian Forster-Lewis