-
Notifications
You must be signed in to change notification settings - Fork 11
Qgis toolbox button
Giswater toolbox permits executing processes created as database functions. It allows not only to use processes already created on giswater, but also gives an oportunity to advanced users to create their own function, configurate it and use on QGIS Giswater project. In order to find out how to do it, check out section Create new PLSQL function.
In QGIS project user opens a list of available processes grouped in sections, depending on the role of user permissions, defined on sys_function table, field sys_role. Name of a function, that appears on the list is defined on config_toolbox table, field alias. Both tables (sys_function and config_toolbox) are related by using the id of function, assigned on sys_function table.
After selecting a function by double clicking on its name, the additional form appears. This form is defined on config_toolbox table. First part, named input layer, defined on config table on a field functionparams is a json list of layers on which process may be executed, for example {"featureType":["node"]}.
Automatically another section called Selection type is added. Here user may use the entire network to execute the process or only a couple of features previously selected on the layer.
The section Option parameters is prepared for all the additional parameters needed to execute the process. They may be also defined config_toolbox table, field inputparams. Here there is an example of a list of input parameters defintion:
[{"widgetname":"parameter1", "label":"Param 1:", "widgettype":"check", "datatype":"boolean", "layoutname":"grl_option_parameters", "layoutorder":1,"value":"false"},
{"widgetname":"parameter2", "label":"Param 1:", "widgettype":"combo", "datatype":"text", "layoutname":"grl_option_parameters", "layoutorder":2, "comboIds":["DMA","PRESSZONE","SECTOR"], "comboNames":["District Metering Areas (DMA)","PRESSZONE", "SECTOR"], "selectedId":"DMA"},
{"widgetname":"parameter3", "label":"Param 3:", "widgettype":"text", "datatype":"string", "layoutname":"grl_option_parameters", "layoutorder":3, "value":"c_sector"},
{"widgetname":"parameter4", "label":"Param 4:", "widgettype":"spinbox", "datatype":"float", "layoutname":"grl_option_parameters", "layoutorder":4, "value":0.01}]
Json key explanation:
Key | Description | Example |
---|---|---|
widgetname | Parameter name passed to the function | "widgetname":"parameter1" |
label | Label of the parameter, showed to the user on the form | "label":"Param 1:" |
datatype | Data type of parameter | "datatype":"boolean" |
widgettype | Type of widget on which value is inserted | "widgettype":"check" |
comboIds | If widgettype is combo, it's necessary to create a list of available options. ComboIds are values that will be passed to the function | "comboIds":["DMA","PRESSZONE","SECTOR"] |
comboNames | If widgettype is combo, it's necessary to create a list of available options. ComboNames are values that will be showe to the user on form | "comboNames":["District Metering Areas (DMA)","PRESSZONE", "SECTOR"] |
selectedId | If widgettype is combo, it's a combo value selected by default | "selectedId":"DMA" |
value | If widgettype is different than combo, it's a default value of widget | "value":0.0 |
layoutname | Name of layout on which widgets are inserted, it's always grl_option_parameters | "layoutname":"grl_option_parameters" |
layoutorder | Order of widgets inside the form | "layoutorder":4 |
After clicking on Run the function is being executed, passing all the defined parameters. After it finishes the log is showed, with the result of the process. Apart from log some functions return also a graphic representation of the result - a new layer on ToC inside group GW Temporal Layers.