6. Attribute Conventions¶
6.1. Attribute Category Example¶
For many functions of AthosGEO View and the derived software AthosGEO Blend it is makes things much easier if there is some clarity about the meaning of different attributes. This is done by assigning a specific category to each one of the attributes of a block model or sampling set. Instead of lengthy explanations, an example will be given in Table 6.1.
BlockId |
KTons |
SiO2 |
Al2O3 |
Fe2O3 |
CaO |
LS |
Geol |
---|---|---|---|---|---|---|---|
1 |
2.5 |
6.1 |
3.1 |
1.1 |
48.1 |
224.2 |
Limestone |
2 |
3.0 |
4.2 |
2.5 |
1.8 |
52.3 |
329.3 |
Limestone |
3 |
3.0 |
21.5 |
18.1 |
9.3 |
7.2 |
8.2 |
Marl |
Total |
8.5 |
10.9 |
8.2 |
4.2 |
35.1 |
82.1 |
Referring to Table 6.1, different columns all need to be handled differently during summarizing, with the results shown in the last row:
- KTons
Tonnages in terms of kilotons (1000 tons) are simply added:\(KTons_{total}=\sum_n KTons_n\)- SiO2, Al2O3, Fe2O3, CaO
Chemical compounds are summerized as tonnage weighted means:\(CaO_{total}=\frac{\sum_n KTons_n CaO_n}{KTons_{total}}\)- LS (lime saturation)
This is a cement specific modulus that is calculated from chemical compounts:\(LS=\frac{100 CaO}{2.8 SiO_2 + 1.18 Al_2O_3 + 0.65 Fe_2O_3}\)For the summary row, it is recalculated from the tonnage weighted means.- Geol, BlockId
These attributes cannot be summarized and will not appear in the summary attribute set
How is is possible that AthosGEO View always “knows” the correct category for each attribute? This is achieved by strictly standardizing the names of the attributes. How attribute categories are related to summarizing operations is explained in more detail in Display Table (and other) Data in Summary Tables.
6.2. Attribute Categories¶
- Direct
These are proportions or percentages, like well known chemical compounds, cost per ton or other values that are related to tonnage.For summarizing, tonnage weighted means will be calculated. In AthosGEO Blend, these attributes can be used in optimization targets (product constraints).
Any attribute that is not explicitly assigned to another attribute type, by filter rule or by containing string values, will be treated as being of this type, so it is the default attribute type.
- Derived
Predefined cement specific derived attributes. They are calculated from chemical compounds (if available) with a special filter. They are also treated properly during summarization and can be used in constraints in AthosGEO Blend.
- Tonnage
For summarizing, tonnages will be simply added. They can also be chosen as the tonnage attribute for the tonnage weighted mean calculation of Direct attributes.
- Weight
Some filters can be applied to only some fraction (percentage) of a block, which can be specified with a Weight attribute.Example: Zone. This attribute would specify how many percent of the block are inside a specific zone.
- Category
This is slightly confusing: There is indeed an attribute category named Category. They are used to classify materials, so during summary calculation Category attributes will be dropped.Category attributes can be either numeric or strings.
Note that in the Summary View it is possible to choose a Category attribute and then “scroll” from one value to the next.
Example: A Category attribute that corresponds to geological units can be either numeric codes (which is better for some filters) or strings (which is more human readable for example in a legend). With a Summary View it is then possible to scroll through the geological units, i.e. display them one by one.
- Others
Some other categories are specified for different purposes within AthosGEO View or AthosGEO Blend:
Coordinate
Angle
Dimension
Index
Period
Range
SpecTonnage
Note
In order to quickly check the types or categories of the different attributes within a model, the Show AttributeTypes filter will display this information in a table.
6.3. Attributes during Import¶
If block models or sampling sets with attributes are read from CSV files, naming of the attributes is less strict than later on within the models. This is a convenience feature for the user.
Note that once all patterns are checked on importing an attribute name, any remaining attribute will remain unchanged and become category Direct.
Note
Attribute names must not contain spaces or other special characters. Accented characters may work, but there is no guarantee.
6.3.1. Case Conversion¶
Standardized names of attributes are case sensitive within the model, but not on import from CSV files. During the import, the names will be converted accordingly, like cao would be converted into CaO.
6.3.2. Alternative Attribute Names¶
During import, some alternative names are recognized and automatically renamed.
Example: The name Tonnage would also be recognized as meaning kilotons and would be renamed as KTons accordingly.
6.3.3. Attribute Name Patterns¶
In some cases, only part of the name needs to be standardized, while the user can attach some descriptive part related to a project.
Example: The attribute name Zone_<..> could become Zone_LeaseA or Zone_Reserve etc. and still be recognized as an attribute of category Weight.
6.3.4. Multi-Component Attributes¶
It is a special feature of ParaView that it allows attributes to have multiple components, the most typical being coordinates with X, Y and Z component. CSV or other table data formats do not support such a feature, so these attributes would be split into several component attributes with names like Coord:X, Coord:Y, Coord:Z, or else Coord:0, Coord:1, Coord:2. These two forms are equivalent in this case. Important is the colon (:) separator between attribute name and component.
6.3.5. Table of Categories and Attributes¶
Category |
Attribute |
Alternatives |
Unit |
Description |
---|---|---|---|---|
Direct |
LOI |
% |
Loss on ignition |
|
Direct |
SiO2 |
% |
||
Direct |
Al2O3 |
% |
||
Direct |
Fe2O3 |
% |
||
Direct |
CaO |
% |
||
Direct |
MgO |
% |
||
Direct |
SO3 |
% |
||
Direct |
K2O |
% |
||
Direct |
Na2O |
% |
||
Direct |
TiO2 |
% |
||
Direct |
Mn2O3 |
% |
||
Direct |
P2O5 |
% |
||
Direct |
Cr2O3 |
% |
||
Direct |
Cl |
% |
||
Direct |
F |
% |
||
Direct |
Hg |
% |
||
Direct |
TOC |
% |
Total organic carbon |
|
Direct |
OfferedPerc |
% |
Offered percentage of a block |
|
Direct |
OfferedPerc_<product> |
% |
Offered percent of a block for a product |
|
Direct |
TakenPerc |
% |
Taken percentage of a block |
|
Direct |
TakenPerc_<product> |
% |
Taken percentage of a block for a product |
|
Direct |
WastedPerc |
% |
Wasted percentage of a block |
|
Direct |
WasteRatio |
% |
Waste ratio for block: wasted tonnage for this block related to taken tonnage |
|
Direct |
VolFactor |
volumefactor, fillingdeg* |
% |
Volume fraction of the block that is not air |
Direct |
<any other> |
|||
Derived |
LS |
Lime saturation |
||
Derived |
SR |
Silica ratio |
||
Derived |
AR |
Alumina ratio |
||
Derived |
ASR |
Alkali sulfur ratio |
||
Derived |
NaEq |
% |
Sodium equivalent |
|
Tonnage |
KTons |
tonnage |
kt |
kilotons = 1000 tons |
Tonnage |
Tons |
tons |
||
Tonnage |
Tons_<product> |
t/kt* |
||
Tonnage |
Offered |
t/kt* |
||
Tonnage |
Offered_<product> |
t/kt* |
||
Tonnage |
Taken |
t/kt* |
||
Tonnage |
Taken_<product> |
t/kt* |
||
Tonnage |
WastedForBlock |
t/kt* |
Wasted tonnage for extracted tonnage in this block |
|
Tonnage |
Wasted |
waste, stripping |
t/kt* |
|
Weight |
Pit |
% |
Percentage of block inside of pit |
|
Weight |
Pit_<..> |
% |
Percentage of block inside of named pit |
|
Weight |
Zone |
% |
Percentage of block inside of zone (delimited by a closed boundary line) |
|
Weight |
Zone_<..> |
% |
Percentage of block inside of named zone |
|
Category |
Code |
Categorizing by numeric or named code |
||
Category |
Code_<..> |
Dto. with additional name |
||
Category |
Geology |
geol<..> |
Geological unit |
|
Category |
Class |
Like Code |
||
Category |
Class_<..> |
Dto. with additional name |
||
Category |
Product |
Product name |
||
Category |
Level |
Block level |
||
Category |
Level_<quarry> |
Block level in specific quarry |
||
Category |
Column |
Block column |
||
Category |
Column_<quarry> |
Block column in specific quarry |
||
Category |
Row |
Block row |
||
Category |
Row_<quarry> |
Block row in specific quarry |
||
Category |
Line |
Like Row |
||
Category |
I |
Like Column |
||
Category |
J |
Like Row |
||
Category |
K |
Like Level |
||
Category |
Cat |
Like Code |
||
Category |
Name |
Classification name |
||
Category |
Start |
begin, open, first |
In AthosGEO Blend for specification of blocks where to start the scheduling |
|
Category |
Force |
In AthosGEO Blend for specification of blocks blocks to be taken in any case for one of the products during optimization or scheduling |
||
Category |
HoleType |
hole_type, sond*meth*, meth*sond* |
Classification attribute for drillholes or sampling sets |
|
Category |
HolePath |
hole_path |
Type of drillhole path - so far ignored and always handled like “linear” |
|
Category |
N_<..> |
On reading from CSV files, all columns with strings that are not otherwise classified are getting a N_ prepended to their name and with this they are classified as Category attributes |
||
Angle |
Angle |
ang*, rot* |
° |
Orientation of block model, counting N-E-S-W |
Angle |
Azimuth |
° |
Orientation of inclined drillhole |
|
Angle |
Dip |
° |
Dip angle of inclined drillhole, 90° for vertically downwards |
|
Coordinate |
Center:X |
center:0, center_0, cent*x, world*x, x*world, x, east* |
Block center X coordinate |
|
Coordinate |
Center:Y |
center:1, center_1, cent*y, world*y, y*world, y, north |
Block center Y coordinate |
|
Coordinate |
Center:Z |
center:2, center_2, cent*z, world*z, z*world, z, alt |
Block center Z coordinate |
|
Coordinate |
Collar:X |
collar:0, collar_0, collar*x, sondage*x |
Drillhole collar X coordinate |
|
Coordinate |
Collar:Y |
collar:1, collar_1, collar*y, sondage*y |
Drillhole collar Y coordinate |
|
Coordinate |
Collar:Z |
collar:2, collar_2, collar*z, sondage*z |
Drillhole collar Z coordinate |
|
Date |
Date |
ISO-Format: YYYY-MM-DD |
||
Dimension |
Size:X |
size:0, size_0, size*x*, dx, width |
Block size in X direction |
|
Dimension |
Size:Y |
size:1, size_1, size*y*, dy, length |
Block size in Y direction |
|
Dimension |
Size:Z |
size:2, size_2, size*z*, dz, height |
Block size in Z direction |
|
Dimension |
Slope:XNeg |
slope:0, slope_0, slope:xneg, slopexneg |
Mining slope angle in negative X axis direction** |
|
Dimension |
Slope:XPos |
slope:1, slope_1, slope:xpos, slopexpos |
Mining slope angle in positive X axis direction** |
|
Dimension |
Slope:YNeg |
slope:2, slope_2, slope:yneg, slopeyneg |
Mining slope angle in negative Y axis direction** |
|
Dimension |
Slope:YPos |
slope:3, slope_3, slope:ypos, slopeypos |
Mining slope angle in positive Y axis direction** |
|
Dimension |
Pref:XNeg |
pref:0, pref_0, pref:xneg, prefxneg |
Mining preference in negative X axis direction** |
|
Dimension |
Pref:XPos |
pref:1, pref_1, pref:xpos, prefxpos |
Mining preference in positive X axis direction** |
|
Dimension |
Pref:YNeg |
pref:2, pref_2, pref:yneg, prefyneg |
Mining preference in negative Y axis direction** |
|
Dimension |
Pref:YPos |
pref:3, pref_3, pref:ypos, prefypos |
Mining preference in positive Y axis direction** |
|
Dimension |
Pref:ZNeg |
pref:4, pref_4, pref:zneg, prefzneg |
Mining preference in negative Z axis direction |
|
Dimension |
NumItems |
numitems |
In summary tables the number of summarized items (blocks etc.) |
|
Dimension |
MaxDepth |
depth, max_depth |
Maximum length of a drillhole |
|
Dimension |
Volume |
vol, volume |
Block volume that is not air |
|
Index |
BlockId |
|||
Index |
Nb:XNeg |
nb:0, nb_0, nb:xneg, nbxneg |
Neighbor block ID in negative X axis direction** |
|
Index |
Nb:XPos |
nb:1, nb_1, nb:xpos, nbxpos |
Neighbor block ID in positive X axis direction** |
|
Index |
Nb:YNeg |
nb:2, nb_2, nb:yneg, nbyneg |
Neighbor block ID in negative Y axis direction** |
|
Index |
Nb:YPos |
nb:3, nb_3, nb:ypos, nbypos |
Neighbor block ID in positive Y axis direction** |
|
Index |
Nb:ZNeg |
nb:4, nb_4, nb:zneg, nbzneg |
Neighbor block ID in negative Z axis direction |
|
Index |
Nb:ZPos |
nb:5, nb_5, nb:zpos, nbzpos |
Neighbor block ID in positive Z axis direction |
|
Name |
Material |
material, corr* |
Material or corrective name |
|
Name |
RowType |
rowtype |
Row type in summary table |
|
Name |
HoleId |
holeid, hole_id, dhid, dhnr, name*hole, sond*name, name*sond* |
Unique ID of a drillhole |
|
Name |
SampleId |
sampleid, samp*id, prob*name, name*prob* |
Unique ID of a sample |
|
Period |
Period |
miningperiod |
||
Period |
FirstPeriod |
First period of taking tonnage from a block |
||
Period |
WastePeriod |
Period where wasted tonnage was taken |
||
Range |
Depth:From |
depth:0, depth_0, depth*from, schicht*von |
Depth range begin of sample within a drillhole |
|
Range |
Depth:To |
depth:1, depth_1, depth*to, schicht*bis |
Depth range end of sample within a drillhole |
|
SpecTonnage |
Density |
dens*, sg, spec* |
Density or specific gravity of material |
* t/kt stands for either tons or ktons (1000 tons).
** direction: negative or positive X or Y direction refers to a model with Angle of 0°. Otherwise, everything is rotated accordingly.