Adding to Multiple MapObjects

Very often, more than one mapObject in a LegendBurster project will have the same attribute value or values. The "Add to All ..."* function (button shown on left) makes it easy to transfer these attribute values to all the relevant semantic nets in one operation, often saving a significant amount of time.  ["Add to All ..." is an abbreviation for "Add to all semantic nets whose corresponding shapefile attribute values for the current field are the same".]

Note:  It is essential to understand how to add attributes to an individual mapObject before attempting to use this method of attribution.

The function operates by adding an attribute (or attributes) and its value(s) to the semantic net node in focus, and to all other equivalently placed nodes which have the same .dbf field value (for the field in focus) as the record in focus.  

The attribute value(s) to be added have to be selected from whatever is allowed by the ontology (in contrast to the "Direct Add" method).

All nodes which receive such an addition are coloured red.

For each unique .dbf field "value of interest", this function is used to attribute the semantic nets, starting with the first mapObject, and working progressively through the collection of mapObjects to the last.  Each activation of the function with a new shapefile attribute value will update additional semantic nets, and change their colour to red.

Once all the screen is red (excluding nets for which there were no attribute values to add), all attributes will have been moved from the .dbf field to the semantic nets.  The red colouring can then be removed, in preparation for the next cycle of attributing, by clicking on the "Reset" button, shown on the left.

In the example on the left, "Add to All ..." has been applied to the first mapObject, adding the attribute "Metallogenic_Belt" with value "laoelin".  

Both the added attribute/value pair, and its root node have been coloured red.  No other mapObjects within the field of view have been updated, as no other red indicators are observable.  (Some further down the list may have been updated.)

Note that the user has already clicked the mouse on Map Object 2, with the result that its shapefile attribute value (for the field "in focus") appears in the bottom right corner of the form.

It is based on this value ("Samarka" in the example) that the user will decide what value (or values) to add to all semantic nets that have the value "Samarka".  This will be achieved by using the "Add to All ..." function on Map Object 2.  

The result is shown in the illustration below, where it can be seen that two semantic nets in the field of view have had attributes added:  MapObject 2 and Map Object 7, meaning that no additions will have to be made to Map Object 7.  Others out of the field of view may also have been updated.

The situation after all the visible mapObjects have had their Metallogenic_Belt attributes added is shown below.  Very large volumes of data can be quickly and reliably transferred from shapefiles to semantic nets in this manner  -  reliability being enhanced by the use of colour on the screen to clearly indicate nets which have and have not been updated.

Important Note 1 of 2:  If the shapefile attribute value is actually a collection of values (eg: " copper, lead, zinc"), all three necessary attribute/value pairs can be added in one "Add to All ..." pass.  However, another pass will be needed to add "lead, copper, zinc", even though the same three attribute/value pairs will be added  -  because the two shapefile values are not the same.

Important Note 2 of 2:   If the attributes are being added deeper into the semantic net than to the top level node (ie: to the mapObjects themselves), then the "Add to All ..." procedure will have to be repeated, in order to maintain data integrity, for each unique value assumed by the node to which the attributes are being added.  [The next full release of LegendBurster will have the ability to store stand-alone entities (independent entities which are not mapObjects).  By referring to stand-alone entities, this repetitive attribution step will be avoided, and space will be saved on the database.]