# QGIS Land Survey Codification (QLSC) - Specification#

The plugin uses its own exchange format named QLSC (.qlsc) which is in fact a YAML file under the hood.

## Implementation#

The codification files are read and write using the Python YAML implementation (PyYAML), storing the tags into the files, as described in the package documentation.

## Structure#

Here is the typical structure of a codification file:

AllPoints: {Layer: <GEOPACKAGE_PATH>|layername=<LAYERNAME>, isChecked: <true|false>}
CodeSeparator: <A CHARACTER>
Codification:
'<CODE>':
Attributes:
- !!python/tuple [<COLUMN_NAME>, <EXPRESSION or special value>]
Description: '<A DESCRIPTION>'
GeometryType: '<GEOMTERYTYPE FROM THE VALID TYPE>'
Layer:<GEOPACKAGE_PATH>|layername=<LAYERNAME>
ErrorPoints: {Layer: <GEOPACKAGE_PATH>|layername=<LAYERNAME>, isChecked: <true|false>}
BoundingGeometry:
BoundingGeometryType: <CODE_GEOMETRY>
Layer:<GEOPACKAGE_PATH>|layername=<LAYERNAME>
isChecked: true
ParameterSeparator: '<A CHARACTER>'

• AllPoints: the layer that can receive all the points of the survey

• CodeSeparator: the character for separating codes

• Codification: contains all the codes used by the codification according to this convention.

• Attributes: a tuple list (column: expression) for adding attributes into the table

• Description: the code description

• GeometryType: the type of geometry (see available list)

• Layer: the layer that will receive the geometry from the codified survey

• ErrorPoints: the layer that can receive all the error points of the survey

• BoundingGeometry: information on the layer receiving the calculation and the type of the bounding box

• ParameterSeparator: the character for separating the parameters

## Example#

Examples are available in the folder tests/fixtures of the repository. For instance, here is the file used in the demo dataset: