Update Dev Notes

Jon Roeber 2024-01-18 04:09:53 +00:00
parent 21594c0c3e
commit ecad3efb49

@ -1,16 +1,21 @@
## 20240117 ## 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 ```sql
WITH gps(alt, lat, lon) AS CREATE OR REPLACE VIEW qgis_friendly AS
WITH data(gatewayId, time, alt, lat, lon, rssi) AS
(SELECT (SELECT
rx_info -> 0 ->> 'gatewayId',
time,
CAST (object -> 'gpsLocation' -> '1' ->> 'altitude' AS FLOAT), CAST (object -> 'gpsLocation' -> '1' ->> 'altitude' AS FLOAT),
CAST (object -> 'gpsLocation' -> '1' ->> 'latitude' 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) FROM event_up)
SELECT ST_MakePoint(lon, lat, alt) SELECT gatewayId, time, ST_MakePoint(lon, lat, alt) AS location, rssi
FROM gps; FROM data
WHERE gatewayId = '8d269c95ddfe92eb';
``` ```
`CREATE EXTENSION postgis;` must be run on each database, not just the PostgreSQL instance. `CREATE EXTENSION postgis;` must be run on each database, not just the PostgreSQL instance.