diff --git a/tests/sql/qgis.sql b/tests/sql/qgis.sql new file mode 100644 index 0000000..d7a370a --- /dev/null +++ b/tests/sql/qgis.sql @@ -0,0 +1,52 @@ +--------------------------------------------------------------------------- +-- Listing +-- + +-- List current database +select current_database(); + +-- connect to the DB +\c signalk + +-- output display format +\x on + +-- Assign vessel_id var +SELECT v.vessel_id as "vessel_id_kapla" FROM auth.vessels v WHERE v.owner_email = 'demo+kapla@openplotter.cloud' \gset +SELECT v.vessel_id as "vessel_id_aava" FROM auth.vessels v WHERE v.owner_email = 'demo+aava@openplotter.cloud' \gset + +-- qgis +SET ROLE qgis_role; + +-- Get BBOX Extent from SQL query for a log: +-- "^/log_(\w+)_(\d+).png$" +-- "^/log_(\w+)_(\d+)_sat.png$ +-- require a log_id, optional image width and height, scale_out +\echo 'Get BBOX Extent from SQL query for a log: "^/log_(\w+)_(\d+).png$"' +SELECT public.qgis_bbox_py_fn(null, 1); +SELECT public.qgis_bbox_py_fn(null, 3); +-- "^/log_(\w+)_(\d+)_line.png$" +\echo 'Get BBOX Extent from SQL query for a log as line: "^/log_(\w+)_(\d+)_line.png$"' +SELECT public.qgis_bbox_py_fn(null, 1, 333, 216, False); +SELECT public.qgis_bbox_py_fn(null, 3, 333, 216, False); +-- Get BBOX Extent from SQL query for all logs by vessel_id +-- "^/logs_(\w+)_(\d+).png$" +-- require a vessel_id, optional image width and height, scale_out +\echo 'Get BBOX Extent from SQL query for all logs by vessel_id: "^/logs_(\w+)_(\d+).png$"' +SELECT public.qgis_bbox_py_fn(:'vessel_id_kapla'::TEXT); +SELECT public.qgis_bbox_py_fn(:'vessel_id_aava'::TEXT); +-- Get BBOX Extent from SQL query for all logs by vessel_id +-- "^/logs_(\w+)_(\d+).png$" +-- require a vessel_id, optional image width and height, scale_out +\echo 'Get BBOX Extent from SQL query for a trip by vessel_id: "^/trip_(\w+)_(\d+)_(\d+).png$"' +SELECT public.qgis_bbox_py_fn(:'vessel_id_kapla'::TEXT, 1, 2); +SELECT public.qgis_bbox_py_fn(:'vessel_id_aava'::TEXT, 3, 4); +-- require a vessel_id, optional image width and height, scale_out as in Apache +\echo 'Get BBOX Extent from SQL query for a trip by vessel_id: "^/trip_((\w+)_(\d+)_(\d+)).png$"' +SELECT public.qgis_bbox_trip_py_fn(CONCAT(:'vessel_id_kapla'::TEXT, '_', 1, '_',2)); +SELECT public.qgis_bbox_trip_py_fn(CONCAT(:'vessel_id_aava'::TEXT, '_', 3, '_', 4)); + +--SELECT set_config('vessel.id', :'vessel_id_kapla', false) IS NOT NULL as vessel_id; +-- SQL request from QGIS to fetch the necessary data base on vessel_id +--SELECT id, vessel_id, name as logname, ST_Transform(track_geom, 3857) as track_geom, ROUND(distance, 2) as distance, ROUND(EXTRACT(epoch FROM duration)/3600,2) as duration,_from_time,_to_time FROM api.logbook where track_geom is not null and _to_time is not null ORDER BY _from_time DESC; +SELECT count(*) FROM api.logbook where track_geom is not null and _to_time is not null; diff --git a/tests/sql/qgis.sql.output b/tests/sql/qgis.sql.output new file mode 100644 index 0000000..3c18c29 --- /dev/null +++ b/tests/sql/qgis.sql.output @@ -0,0 +1,46 @@ + current_database +------------------ + signalk +(1 row) + +You are now connected to database "signalk" as user "username". +Expanded display is on. +SET +Get BBOX Extent from SQL query for a log: "^/log_(w+)_(d+).png$" +-[ RECORD 1 ]---+------------------------------------------------------ +qgis_bbox_py_fn | 2556155.0636042403,8365608,2660086.9363957597,8420076 + +-[ RECORD 1 ]---+---------------------------------------------------- +qgis_bbox_py_fn | 2749398.035335689,8334944,2756917.964664311,8338885 + +Get BBOX Extent from SQL query for a log as line: "^/log_(w+)_(d+)_line.png$" +-[ RECORD 1 ]---+------------------------------------------------------------------------- +qgis_bbox_py_fn | 2570800.6277114027,8368634.173700442,2645441.4677270483,8417049.85371059 + +-[ RECORD 1 ]---+-------------------------------------------------------------------------- +qgis_bbox_py_fn | 2750457.4431765806,8335162.530580978,2755858.0759322727,8338665.643719805 + +Get BBOX Extent from SQL query for all logs by vessel_id: "^/logs_(w+)_(d+).png$" +-[ RECORD 1 ]---+------------------------------------------------------ +qgis_bbox_py_fn | 2556155.0636042403,8365608,2660086.9363957597,8420076 + +-[ RECORD 1 ]---+------------------------------------------------------ +qgis_bbox_py_fn | -2006284.4558303887,4864146,5013530.455830389,8543049 + +Get BBOX Extent from SQL query for a trip by vessel_id: "^/trip_(w+)_(d+)_(d+).png$" +-[ RECORD 1 ]---+------------------------------------- +qgis_bbox_py_fn | 2595383,4787988.0,2620859,11997696.0 + +-[ RECORD 1 ]---+--------------------------------------- +qgis_bbox_py_fn | 97351,-192283890.5,2909895,205691085.5 + +Get BBOX Extent from SQL query for a trip by vessel_id: "^/trip_((w+)_(d+)_(d+)).png$" +-[ RECORD 1 ]--------+------------------------------------------------------ +qgis_bbox_trip_py_fn | 2556155.0636042403,8365608,2660086.9363957597,8420076 + +-[ RECORD 1 ]--------+------------------------------------------------------ +qgis_bbox_trip_py_fn | -2006284.4558303887,4864146,5013530.455830389,8543049 + +-[ RECORD 1 ] +count | 3 +