From ecad3efb4975e2650ea4eaefd79c8815569a591d Mon Sep 17 00:00:00 2001 From: Jon Roeber Date: Thu, 18 Jan 2024 04:09:53 +0000 Subject: [PATCH] Update Dev Notes --- Dev-Notes.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/Dev-Notes.md b/Dev-Notes.md index 6e5cd4d..a651c3f 100644 --- a/Dev-Notes.md +++ b/Dev-Notes.md @@ -1,16 +1,21 @@ ## 20240117 -Example SQL query to convert Cayenne GPS location into PostGIS point: +Example SQL query to convert Cayenne GPS location into PostGIS point, include RSSI, time, and gatewayId, and filter on gatewayId: ```sql -WITH gps(alt, lat, lon) AS +CREATE OR REPLACE VIEW qgis_friendly AS +WITH data(gatewayId, time, alt, lat, lon, rssi) AS (SELECT + rx_info -> 0 ->> 'gatewayId', + time, CAST (object -> 'gpsLocation' -> '1' ->> 'altitude' AS FLOAT), CAST (object -> 'gpsLocation' -> '1' ->> 'latitude' AS FLOAT), - CAST (object -> 'gpsLocation' -> '1' ->> 'longitude' AS FLOAT) + CAST (object -> 'gpsLocation' -> '1' ->> 'longitude' AS FLOAT), + CAST (rx_info -> 0 ->> 'rssi' AS INTEGER) FROM event_up) -SELECT ST_MakePoint(lon, lat, alt) -FROM gps; +SELECT gatewayId, time, ST_MakePoint(lon, lat, alt) AS location, rssi +FROM data +WHERE gatewayId = '8d269c95ddfe92eb'; ``` `CREATE EXTENSION postgis;` must be run on each database, not just the PostgreSQL instance.