Back to [[110:orbitgis:datasets:contents:index|]]\\ Back to [[110:technologies:basic_concepts:dataset_structure|]]
====== Dataset Structure ====== Via the Structure tab in the Dataset Structure Contents panel one can edit the dataset structure : Models, Attribute Sets and Attributes. Some changes may not be saved : \\ * The changes are not supported by the data resource : [[110:technologies:basic_concepts:dataset_structure|]] * The user has no permission to change the resource file or dataset structure. {{ datasetstructure_structure.png?nolink|}} ====== Page Index ====== * [[110:orbitgis:datasets:contents:structure#Manage Models in Dataset]] \\ Add or remove a model in a dataset, Change the spatial type and the point coordinate dimensions. * [[110:orbitgis:datasets:contents:structure#Manage Attribute Sets within Model]] \\ Add or remove an attribute set in a model * [[110:orbitgis:datasets:contents:structure#Manage Attributes within Attribute Set]] \\ Add, remove or rename an attribute in an attribute set. Define the correct datatype for an attribute \\ ====== Manage Models in Dataset ====== Each dataset needs to have at least one model at all time. {{structure_manage_models2.png|}}\\ **Add or Remove Models** \\ - Select an existing model from the left panel - Add or Remove a model using the corresponding buttons. **Multiple models** \\ Multiple models is not supported by all data storage formats : [[110:technologies:basic_concepts:dataset_structure|]].\\ For each model the Spatial Type (Spatial Component or Geometry) and the type of coordinates (2D / 3D) needs to be set. \\ \\ Advantages of multiple models : * one dataset with objects of different geometry. \\ E.g. roadmarks consists of areas, lines and points. Multi model datasets reduce the number of resource files which simplifies the overall data management and data consultation. * Cad resources like .dwg/.dxf (Autocad) and .dgn (Microstation) consist almost always of multiple layers. \\ Orbit supports dwg,dxf and dgn files via the [[110:technologies:resources:vector:fme|FME engine]]. **Spatial Component**\\ For each model the Spatial Type (Spatial Component or Geometry) and the type of coordinates (2D / 3D) needs to be set. ==== Spatial Type ==== All objects from one model will have the same Spatial Component or Geometry : * Point * Line or polylines. Each line can contain an unlimited number of vertices. * Area or Closed surface. Each area can contain an unlimited number of vertices but the object will be closed. **Edit Spatial Type** \\ It is only possible to change the spatial type of a model if the selected model doesn't contain any object : - Select the model from the left panel and - Select the required spatial type. \\ The drop down list will be grayed out if it is impossible to modify the geometry due to existing objects. ==== Coordinate ==== All objects from one model will have the same type of coordinates for each object point or vertex : * 2D : [X,Y] corresponding to classic 2D data. * 2D M : [X,Y,M] similar to 2D but with the storage of a additional measure value for each vertex. * 3D : [X,Y,Z] corresponding to classic 3D data. * 3D M : [X,Y,Z,M] similar to 3D but with the storage of a additional measure value for each vertex. **M-coordinate** \\ The use of a Measure value dates from the early beginnings of GIS and is nowadays rarely used. \\ The possibility to define an Attribute component is far more powerful to handle addition non spatial information. \\ \\ **Coordinate System** \\ The stored coordinate values are determined by the [[110:technologies:crs:crs_orbit|dataset Coordinate Reference System]]. \\ \\ **2D and 3D ojbects** \\ [[110:orbitgis:tools:editing:overview|Drawing new objects]] on the 2D [[110:orbitgis:mapcanvas:index|MapCanvas]] in a 3D Model, will result in coordinates with Z = 0. \\ Orbit has 2 extensions to measure and create 3D objects : * [[110:photogrammetry:strabo:index|]] : via Photogrammetry * [[110:mobile_mapping:desktop:index |]] : via mobile mapping (Imagery and or LiDAR) ====== Manage Attribute Sets within Model ====== {{structure_manage_attribute_set2.png|}}\\ **Add or Remove Attribute Set** - Select an Attribute Set from the left panel - Add or Remove using the corresponding buttons **Multiple Attribute Sets** \\ There is no limitation nor restriction on the number of Attribute Sets within one Model but be wise. \\ Multiple Attribute Sets for one model is not supported by all vector data storage formats : [[110:technologies:basic_concepts:dataset_structure|]]. \\ Advantages of multiple sets of attributes e.g. a dataset that is joined with an external (database) table, see [[110:orbitgis:datasets:contents:join|]]. \\ \\ **Attribute Set Names** \\ Normally, each model will have one or more attribute set. \\ The name of the first attribute set will be by default "Attributes". \\ It is wise not to change this default name because other GIS applications may expect this default name "Attributes". \\ One can change the user name via the panel [[110:orbitgis:datasets:contents:naming|Naming]]. \\ \\ **Example** \\ Dataset structure of an [[110:technologies:resources:vector:ovf|ovf]] containing the countries of the world \\ {{structure_manage_attribute_set_example.png?nolink|}}\\ In the example 2 attribute sets are defined. \\ The 1st set contains the attributes with a geographic value, the 2nd set with the demographic information. ====== Manage Attributes within Attribute Set ====== In 'Manage Attributes in Attribute Set' one can add, edit or remove the attributes in an attribute set. {{structure_attribute_rules.png|}}\\ **Add an attribute** - select the required attribute set in the dataset model from the left pane from the dataset structure contents tab - enter a unique and clear attribute name - specify the attribute datatype - click the "Add" button to complete the action **Edit an attribute** - select the attribute in the attribute set - edit the attribute parameters, cfr Add an attribute - click the "Set" button to edit the attribute Be aware attribute values may change depending the selected datatype.\\ **Remove an attribute** - select the attribute in the attribute set - edit the attribute parameters, cfr Add an attribute - click the "Remove" button to delete the attribute ===== Attribute Datatype ===== The datatype defines the type of attribute values and how they will be stored. ^ Datatype ^ Description ^ | String | Sequences of characters. \\ Every character consumes two bytes (1 byte = 8 bits ). Each combination of bits represents a certain character (character encoding). \\ There are are several systems for character encoding. Orbit uses the commonly used [[http://www.unicode.org|unicode standard]]. | | Boolean | Value true or false. \\ A Boolean can be stored with one bit ( 0 or 1) | | Int1 | Integer value in range -128 to 127. \\ An Int1 uses one byte (1 byte = 8 bits). One byte can contain 256 different values, range from -128 to 127). \\ Any value outside this range will be translated to a value in range, more information [[http://en.wikipedia.org/wiki/Arithmetic_overflow|Wikipedia Arithmetic overflow]] | | Int2 | Integer value in range -32,768 to 32,767 \\ Two bytes, 65536 different values | | Int4 | Integer value in range -2,147,483,648 to 2,147,483,647 \\ Four bytes, 4294967296 different values | | Int8 | Integer value in range -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. \\ Eight bytes, 18,446,744,073,709,551,616 different values | | Float4 | Decimal number or approximate numeric data using four bytes (Single). \\ An Float4 uses uses four bytes. Unlike integers, the storage capacity is divided into three segments : \\ (1) 8 bits are used for the exponent, \\ (2) 23 bits are used for the significant part and \\ (3) one bit is reserved for the sign. \\ E.g : -1278.105 sign -, significant part 1278 and exponent 5 = value -127800000. \\ More information about single floating point numbers : [[http://en.wikipedia.org/wiki/Single_precision|Wikipedia Single precision]]. | | Float8 | Decimal number or approximate numeric data using eight bytes (Double). \\ More information about double floating point numbers : [[http://en.wikipedia.org/wiki/Double_precision|Wikipedia Double precision]] . | ===== Attribute Rules ===== An Attribute value can be calculated or constrained automatically by using an [[110:orbitgis:datasets:contents:rules|attribute rule]]. ===== View Attributes ===== Attributes and Attrbute Sets can be viewed from * the [[110:orbitgis:inspector:object:index|Object Inspector]] > Object Focus or * using the [[110:orbitgis:datasets:attribute_table:index|Attribute Table view]]