Object Semantics |
|
|
The semantics of a digital map object contain attributes (properties, metadata) of the object, similar to database fields. Unlike a database table, different instances of objects within the same layer can have different sets of attributes, and a number of attributes can be repeated with different values. For example, one object of the "forest" type might have an attribute "vegetation type" with the value "pine" and an attribute "average tree trunk diameter," while another object of the "forest" type might have an attribute "vegetation type" with the value "birch" and an attribute "vegetation type" with the value "spruce" without specifying the trunk diameter. Object semantics consist of a semantic characteristic code and its value. Object semantics can be mandatory (affecting the symbol, which are also mandatory), optional, common, service, or repeatable. Values for mandatory semantics must always be assigned to the object. When semantics affecting the symbol are changed, the object's symbol changes automatically. Optional semantics may be left blank for individual object instances. Assigning semantics to an object is performed using the Classifier Editor tools. Common semantics can be assigned to any object on a vector map. Service semantics are usually common, have fixed numeric codes, and a predefined purpose.
For example: 31001 SYMBOL DISPLAY SCALE IN PERCENT 31002 SYMBOL DISPLAY COLOR RGB 31003 FONT HEIGHT IN MM 31004 FONT NAME 31007 OBJECT COLOR WEIGHT IN PERCENT 31017 VECTOR SYMBOL ROTATION ANGLE 31109 LABEL TEXT IN CLUSTER
31201 STREET NAME 31202 HOUSE NUMBER 31203 BUILDING NUMBER (BLOCK) 31204 STRUCTURE NUMBER 31205 PROPERTY NUMBER 31206 STREET CODE 31207 CITY NAME (SETTLEMENT) 31208 CITY CODE (SETTLEMENT) BY OKATO 31209 POSTAL ZIP CODE
32798 OBJECT IDENTIFIER IN DATABASE 32799 OBJECT IDENTIFIER GUID 32800 OBJECT CLASSIFICATION CODE 32801 FLAG FOR OBJECT HAVING A LINK TO A CHILD OBJECT 32802 FLAG FOR OBJECT BEING REFERENCED BY A MAIN OBJECT 32803 FLAG FOR OBJECT BELONGING TO A GROUP OF EQUAL OBJECTS 32804 LINK TO LABEL FROM OBJECT 32805 LINK TO OBJECT FROM LABEL
32850 OBJECT CREATION DATE (or DATE-TIME of object creation, if this type is set in the RSC for code 32850) 32851 OBJECT CREATION TIME (not used if code 32850 is of DATE-TIME type) 32852 OPERATOR NAME 32853 OBJECT UPDATE DATE (or DATE-TIME of object update, if this type is set in the RSC for code 32853) 32854 OBJECT UPDATE TIME (not used if code 32853 is of DATE-TIME type) 32855 UPDATE OPERATOR NAME 32859 UTC START DATE (automatically calculates the number of days from a given date to the current date with a sign — for planning systems) 32860 LABEL TEXT UTF-16, LONGER THAN 126 CHARACTERS 32861 OBJECT COMMENT
Object semantics are filled according to their type, as defined in the digital classifier of the vector map. The value of a semantic can be a string, number, date, color, file reference, URL link, GUID, classified value from a reference list, a computed mathematical formula, or a programmed numeric or string formula (composite string). Programmable semantics are implemented through external dynamically linked libraries.
User-defined semantics are used to record arbitrary object properties not described in the list of semantics of the RSC classifier. User-defined 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 Calculations, Object Search, and others), temporary semantics are created in the RSC classifier for the duration of the GIS session in the code range 660000 and above. The semantic name is filled according to the field name in the source vector data. This enables working with user-defined semantics and RSC semantics together in a common list across various tasks. When multiple maps with the same classifier are opened simultaneously, the list of temporary semantics will be supplemented with user-defined semantics from all maps. When opening different combinations of maps, temporary codes may have different values in different sessions.
When exporting vector maps to SXF and TXF files, user-defined semantics are written with code 32862 and a data entry of the form "field_name:value". Upon import, such semantics are converted back into temporary semantics with a new code added to the RSC. On the map, semantics are written with codes in the range from 60000 and above. The correspondence between the semantic code on the map and the field name is stored in the map's metadata. When a map is opened, temporary semantics are automatically added to the RSC based on the list of user-defined semantic field names. |