![]() | ![]() | ![]() | Groups |
Groups are very useful in cataloguing the available data and in operating on sets of items. The possible operations are
As groups are also used by GPSMan to present the results of a search as described below, searching for items is an effective way of creating a group with items that are then operated upon from the group window.
Groups can also be created for the items that are or are not currently
displayed on the map. This is done using the Make Group
entry of the Items
menu-button on the map window.
When getting laps from the receiver, runs will be stored as groups.
A group contains a certain number of data items and is represented internally as set of item names (together with their types). Operations on a group may fail or only partially succeed if one of its elements is not currently in the data-base.
Groups can have other groups as elements but one group cannot be an element of itself even if indirectly (in technical terms: groups are well-founded sets).
Clearing from the map an item that belongs to a group that has been displayed will not affect the display-state of the group. To be sure that all the elements of a group are actually displayed, the user should clear the group from the map and then display it again.
Deleting from or adding items to a group will not affect their display-state.
Forgetting a group will delete permanently the group from the data-base but not its elements. This operation is not prevented by the fact that any of its elements cannot be cleared from the map.
Forgetting a group and all its elements will delete permanently not only the group but also all its elements (recursively, i.e., including the elements of groups in the group). The group is deleted even if some of its elements cannot be cleared from the map and is therefore not deleted.
Saving a group (to a GPSMan file) will save all the information on the group and on its elements.
Creating an average waypoint from the waypoints in a group can be made from the group window. The coordinates of the new waypoint will be the averages of the latitudes, longitudes and altitudes of waypoints in the group and its sub-groups (recursively).
Changing the data of waypoints in a group can also be made from the group window in what concerns:
Clusters of waypoints
can be created from a group by taking the waypoints in it (and its
sub-groups, recursively) as centres of the clusters and searching the
data-base for waypoints that fulfil a selected condition for each
centre. The conditions that can be tested are: that the waypoint is
within a given distance range of the centre, or that the waypoint
belongs to the quadrangle of given latitude and longitude ranges whose
middle-point is the centre. It is obvious that the first condition
will be much slower to evaluate than the second, and therefore making
clusters based on quadrangles should be preferred when the number of
waypoints currently defined is large. Each cluster will be created as
a group: its name is of the form Cluster
n, and its remark
has the name of the centre and either the quadrangle dimensions, or
the distance range.
Input/output operations on the elements of a group allow for selecting which items of which types to read or write. In general the user will choose the groups and the item types for the operation. Then GPSMan collects in a list the names of the items of the given types that belong to the selected groups. This list of names is used to perform the I/O operation.
Selecting the "Group" type means that the search for items will be done in the groups that are elements of the selected groups, recursively. In more technical terms, the resulting list may be seen as a flattening of the group structure. In no case the list of names will contain names of groups.
Details of each specific operation are as follows:
mig_at_ncc.up.pt
, DCC-FC & LIACC,
Universidade do Porto![]() | ![]() | ![]() | Groups |