interface
interface
common
This module contains common logic, shared beyond all specialized parts of the QGIS-Server-Light interface.
BBox
dataclass
Bases: BaseInterface
Source code in src/qgis_server_light/interface/common.py
171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 | |
x_max: float = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
x_min: float = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
y_max: float = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
y_min: float = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
z_max: float = field(default=0.0, metadata={'type': 'Element'})
class-attribute
instance-attribute
z_min: float = field(default=0.0, metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(x_min: float, x_max: float, y_min: float, y_max: float, z_min: float = 0.0, z_max: float = 0.0) -> None
from_list(bbox_list: List[float]) -> BBox
staticmethod
Takes a list representation of a BBox in the form
[
Source code in src/qgis_server_light/interface/common.py
219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 | |
from_string(bbox_string: str) -> BBox
staticmethod
Takes a CSV string representation of a BBox in the form
'
Source code in src/qgis_server_light/interface/common.py
192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 | |
to_2d_list() -> list
Source code in src/qgis_server_light/interface/common.py
186 187 | |
to_2d_string() -> str
Source code in src/qgis_server_light/interface/common.py
189 190 | |
to_list() -> list
Source code in src/qgis_server_light/interface/common.py
180 181 | |
to_string() -> str
Source code in src/qgis_server_light/interface/common.py
183 184 | |
BaseInterface
dataclass
This class should be used as base class for all dataclasses in the interface. It offers useful methods to handle exposed content in a centralized way. Mainly for logging redaction.
Since dataclasses gets a repr method installed automatically when they are created, a dataclass inheriting from this base class has to be defined as follows:
@dataclass(repr=False)
class Config(BaseInterface):
id: int = field(metadata={"type": "Element"})
secure: str = field(metadata={"type": "Element"})
long_content: str = field(metadata={"type": "Element"})
@property
def shortened_fields(self) -> set:
return {"long_content"}
@property
def redacted_fields(self) -> set:
return {"secure"}
This way, when an instance of this example class gets logged somewhere it the output will be redacted, meaning the logging output might look like this:
Config(id=1, secure=**REDACTED**, long_content=abc12...io345)
Source code in src/qgis_server_light/interface/common.py
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | |
redacted_fields: set
property
Field which contents should get redacted before printing them on the log. This is mainly used to prevent passwords in logs.
Returns:
-
set–The set of field names which should be redacted
shorten_limit: int
property
The limit to which the content of a field should be shortened.
Returns:
-
int–The limit.
shortened_fields: set
property
Fields which should be shortened to a length, this is manly useful for large content fields with BLOB etc.
Returns:
-
set–The set field names which should be shortened.
__init__() -> None
__repr__()
Source code in src/qgis_server_light/interface/common.py
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | |
PgServiceConf
dataclass
Bases: BaseInterface
A typed definition of the pg_service.conf definition which might be used.
Source code in src/qgis_server_light/interface/common.py
145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | |
application_name: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
client_encoding: str = field(default='UTF8', metadata={'type': 'Element'})
class-attribute
instance-attribute
dbname: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
host: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
name: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
password: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
port: int | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
redacted_fields: set
property
service: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
sslmode: SslMode = field(default=(SslMode.PREFER), metadata={'type': 'Element'})
class-attribute
instance-attribute
user: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(name: str, host: str | None = None, port: int | None = None, user: str | None = None, dbname: str | None = None, password: str | None = None, sslmode: SslMode = SslMode.PREFER, application_name: str | None = None, client_encoding: str = 'UTF8', service: str | None = None) -> None
RedactedString
This special string class can be used to handle secret strings in the application. It works like a normal string but in case it's used to print or log its value is not reveled to the output.
Source code in src/qgis_server_light/interface/common.py
103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | |
__format__(format_spec)
Source code in src/qgis_server_light/interface/common.py
119 120 | |
__init__(value, redacted_text='**REDACTED**')
Source code in src/qgis_server_light/interface/common.py
109 110 111 | |
__json__()
Source code in src/qgis_server_light/interface/common.py
122 123 | |
__repr__()
Source code in src/qgis_server_light/interface/common.py
116 117 | |
__str__()
Source code in src/qgis_server_light/interface/common.py
113 114 | |
reveal()
Allows access to the original value when necessary.
Returns:
-
–
The secret string.
Source code in src/qgis_server_light/interface/common.py
125 126 127 128 129 130 131 132 133 | |
SslMode
Bases: str, Enum
Source code in src/qgis_server_light/interface/common.py
136 137 138 139 140 141 142 | |
ALLOW = 'allow'
class-attribute
instance-attribute
DISABLE = 'disable'
class-attribute
instance-attribute
PREFER = 'prefer'
class-attribute
instance-attribute
REQUIRE = 'require'
class-attribute
instance-attribute
VERIFY_CA = 'verify-ca'
class-attribute
instance-attribute
VERIFY_FULL = 'verify-full'
class-attribute
instance-attribute
Style
dataclass
Bases: BaseInterface
Source code in src/qgis_server_light/interface/common.py
246 247 248 249 250 251 252 253 | |
definition: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
name: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
shortened_fields: set
property
__init__(name: str, definition: str) -> None
dispatcher
common
Status
Bases: Enum
Source code in src/qgis_server_light/interface/dispatcher/common.py
4 5 6 7 8 | |
FAILURE = 'failed'
class-attribute
instance-attribute
QUEUED = 'queued'
class-attribute
instance-attribute
RUNNING = 'running'
class-attribute
instance-attribute
SUCCESS = 'succeed'
class-attribute
instance-attribute
redis_asio
This contains the interface definition about how a job info is passed around a redis queue.
RedisQueue
Source code in src/qgis_server_light/interface/dispatcher/redis_asio.py
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 | |
client = redis_client
instance-attribute
job_channel_name: str = 'notifications'
class-attribute
instance-attribute
job_duration_key: str = 'duration'
class-attribute
instance-attribute
job_info_key: str = 'info'
class-attribute
instance-attribute
job_info_type_key: str = 'info_type'
class-attribute
instance-attribute
job_last_update_key: str = f'{job_timestamp_key}.last_update'
class-attribute
instance-attribute
job_queue_name: str = 'jobs'
class-attribute
instance-attribute
job_status_key: str = 'status'
class-attribute
instance-attribute
job_timestamp_key: str = 'timestamp'
class-attribute
instance-attribute
__init__(redis_client: redis_aio.Redis) -> None
Source code in src/qgis_server_light/interface/dispatcher/redis_asio.py
48 49 50 51 52 53 | |
create(url: str)
classmethod
Source code in src/qgis_server_light/interface/dispatcher/redis_asio.py
55 56 57 58 | |
post(job_parameter: QslJobParameterRender | QslJobParameterFeatureInfo | QslJobParameterLegend | QslJobParameterFeature, to: float = 10.0) -> tuple[JobResult, str]
async
Posts a new runner to the runner queue and waits maximum timeout seconds to complete.
Will return a JobResult if successful or raise an error.
Parameters:
-
job_parameter(QslJobParameterRender | QslJobParameterFeatureInfo | QslJobParameterLegend | QslJobParameterFeature) –The parameter for the job which should be executed.
-
to(float, default:10.0) –The timeout a job is expected to be waited for before canceling job execution.
Source code in src/qgis_server_light/interface/dispatcher/redis_asio.py
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 | |
set_job_runtime_status(job_id, pipeline: Pipeline, status: str, start_time: float)
async
Source code in src/qgis_server_light/interface/dispatcher/redis_asio.py
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | |
exporter
api
ExportParameters
dataclass
Bases: BaseInterface
The serializable request parameters which are accepted by the exporter service.
Source code in src/qgis_server_light/interface/exporter/api.py
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | |
mandant: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
output_format: str = field(metadata={'type': 'Element'}, default='json')
class-attribute
instance-attribute
pg_service_configs: list[PgServiceConf] = field(metadata={'type': 'Element'}, default_factory=list)
class-attribute
instance-attribute
pg_service_configs_dict: dict
property
project: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
unify_layer_names_by_group: bool = field(metadata={'type': 'Element'}, default=False)
class-attribute
instance-attribute
__init__(mandant: str, project: str, unify_layer_names_by_group: bool = False, output_format: str = 'json', pg_service_configs: list[PgServiceConf] = list()) -> None
ExportResult
dataclass
Bases: BaseInterface
The serializable response which is provided by the exporter service.
Source code in src/qgis_server_light/interface/exporter/api.py
42 43 44 45 46 47 48 | |
successful: bool = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(successful: bool) -> None
extract
This module contains all interface definition to translate from QGIS project to QGIS-Server-Light logic and to write the JSON export of the QGIS project
AbstractDataset
dataclass
Bases: LayerLike
Source code in src/qgis_server_light/interface/exporter/extract.py
92 93 94 | |
title: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(id: str, name: str, title: str) -> None
Config
dataclass
Bases: BaseInterface
Source code in src/qgis_server_light/interface/exporter/extract.py
635 636 637 638 639 640 | |
datasets: Datasets = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
meta_data: MetaData = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
project: Project = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
tree: Tree = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(project: Project, meta_data: MetaData, tree: Tree, datasets: Datasets) -> None
Crs
dataclass
Bases: BaseInterface
Source code in src/qgis_server_light/interface/exporter/extract.py
97 98 99 100 101 102 103 104 105 | |
auth_id: str = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
ogc_uri: str = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
ogc_urn: str = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
postgis_srid: int = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(auth_id: str = None, postgis_srid: int = None, ogc_uri: str = None, ogc_urn: str = None) -> None
Custom
dataclass
Bases: DataSet
Source code in src/qgis_server_light/interface/exporter/extract.py
523 524 525 | |
__init__(id: str, name: str, title: str, source: DataSource, driver: str, bbox: BBox | None = None, bbox_wgs84: BBox | None = None, crs: Crs | None = None, styles: List[Style] = list(), minimum_scale: float | None = None, maximum_scale: float | None = None, style_name: str = 'default', is_spatial: bool = True) -> None
DataSet
dataclass
Bases: AbstractDataset
Source code in src/qgis_server_light/interface/exporter/extract.py
465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 | |
bbox: BBox | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
bbox_wgs84: BBox | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
crs: Crs | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
driver: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
is_spatial: bool = field(default=True, metadata={'type': 'Element'})
class-attribute
instance-attribute
maximum_scale: float | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
minimum_scale: float | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
source: DataSource = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
style_name: str = field(default='default', metadata={'type': 'Element'})
class-attribute
instance-attribute
styles: List[Style] = field(default_factory=list, metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(id: str, name: str, title: str, source: DataSource, driver: str, bbox: BBox | None = None, bbox_wgs84: BBox | None = None, crs: Crs | None = None, styles: List[Style] = list(), minimum_scale: float | None = None, maximum_scale: float | None = None, style_name: str = 'default', is_spatial: bool = True) -> None
get_style_by_name(name: str) -> Style | None
Source code in src/qgis_server_light/interface/exporter/extract.py
478 479 480 481 482 | |
style() -> Style | None
Source code in src/qgis_server_light/interface/exporter/extract.py
484 485 | |
DataSource
dataclass
Bases: BaseInterface
Source code in src/qgis_server_light/interface/exporter/extract.py
427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 | |
definition: PostgresSource | WmtsSource | WmsSource | OgrSource | GdalSource | WfsSource | VectorTileSource | XYZSource | None
property
gdal: GdalSource | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
ogr: OgrSource | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
postgres: PostgresSource | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
vector_tile: VectorTileSource | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
wfs: WfsSource | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
wms: WmsSource | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
wmts: WmtsSource | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
xyz: XYZSource | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(postgres: PostgresSource | None = None, wmts: WmtsSource | None = None, wms: WmsSource | None = None, ogr: OgrSource | None = None, gdal: GdalSource | None = None, wfs: WfsSource | None = None, vector_tile: VectorTileSource | None = None, xyz: XYZSource | None = None) -> None
Datasets
dataclass
Bases: BaseInterface
Source code in src/qgis_server_light/interface/exporter/extract.py
615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 | |
custom: list[Custom] = field(default_factory=list, metadata={'type': 'Element'})
class-attribute
instance-attribute
group: list[Group] = field(default_factory=list, metadata={'type': 'Element'})
class-attribute
instance-attribute
raster: list[Raster] = field(default_factory=list, metadata={'type': 'Element'})
class-attribute
instance-attribute
vector: list[Vector] = field(default_factory=list, metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(vector: list[Vector] = list(), raster: list[Raster] = list(), custom: list[Custom] = list(), group: list[Group] = list()) -> None
Field
dataclass
Bases: BaseInterface
Transportable (serializable) form of a QGIS vector job_layer_definition fiel (attribute). It contains the information of the original data datatype and its translated versions and the editor widget one as well.
Attributes:
-
name(str) –Machine readable name of the field
-
type(str) –Original type as defined by data source (PostGIS, GPKG, etc.)
-
is_primary_key(bool) –if the field is considered to be primary key.
-
type_wfs(Optional[str]) –Translated type for further usage. Based on the simple types of XSD spec.
-
type_oapif(Optional[str]) –Translated type based on the types of the OpenAPI Spec
-
type_oapif_format(Optional[str]) –Format of the above-mentioned type based on the OpenAPI Spec
-
alias(Optional[str]) –Human readable name.
-
comment(Optional[str]) –Field description.
-
nullable(bool) –If this field can be NULL or not.
-
length(Optional[int]) –The limitation in length on the field value.
-
precision(Optional[int]) –The precision of the field value (float types)
-
editor_widget_type(Optional[str]) –The original type how it is defined in the QGIS form.
-
editor_widget_type_wfs(Optional[str]) –The translated type based on the simple types of XSD spec.
-
editor_widget_type_oapif(Optional[str]) –Translated type based on the types of the OpenAPI Spec
-
editor_widget_type_oapif_format(Optional[str]) –Format of the above-mentioned type based on the OpenAPI Spec
Source code in src/qgis_server_light/interface/exporter/extract.py
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | |
alias: Optional[str] = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
comment: Optional[str] = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
editor_widget_type: Optional[str] = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
editor_widget_type_oapif: Optional[str] = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
editor_widget_type_oapif_format: Optional[str] = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
editor_widget_type_wfs: Optional[str] = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
is_primary_key: bool = field(default=False, metadata={'type': 'Element'})
class-attribute
instance-attribute
length: Optional[int] = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
name: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
nullable: bool = field(default=True, metadata={'type': 'Element'})
class-attribute
instance-attribute
precision: Optional[int] = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
type: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
type_oapif: Optional[str] = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
type_oapif_format: Optional[str] = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
type_wfs: Optional[str] = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(name: str, type: str, is_primary_key: bool = False, type_wfs: Optional[str] = None, type_oapif: Optional[str] = None, type_oapif_format: Optional[str] = None, alias: Optional[str] = None, comment: Optional[str] = None, nullable: bool = True, length: Optional[int] = None, precision: Optional[int] = None, editor_widget_type: Optional[str] = None, editor_widget_type_wfs: Optional[str] = None, editor_widget_type_oapif: Optional[str] = None, editor_widget_type_oapif_format: Optional[str] = None) -> None
GdalSource
dataclass
Bases: Source
Source code in src/qgis_server_light/interface/exporter/extract.py
127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 | |
layer_name: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
path: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
remote
property
to_qgis_decoded_uri: dict
property
vsi_prefix: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(path: str, layer_name: str | None = None, vsi_prefix: str | None = None) -> None
from_qgis_decoded_uri(decoded_uri: dict)
classmethod
Source code in src/qgis_server_light/interface/exporter/extract.py
146 147 148 149 150 151 152 | |
Group
dataclass
Bases: AbstractDataset
Source code in src/qgis_server_light/interface/exporter/extract.py
528 529 530 | |
__init__(id: str, name: str, title: str) -> None
LayerLike
dataclass
Bases: BaseInterface
Source code in src/qgis_server_light/interface/exporter/extract.py
15 16 17 18 | |
id: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
name: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(id: str, name: str) -> None
MetaData
dataclass
Bases: BaseInterface
Source code in src/qgis_server_light/interface/exporter/extract.py
569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 | |
author: Optional[str] = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
categories: Optional[List[str]] = field(default_factory=list, metadata={'type': 'Element'})
class-attribute
instance-attribute
creationDateTime: str = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
language: Optional[str] = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
links: Optional[List[str]] = field(default_factory=list, metadata={'type': 'Element'})
class-attribute
instance-attribute
service: Service = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(service: Service, links: Optional[List[str]] = list(), language: Optional[str] = None, categories: Optional[List[str]] = list(), creationDateTime: str = None, author: Optional[str] = None) -> None
__post_init__()
Source code in src/qgis_server_light/interface/exporter/extract.py
590 591 592 | |
OgrSource
dataclass
Bases: GdalSource
Source code in src/qgis_server_light/interface/exporter/extract.py
155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 | |
encoded_uri_separator: str
property
layer_id: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
subset: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
to_qgis_decoded_uri: dict
property
__init__(path: str, layer_name: str | None = None, vsi_prefix: str | None = None, layer_id: str | None = None, subset: str | None = None) -> None
from_qgis_decoded_uri(decoded_uri: dict)
classmethod
Source code in src/qgis_server_light/interface/exporter/extract.py
169 170 171 172 173 174 175 176 177 178 | |
PostgresSource
dataclass
Bases: Source
Source code in src/qgis_server_light/interface/exporter/extract.py
308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 | |
check_primary_key_unicity: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
dbname: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
geometry_column: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
host: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
key: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
password: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
port: int | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
redacted_fields: set
property
remote
property
schema: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
service: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
sql: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
srid: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
ssl_mode_text: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
sslmode: int | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
table: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
to_qgis_decoded_uri: dict
property
type: int | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
username: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(key: str, schema: str, table: str, geometry_column: str | None = None, dbname: str | None = None, host: str | None = None, password: str | None = None, port: int | None = None, type: int | None = None, username: str | None = None, srid: str | None = None, sslmode: int | None = None, ssl_mode_text: str | None = None, service: str | None = None, check_primary_key_unicity: str | None = None, sql: str | None = None) -> None
from_qgis_decoded_uri(decoded_uri: dict)
classmethod
Source code in src/qgis_server_light/interface/exporter/extract.py
362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 | |
Project
dataclass
Bases: BaseInterface
Source code in src/qgis_server_light/interface/exporter/extract.py
595 596 597 598 | |
name: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
version: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(version: str, name: str) -> None
Raster
dataclass
Bases: DataSet
A real QGIS Raster job_layer_definition. That are usually all QgsRasterLayer in opposition to QgsVectorTileLayer
which is not a real QgsRasterLayer.
Source code in src/qgis_server_light/interface/exporter/extract.py
488 489 490 491 492 493 | |
__init__(id: str, name: str, title: str, source: DataSource, driver: str, bbox: BBox | None = None, bbox_wgs84: BBox | None = None, crs: Crs | None = None, styles: List[Style] = list(), minimum_scale: float | None = None, maximum_scale: float | None = None, style_name: str = 'default', is_spatial: bool = True) -> None
Service
dataclass
Bases: BaseInterface
Source code in src/qgis_server_light/interface/exporter/extract.py
533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 | |
contact_mail: Optional[str] = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
contact_organization: Optional[str] = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
contact_person: Optional[str] = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
contact_phone: Optional[str] = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
contact_position: Optional[str] = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
fees: Optional[str] = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
keyword_list: Optional[str] = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
online_resource: Optional[str] = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
resource_url: Optional[str] = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
service_abstract: Optional[str] = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
service_title: Optional[str] = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(contact_organization: Optional[str], contact_mail: Optional[str], contact_person: Optional[str] = None, contact_phone: Optional[str] = None, contact_position: Optional[str] = None, fees: Optional[str] = None, keyword_list: Optional[str] = None, online_resource: Optional[str] = None, service_abstract: Optional[str] = None, service_title: Optional[str] = None, resource_url: Optional[str] = None) -> None
Source
dataclass
Bases: BaseInterface, ABC
Source code in src/qgis_server_light/interface/exporter/extract.py
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | |
to_qgis_decoded_uri: dict
property
__init__() -> None
decide_remote(path: str) -> bool
staticmethod
Source code in src/qgis_server_light/interface/exporter/extract.py
110 111 112 | |
from_qgis_decoded_uri(decoded_uri: dict)
classmethod
Source code in src/qgis_server_light/interface/exporter/extract.py
120 121 122 123 124 | |
Tree
dataclass
Bases: BaseInterface
Source code in src/qgis_server_light/interface/exporter/extract.py
601 602 603 604 605 606 607 608 609 610 611 612 | |
members: list[TreeGroup] = field(default_factory=list, metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(members: list[TreeGroup] = list()) -> None
find_by_name(name: str) -> TreeGroup | None
Source code in src/qgis_server_light/interface/exporter/extract.py
608 609 610 611 612 | |
TreeGroup
dataclass
Bases: TreeLayer
Source code in src/qgis_server_light/interface/exporter/extract.py
26 27 28 29 30 31 | |
children: List[str] = field(default_factory=list, metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(id: str, name: str, children: List[str] = list()) -> None
TreeLayer
dataclass
Bases: LayerLike
Source code in src/qgis_server_light/interface/exporter/extract.py
21 22 23 | |
__init__(id: str, name: str) -> None
Vector
dataclass
Bases: DataSet
A real QGIS Vector job_layer_definition. That are usually all QgsVectorLayer in opposition to QgsVectorTileLayer
which is not a real QgsVectorLayer.
Source code in src/qgis_server_light/interface/exporter/extract.py
496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 | |
fields: Optional[List[Field]] = field(default_factory=list, metadata={'type': 'Element'})
class-attribute
instance-attribute
geometry_type_simple: Optional[str] = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
geometry_type_wkb: Optional[str] = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(id: str, name: str, title: str, source: DataSource, driver: str, bbox: BBox | None = None, bbox_wgs84: BBox | None = None, crs: Crs | None = None, styles: List[Style] = list(), minimum_scale: float | None = None, maximum_scale: float | None = None, style_name: str = 'default', is_spatial: bool = True, fields: Optional[List[Field]] = list(), geometry_type_simple: Optional[str] = None, geometry_type_wkb: Optional[str] = None) -> None
get_field_by_name(name: str) -> Field | None
Source code in src/qgis_server_light/interface/exporter/extract.py
516 517 518 519 520 | |
VectorTileSource
dataclass
Bases: Source
Source code in src/qgis_server_light/interface/exporter/extract.py
391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 | |
path: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
remote
property
style_url: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
to_qgis_decoded_uri: dict
property
type: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
url: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
zmax: int | None = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
zmin: int | None = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(type: str, zmin: int | None, zmax: int | None, url: str | None = None, path: str | None = None, style_url: str | None = None) -> None
from_qgis_decoded_uri(decoded_uri: dict)
classmethod
Source code in src/qgis_server_light/interface/exporter/extract.py
415 416 417 418 419 420 421 422 423 424 | |
WfsSource
dataclass
Bases: BaseInterface
Source code in src/qgis_server_light/interface/exporter/extract.py
185 186 187 188 189 | |
__init__() -> None
WmsSource
dataclass
Bases: Source
Source code in src/qgis_server_light/interface/exporter/extract.py
223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 | |
contextual_wms_legend: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
crs: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
dpi_mode: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
feature_count: int | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
format: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
layers: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
remote
property
styles: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
to_qgis_decoded_uri: dict
property
url: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(crs: str, format: str, layers: str, url: str, dpi_mode: str | None = None, feature_count: int | None = None, contextual_wms_legend: str | None = None, styles: str | None = None) -> None
from_qgis_decoded_uri(decoded_uri: dict)
classmethod
Source code in src/qgis_server_light/interface/exporter/extract.py
253 254 255 256 257 258 259 260 261 262 263 264 | |
WmtsSource
dataclass
Bases: WmsSource
Source code in src/qgis_server_light/interface/exporter/extract.py
271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 | |
tile_dimensions: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
tile_matrix_set: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
tile_pixel_ratio: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
to_qgis_decoded_uri: dict
property
__init__(crs: str, format: str, layers: str, url: str, dpi_mode: str | None = None, feature_count: int | None = None, contextual_wms_legend: str | None = None, styles: str | None = None, *, tile_matrix_set: str, tile_dimensions: str | None = None, tile_pixel_ratio: str | None = None) -> None
from_qgis_decoded_uri(decoded_uri: dict)
classmethod
Source code in src/qgis_server_light/interface/exporter/extract.py
290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 | |
XYZSource
dataclass
Bases: Source
Source code in src/qgis_server_light/interface/exporter/extract.py
192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 | |
remote
property
to_qgis_decoded_uri: dict
property
type: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
url: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
zmax: int | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
zmin: int | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(url: str, zmin: int | None = None, zmax: int | None = None, type: str | None = None) -> None
from_qgis_decoded_uri(decoded_uri: dict)
classmethod
Source code in src/qgis_server_light/interface/exporter/extract.py
209 210 211 212 213 214 215 216 | |
job
common
input
AbstractFilter
dataclass
Bases: BaseInterface
Source code in src/qgis_server_light/interface/job/common/input.py
48 49 50 51 52 53 54 | |
definition: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
shortened_fields: set
property
__init__(definition: str) -> None
OgcFilter110
dataclass
Bases: AbstractFilter
A filter which definition conforms to
https://schemas.opengis.net/filter/1.1.0/filter.xsd
and which is consumable by qgis.core.QgsOgcUtils.expressionFromOgcFilter.
Source code in src/qgis_server_light/interface/job/common/input.py
57 58 59 60 61 62 63 | |
__init__(definition: str) -> None
OgcFilterFES20
dataclass
Bases: AbstractFilter
A filter which definition conforms to https://www.opengis.net/fes/2.0
and which is consumable by qgis.core.QgsOgcUtils.expressionFromOgcFilter.
Source code in src/qgis_server_light/interface/job/common/input.py
66 67 68 69 70 71 | |
__init__(definition: str) -> None
QslJobInfoParameter
dataclass
Bases: ABC
The common minimal interface of a job which is shipped around. Each job for QSL has to implement at least this interface.
Attributes:
-
id(str) –The unique identifier which is used to recognize the job all over its lifecycle.
-
type(str) –A string based identifier of the job, this is used to quickly determine its nature serialized state.
-
job(QslJobParameter) –The actual job parameters. This is a domain specific dataclass depending on the nature of the actual job.
Source code in src/qgis_server_light/interface/job/common/input.py
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | |
id: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
job: QslJobParameter = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
type: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(id: str, type: str, job: QslJobParameter) -> None
QslJobLayer
dataclass
Bases: BaseInterface
Source code in src/qgis_server_light/interface/job/common/input.py
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | |
driver: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
filter: OgcFilter110 | OgcFilterFES20 | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
folder_name: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
id: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
name: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
redacted_fields: set
property
remote: bool = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
source: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
style: Style | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(id: str, name: str, source: str, remote: bool, folder_name: str, driver: str, style: Style | None = None, filter: OgcFilter110 | OgcFilterFES20 | None = None) -> None
QslJobParameter
dataclass
Bases: ABC
The minimal interface of a job parameter interface. In the domain specific refinement it holds the relevant information about a job.
Source code in src/qgis_server_light/interface/job/common/input.py
7 8 9 10 11 12 13 | |
__init__() -> None
QslJobParameterMapRelated
dataclass
Bases: QslJobParameter
The minimal interface of a job parameter interface for jobs rendering things in the end.
Attributes:
-
svg_paths(list[str]) –A list of paths to svg's (folders) which are necessary for the job to render nicely.
Source code in src/qgis_server_light/interface/job/common/input.py
36 37 38 39 40 41 42 43 44 45 | |
svg_paths: list[str] = field(default_factory=list, metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(svg_paths: list[str] = list()) -> None
output
JobResult
dataclass
Bases: BaseInterface
Source code in src/qgis_server_light/interface/job/common/output.py
7 8 9 10 11 12 13 14 15 16 17 | |
content_type: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
data: Any = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
id: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
shortened_fields: set
property
worker_host_name: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
worker_id: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(id: str, data: Any, content_type: str, worker_id: str | None = None, worker_host_name: str | None = None) -> None
feature
input
FeatureQuery
dataclass
Bases: BaseInterface
Represents definitions of a query to obtain features from a list of layers. Be aware, that filters are not applied to the QslJobLayer in this implementation since passed filters can contain inter-layer-references.
Attributes:
-
layers(list[QslJobLayer]) –A list layers which should only reference vector sources and be queried.
-
aliases(list[str]) –An optional list of alias names. This has to be the same length as the list of datasets.
-
filter(OgcFilterFES20) –An optional filter which might reference all passed layers thats why layers has to be added
Source code in src/qgis_server_light/interface/job/feature/input.py
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
aliases: list[str] = field(default_factory=list, metadata={'type': 'Element'})
class-attribute
instance-attribute
filter: OgcFilterFES20 = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
layers: list[QslJobLayer] = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(layers: list[QslJobLayer], aliases: list[str] = list(), filter: OgcFilterFES20 = None) -> None
QslJobInfoFeature
dataclass
Bases: QslJobInfoParameter
Source code in src/qgis_server_light/interface/job/feature/input.py
56 57 58 | |
job: QslJobParameterFeature = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(id: str, type: str, job: QslJobParameterFeature) -> None
QslJobParameterFeature
dataclass
Bases: QslJobParameter
As defined in WFS 2.0 specs, a request can be subdivided in a list of queries. This class is representing that.
Attributes:
-
queries(list[FeatureQuery]) –A list of queries which features should be extracted for.
-
start_index(int) –The offset for paging reason.
-
count(int | None) –The number of results to return.
Source code in src/qgis_server_light/interface/job/feature/input.py
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | |
count: int | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
queries: list[FeatureQuery] = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
start_index: int = field(default=0, metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(queries: list[FeatureQuery], start_index: int = 0, count: int | None = None) -> None
output
Attribute
dataclass
Bases: BaseInterface
An attribute belonging to a feature. The aim here is to drill down to simple types which can be used in consuming applications without further handling. This does not include the geometry attribute!
Attributes:
-
name(str) –The name of the attribute. Has to match with the name used for exported fields with
Fieldclass. -
value(int | float | str | bool | bytes | None) –Value as simple as possible. It has to be pickleable
Source code in src/qgis_server_light/interface/job/feature/output.py
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
name: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
value: int | float | str | bool | bytes | None = field(metadata={'type': 'Element', 'format': 'base64'})
class-attribute
instance-attribute
__init__(name: str, value: int | float | str | bool | bytes | None) -> None
Feature
dataclass
Bases: BaseInterface
Feature to hold information of extracted QgsFeature.
Attributes:
-
geometry(Geometry | None) –The geometry representing the feature.
-
attributes(list[Attribute]) –List of attributes defined in this feature.
Source code in src/qgis_server_light/interface/job/feature/output.py
39 40 41 42 43 44 45 46 47 48 49 50 51 52 | |
attributes: list[Attribute] = field(default_factory=list, metadata={'type': 'Element'})
class-attribute
instance-attribute
geometry: Geometry | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(geometry: Geometry | None = None, attributes: list[Attribute] = list()) -> None
FeatureCollection
dataclass
Bases: BaseInterface
This construction is used to abstract the content of extracted features for pickelable transportation from QSL to the queue. This way we ensure how things are constructed and transported.
Attributes:
-
name(str) –The name of the feature collection. This is the key to match it to requested layers.
-
features(list[Feature]) –The features belonging to the feature collection.
Source code in src/qgis_server_light/interface/job/feature/output.py
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | |
features: list[Feature] = field(default_factory=list, metadata={'type': 'Element'})
class-attribute
instance-attribute
name: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(name: str, features: list[Feature] = list()) -> None
Geometry
dataclass
Bases: Attribute
Source code in src/qgis_server_light/interface/job/feature/output.py
27 28 29 30 31 32 33 34 35 36 | |
name: str = field(default='geometry', metadata={'type': 'Element'})
class-attribute
instance-attribute
shortened_fields: set
property
value: bytes | None = field(default=None, metadata={'type': 'Element', 'format': 'base64'})
class-attribute
instance-attribute
__init__(name: str = 'geometry', value: bytes | None = None) -> None
QueryCollection
dataclass
Bases: BaseInterface
Holds all feature collections which are bound to the passed queries. The order in the list has to be not changed, so that consuming applications can map the response to the passed queries.
Attributes:
-
numbers_matched(str | int) –Information about how many matches are fund for the executed query.
-
feature_collections(list[FeatureCollection]) –The feature collections belonging to the passed queries.
Source code in src/qgis_server_light/interface/job/feature/output.py
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | |
feature_collections: list[FeatureCollection] = field(default_factory=list, metadata={'type': 'Element'})
class-attribute
instance-attribute
numbers_matched: str | int = field(default='unknown', metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(numbers_matched: str | int = 'unknown', feature_collections: list[FeatureCollection] = list()) -> None
feature_info
input
QslJobInfoFeatureInfo
dataclass
Bases: QslJobInfoParameter
Source code in src/qgis_server_light/interface/job/feature_info/input.py
44 45 46 47 48 | |
job: QslJobParameterFeatureInfo = field(metadata={'type': 'Element', 'required': True})
class-attribute
instance-attribute
__init__(id: str, type: str, job: QslJobParameterFeatureInfo) -> None
QslJobParameterFeatureInfo
dataclass
Bases: QslJobParameter
A runner to extract feature info
Source code in src/qgis_server_light/interface/job/feature_info/input.py
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | |
I: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
INFO_FORMAT: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
J: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
QUERY_LAYERS: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
X: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
Y: str | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
decide_x: int
property
decide_y: int
property
query_layers_list
property
__init__(*, INFO_FORMAT: str, QUERY_LAYERS: str, X: str | None = None, Y: str | None = None, I: str | None = None, J: str | None = None) -> None
__post_init__()
Source code in src/qgis_server_light/interface/job/feature_info/input.py
21 22 23 24 25 26 27 28 29 | |
output
legend
input
QslJobInfoLegend
dataclass
Bases: QslJobInfoParameter
Source code in src/qgis_server_light/interface/job/legend/input.py
14 15 16 | |
job: QslJobParameterLegend = field(metadata={'type': 'Element', 'required': True})
class-attribute
instance-attribute
__init__(id: str, type: str, job: QslJobParameterLegend) -> None
QslJobParameterLegend
dataclass
Bases: QslJobParameter
Render legend
Source code in src/qgis_server_light/interface/job/legend/input.py
9 10 11 | |
__init__() -> None
output
process
input
output
render
input
QslJobInfoRender
dataclass
Bases: QslJobInfoParameter
Source code in src/qgis_server_light/interface/job/render/input.py
30 31 32 | |
job: QslJobParameterRender = field(metadata={'type': 'Element', 'required': True})
class-attribute
instance-attribute
__init__(id: str, type: str, job: QslJobParameterRender) -> None
QslJobParameterRender
dataclass
Bases: QslJobParameter
A runner to be rendered as an image
Source code in src/qgis_server_light/interface/job/render/input.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
bbox: BBox = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
crs: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
dpi: int | None = field(default=None, metadata={'type': 'Element'})
class-attribute
instance-attribute
format: str = field(default='image/png', metadata={'type': 'Element'})
class-attribute
instance-attribute
height: int = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
layers: list[QslJobLayer] = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
width: int = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(*, layers: list[QslJobLayer], bbox: BBox, crs: str, width: int, height: int, dpi: int | None = None, format: str = 'image/png') -> None
get_layer_by_name(name: str) -> QslJobLayer
Source code in src/qgis_server_light/interface/job/render/input.py
23 24 25 26 27 | |
output
worker
info
This part defines the structure how a running QSL worker exposes its capabilities.
EngineInfo
dataclass
Source code in src/qgis_server_light/interface/worker/info.py
33 34 35 36 37 38 | |
id: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
qgis_info: QgisInfo = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
started: float = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
status: Status = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(id: str, qgis_info: QgisInfo, status: Status, started: float) -> None
QgisInfo
dataclass
Information container to ship minimal knowledge of the underlying QGIS.
Attributes:
-
version(int) –The integer representation of the QGIS version e.g. 34400
-
version_name(str) –The string representation which also includes the codename e.g. "QGIS Version 4.0.0-Norrköping"
Source code in src/qgis_server_light/interface/worker/info.py
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | |
path: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
version: int = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
version_name: str = field(metadata={'type': 'Element'})
class-attribute
instance-attribute
__init__(version: int, version_name: str, path: str) -> None
Status
Bases: str, Enum
Source code in src/qgis_server_light/interface/worker/info.py
8 9 10 11 12 | |