Object semantics |
The semantics of object of a digital vector map contains the attributes (properties, metadata) of the object, similar to the fields of a database. Unlike a database table, different object instances of the same layer can have a different set of attributes, and a number of attributes can be repeated with different values. For example, one object of «forest» type can have the attribute «vegetation type» with the value «pine» and the attribute «average tree thickness», and other object of «forest» type will have the attribute «vegetation type» with the value «birch» and the attribute «vegetation type» with «spruce» value without specifying the thickness of trees. Object semantics consists of a code of the semantic characteristic and its value. Object semantics can be mandatory, affecting the view (also mandatory), possible, general, service, to be repeated. Mandatory semantics values must always be assigned to an object. When changing the semantics, influencing the view, the conventional symbol of the object automatically changes. Possible semantics may be not filled for individual object instances. The assignment of semantics to an object is performed by tools of the Classifier Editor. General semantics can be assigned to any object on a vector map. Service semantics usually are the general one, they have the fixed numeric codes and the predetermined purpose. For example: 31001 THE DISPLAY SIZE OF THE MARK IN PERCENT 31002 RGB MARK DISPLAY COLOR 31003 FONT HEIGHT IN MM 31004 FONT NAME 31007 WEIGHT OF OBJECT COLOR AS A PERCENTAGE 31017 TURN ANGLE OF A VECTOR SIGN 31109 TITLE TEXT IN THE CLUSTER 31201 STREET NAME 31202 HOUSE NUMBER 31203 BLOCK NUMBER 31204 BUILDING NUMBER 31205 POSSESSION NUMBER 31206 STREET CODE 31207 CITY NAME (SETTLEMENT) 31208 CODE OF CITY (SETTLEMENT) IN OKATO (RF) 31209 POSTCODE 32798 OBJECT ID IN THE DATABASE 32799 GUID OBJECT ID 32800 OBJECT CODE 32801 SIGN OF OBJECT HAVING LINK TO SUBORDINATED OBJECT 32802 SIGN OF OBJECT REFERRED TO FROM MAIN OBJECT 32803 SIGN OF OBJECT INCLUDED IN A GROUP OF EQUAL OBJECTS 32804 LINK TO TITLE FROM OBJECT 32805 LINK OF TITLE TO OBJECT 32850 DATE OF OBJECT CREATION 32851 TIME OF OBJECT CREATION 32852 OPERATOR NAME 32853 DATE OF OBJECT UPDATE 32854 TIME OF OBJECT UPDATE 32855 UPDATE OPERATOR NAME 32859 UTC START DATE 32860 UTF-16 TITLE TEXT LONGER THAN 126 CHARACTERS 32861 COMMENT TO THE OBJECT
Object semantics is filled taking into account its type specified in the digital classifier of a vector map. The semantics value can be string, numeral value, date, color, file link, URL-link, GUID, classifier code from the list, calculated mathematical formula, programmable numeric or string formula (combined string). Programmable semantics are implemented through external dynamic linked libraries. User semantics are used for recording arbitrary object properties which are not described in the list of semantics of RSC classifier. User semantics can be created when importing vector data (SHP, KML, MIF, DXF, WFS, GML, JSON, and others), when the field names (keys) of object attributes are not found in the selected RSC classifier. To support such semantics in various tasks (Map Editor, Map Computer, Search for objects and others), temporary semantics are created in the RSC classifier in the range of codes 660000 and higher for the duration of a GIS session. Semantics name is filled by name of fields in the source vector data. This provides work with user-defined semantics and semantics from RSC in a common list in various tasks. When simultaneous opening several maps with one classifier, the list of temporary semantics will be supplemented with user semantics from all maps. When opening different combinations of maps, temporary codes in different sessions may have different values. When exporting vector maps to SXF and TXF files, user semantics is written with code 32862 and data record of the form «field_name:value». When imported, such semantics are transfered back into temporary semantics with the addition of new code to RSC. On the map, semantics are written with codes in the range from 60000 and above. The correspondence between the semantics code on the map and the field name is stored in the map metadata. When opening a map by the list of field names of user semantics, temporal semantics are automatically added into RSC.
|