====== Dataset Structure - Structure ====== This page describes the Dataset Structure - Structure panel. {{orbitgis:how_to_find.png?25&nolink |}} [[193:desktop:dataset:properties|Dataset Properties]] > [[193:desktop:dataset:contents:index|Structure]] > Structure {{ :193:desktop:dataset:contents:dataset_properties_structure_180.png?nolink&450|}} ====== Manage Models ====== Add or remove a model in a dataset, Change the spatial type and the point coordinate type. === 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, see [[193:technology:supported_formats:vector:ovf|]].\\ 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. \\ === Spatial Type === For each model the Spatial Type (Spatial Component or Geometry) must be set. 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. - 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 === The type of coordinates (2D / 3D) needs to be set. 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 [[193:technology:core:crs|dataset Coordinate Reference System]]. **2D and 3D objects** \\ [[193:desktop:tools:edit|Drawing new objects]] on the 2D [[193:desktop:map:index|MapCanvas]] in a 3D Model, will result in coordinates with Z = 0. \\ ====== Manage Attribute Sets ====== Add or remove an attribute set in a model **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, see Orbit Vector File. \\ Advantages of multiple sets of attributes : * Attribute Set as result of a joined external database table, see [[110:orbitgis:datasets:contents:join|]]. * Attribute Sets having different content types, like demographic and geographic information. ====== Manage Attributes ====== Add, remove or rename an attribute in an attribute set. Define the correct datatype for an attribute. **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 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). \\ A Float4 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]] . |