1.7 KiB
Create View Worker
Processes view creation jobs to create database views from queries.
Overview
The create view worker creates database views based on SQL queries, allowing dynamic datasets that update when source data changes.
Job Type
create_view
Input Parameters
{
"source_dataset_id": 123,
"query": "SELECT * FROM spatial_data_123 WHERE properties->>'category' = 'A'",
"output_dataset_id": 124
}
Parameters
source_dataset_id(required): Source dataset IDquery(required): SQL query to create view fromoutput_dataset_id(required): Output dataset ID
Output
Creates a new dataset backed by a database view:
- View created in
spatial_dataschema - Dataset metadata in
spatial_filestable - View updates automatically when source data changes
Use Cases
- Filtered datasets
- Joined datasets
- Aggregated datasets
- Computed datasets
Example
# Enqueue a create view job via API
curl -X POST "https://example.com/api/create_view_run.php" \
-H "Content-Type: application/json" \
-d '{
"source_dataset_id": 123,
"query": "SELECT * FROM spatial_data_123 WHERE properties->>'\''category'\'' = '\''A'\''",
"output_dataset_id": 124
}'
Background Jobs
This analysis runs as a background job. The worker:
- Fetches queued
create_viewjobs - Validates input parameters
- Validates SQL query
- Creates database view
- Creates dataset metadata
- Marks job as completed
Performance Considerations
- Views don't store data, so creation is fast
- Query performance depends on underlying data
- Complex queries may slow view access
- Consider materialized views for expensive queries
PostGIS
Mobile
QGIS
MapBender
GeoServer
GeoNode
GeoNetwork
Novella
Solutions