Naming conventions

From ObjectVision

Revision as of 14:40, 20 November 2019 by Martin (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)
Jump to: navigation, search

To make configurations clear (also for non-developers), maintainable and transferable, it is strongly recommended to follow the conventions for naming your tree items.

The conventions are often not binding, the GeoDMS will not generate syntax errors if the conventions are not complied with.

Contents

General

  • Limit the length of tree item names: Use the label, description or url property for longer names and/or extra descriptions and prevent redundancy in naming of tree items (see next dot).
  • Prevent redundancy in full tree item names: An item is defined by it's full name, not only by the direct name in it's parent container. Don't absorb information in a name which is already part of a direct or indirect parent item, see example:
container InhabitantsPerRegion
{
    container Year1999
    { 
        attribute<nrInhabitants> InhGroningen1999 (region);
        attribute<nrInhabitants> InhFriesland1999   (region);
        attribute<nrInhabitants> InhDrenthe1999     (region);
    }
}

In this example two types of redundancies occur:

  1. The characters: Inh (number inhabitants) are part of each attribute name, but number of inhabitants is already the name of an indirect parent.
  2. The year 1999 is repeated in each attribute name.

The preferable configuration is:

container InhabitantsPerRegion
{
    container Year1999
    { 
        attribute<nrInhabitants> Groningen (region);
        attribute<nrInhabitants> Friesland (region);
        attribute<nrInhabitants> Drenthe   (region);
    }
}

The full name of the second attribute is now: InhabitantsPerRegion/Year1999/Friesland. This name contains all relevant and no redundant information.

The exception to this rule is the case where tree item names would only consist of numeric characters. The next example illustrates this:

container LandUse
{ 
   attribute<ha> lu1990 (Nl100mGrid);
   attribute<ha> lu2000 (Nl100mGrid);
   attribute<ha> lu2010 (Nl100mGrid);
}

The abbreviation lu means land use and is as redundant with the parent container name. Tree item names 1990, 2000, 2010 are however no valid tree item names, this type of redundancy is acceptable.

  • Use the postfix: _rel in naming relations, e.g. region_rel as attribute name for the relation of a building to a region
  • Name objects singular, e.g. airport in stead of airports and road in stead of roads
  • Use capitals for acronyms, e.g. NIP (for Nederland in Plannen)
  • Use for abbreviation lower-case letters, e.g. lu for land use
  • Limit tree item names to the most relevant information, e.g.: heather instead of heathland
  • In conjunctions, name first the generic followed by more specific information, e.g.: agr_cattle, lu_labour_office. The information after the hyphen _ indicates a further specification or limiting condition. In case no alternatives are available, a liberal approach is allowed, e.g. wet_highpeatsoil or wet_peatsoil_high. As an alternative, the conjunction can also be composed with the first elements in lower-case letters and the next elements starting with a capital, e.g. luModel, luLumos
  • Combinations of concepts can be combined in one name, e.g. SocCultural.

Units

In a GeoDMS configuration three types of units are distinguished:

  1. Quantity units for quantity data items expressed in values units like meter or euro.
  2. Class units for classified data (like soil types, region keys) or for data to be classified.
  3. Geographical domains as municipality or NlGrid100m.

These different unit types are configured in different containers, often called Units, Classifications and Geography.

Quantity Units

  • Configure quantity units in a units container, preferably as one of the first configured containers.
  • Use as much as possible si units or monetary units as base units. Derive other units as square meter from base units with expressions.
  • Use the following naming conventions for si units and factors:

Quantity

Unit

Symbol

Length

meter

m

Mass

kilogram

kg

Time

seconde

s

Elektric current

ampere

A

Temperature

kelvin

K

Qauntity matery

mol

mol

light intensity

candela

cd


Factor

name

Symbol

10-24

yocto

y

10-21

zepto

z

10-18

atto

a

10-15

femto

f

10-12

pico

p

10-9

nano

n

10-6

micro

µ (mi)

10-3

milli

m

10-2

centi

c

10-1

deci

d

101

deka

da

102

hecto

h

103

kilo

k

106

Mega

M

109

Giga

G

1012

Tera

T

1015

Peta

P

1018

Exa

E

1021

Zetta

Z

1024

Yotta

Y

  • Use the prefix Nr for numbers, like NrInhabitants, NrResidences.
  • Use the range property to specify the range of floating point units, if known and different from the default range of the value type,
    see value types for the range of the value types.
  • Use the NrOfRows property to specify the range of integer units, if known.

Class Units

  • Configure class units in a Classifications container.
  • Use the NrOfRows property to indicate the number or classes.
  • As subitems of a class unit, the following attributes are often configured:
    • A ClassBreaks item, with the class boundaries translated into class numbers. The DialogType property for this attribute need to be configured with the value: Classification. Example:
attribute<km> ClassBreaks: DialogType = "Classification",
   [0,200,400,800]; 

The values unit of this classes item (in the example km) should correspond with the values unit of the data to be classified. The first class gets the value 0, the second class a value 1 etc.

For classified data no classes item need to be configured (think e.g. about region keys).

    • A Label item, with the labels used for the classes (in the legend of the map view and in the table view). The DialogType property for this attribute should be configure with as value:LabelText. Example:
attribute<string> Label: DialogType = "LabelText",
    ['0 - 200','200 - 400','400 - 800','> 800']; 

The values unit of this Label item is of the string values unit.

    • A set of possible style items for the visualisation of the classes in a map view. These are attributes configuring the Visualisation Styles for each class. Example:
attribute<uint32> SymbolColor: DialogType = "SymbolColor",
   [rgb(128,255,0),rgb(0,128,0),rgb(0,64,128),rgb(255,0,0)]; 

This item configures the used symbol colors for each class. See Visualisation Styles for the possible style items.

Personal tools