7.4. Configuring VPF defaults

7.4.1. The problem

Yes, VPF and VMap in particular provide a great volume of information which may help with analysis and will certainly improve the quality of "overview" images in reports.

With this great volume comes a management overhead however. You could have constrained Debrief to only use VMap data, and then only load a sub-set of it (coastlines & depth contours). Instead, however, it loads the full set.

How can you make it easier to use?

Read on.

[Warning]Warning

You'll need to know how to use a text editor and have a rough familiarity with XML or HTML text.

7.4.2. The solution

How does it Debrief handle VPF data?

  • When you save a plot with VPF data loaded, Debrief stores the names of all of the layers loaded, together with the colours and visibility of any features on them.

  • When you re-load an existing session with VPF data, Debrief reads what layers the users wants and only loads those layers.

Accordingly, you could create a datafile containing only the layers you want, and drop this file into Debrief sessions. This should give us a simplified set of VPF layers.

When you drag/drop a DPF file into an existing session, the Layers in the DPF file are copied into the existing session, although the projection, Tote, and GUI parameters are ignored.

7.4.3. How to do it - 1

So what you do is open a new Debrief session and load the smallest REP file you have into it - (just to give your data an "origin").

Then add your VPF layers using the Create VPF Layers button on the Chart Features toolbar. Customise these layers so that the layers/features of interest are made visible and set to your desired colours.

Finally save the view to a plot file in an easily accessible location - call it default_layers.dpf

7.4.4. How to do it - 2

You are now going to edit this file to remove all unnecessary details except for your layers.

Open a text editor (such as Notepad in MS Windows), and load your new .DPF file into it.

The contents of the file should be something like that shown below:

      <?xml version="1.0" encoding="UTF-8"?>

      <plot Created="Thu Jul 19 15:04:41 GMT+01:00 2001" Name="Debrief Plot">
      <session>
      <layers>
      <layer Name="Chart Features" Visible="TRUE">
      <vpf_database Visible="TRUE">
      <vpf_library Visible="TRUE" Name="vmaplv0">
      <vpf_coverage Visible="FALSE" Type="ind" Description="Industry">
      <vpf_feature Visible="FALSE" Type="extracta" Description="Extraction
        Areas">
      <colour Value="WHITE" />
      </vpf_feature>
      <vpf_feature Visible="FALSE" Type="storagep" Description="Storage Point 
        Features">
      <colour Value="WHITE" />
      </vpf_feature>
      <vpf_feature Visible="FALSE" Type="indtxt" Description="Industry Coverage
        Text">
      <colour Value="WHITE" />
      </vpf_feature>
              

..... and so on, until

      <layer Name="Annotations" Visible="TRUE">
      <rectangle Label=" trial" LabelLocation="Left">
      <colour Value="YELLOW" />
      <fontcolour Value="YELLOW" />
      <font Family="Sans Serif" Size="12" Bold="FALSE" Italic="FALSE" />
      <tl>
      <shortLocation Lat="-9.2166417" Long="156.2783694" Depth="0.000" />
      </tl>
      </rectangle>
      </layer>
      </layers>
      <projection Type="Flat" Border="1.050" Relative="FALSE">
      <tl>
      <shortLocation Lat="60.6482349" Long="-15.0669609" Depth="0.000" />
      </tl>
      <br>
      <shortLocation Lat="47.9097909" Long="3.0063981" Depth="0.000" />
      </br>
      </projection>
      <gui>
      <tote />
      <component Type="Stepper">
      <property Name="AutoStep" Value="1000" />
      <property Name="Highlighter" Value="Default Highlight" />
      <property Name="StepLarge" Value="600000.000" />
      <property Name="CurrentTime" Value="691231 235959.999" />
      </component>
      </gui>
      </session>
      <details Text="Saved with Debrief version dated 19 Jul 01 12:44" />
      </plot>
                        

7.4.5. How to do it - 3

As you can see above, the file starts with an entry beginning with the characters <?xml. This line indicates that you are handling XML data.

Next you have a series of lines of data, which start with <plot> and end with </plot>. This format is similar to that found in HTML, and indicates that this file contains details of plot. Inside the <plot> you can see a <session>, which in turn contains a <layers> object, containing a series of <layer> items, followed by a <projection>, and a <gui>.

What you are going to do is strip out everything except the Layers object, and then thin this out.

So, move the cursor to the <layers> line. Delete everything before this (except for the <?xml version="1.0" encoding="UTF-8"?> line.

Now move down to the </layers> line, and delete everything from it to the end of the file.

As you look at the layers, you can see that each layer has a name ( Chart Features is the first one in the example above). It is the Chart Features layer which you want to keep, so navigate down to the next Layer (which may have a track name), and delete that and all others (down to, but not including the </layers> line which marks the end of the data).

Within the Chart Features layer you can see an entry named <vpf_database> - this is the vpf data. Inside the vpf_database are <vpf_library> entries, one for each library loaded (probably just VMaplv0 in your instance).

Inside the <vpf_library> are a series of <vpf_coverage> entries. It is these which you will thin out. Work down through them deleting any you don't want. In your instance you only want to keep the boundaries data, so you will delete all other coverages. So, select blocks of text beginning with <vpf_coverage> and ending with </vpf_coverage> and delete those you don't want.

Finally, delete any <vpf_features> you don't want.

I've deleted all those I don't want, leaving the text below:

      <?xml version="1.0" encoding="UTF-8"?>
      <layers>
      <layer Name="Chart Features" Visible="TRUE">
      <vpf_database Visible="TRUE">
      <vpf_library Visible="TRUE" Name="vmaplv0">
      <vpf_coverage Visible="TRUE" Type="bnd" Description="Boundaries">
      <vpf_feature Visible="TRUE" Type="oceansea" Description="Oceans/Seas">
      <colour Value="BLUE" />
      </vpf_feature>
      <vpf_feature Visible="FALSE" Type="polbndl" Description="Political
        Boundaries">
      <colour Value="WHITE" />
      </vpf_feature>
      <vpf_feature Visible="TRUE" Type="polbnda" Description="Administrative
        Areas">
      <colour Value="WHITE" />
      </vpf_feature>
      <vpf_feature Visible="FALSE" Type="depthl" Description="Depth Contours">
      <colour Value="WHITE" />
      </vpf_feature>
      <vpf_feature Visible="TRUE" Type="coastl" Description="Coastlines">
      <colour Value="CYAN" />
      </vpf_feature>
      </vpf_coverage>
      </vpf_library>
      </vpf_database>
      </layer>
      </layers>
            

7.4.6. At last!

Now, you can drag and drop this file into any Debrief session to instantly give you your "favourite" set of layers.

To test it, follow the steps described above (or copy the text I've just given you into a blank text file and save it as default_layers.dpf). Then create a new Debrief session, load one of your demo tracks ( boat1.rep), then drag in default_layers.dpf. Zoom out, and have a look at the lovely, pre-formatted data.