-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore: plates after and before a interval
- Loading branch information
Showing
2 changed files
with
118 additions
and
36 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,38 +1,39 @@ | ||
WITH ordered_positions AS ( | ||
SELECT | ||
DATETIME(datahora, "America/Sao_Paulo") AS datahora, | ||
placa, | ||
camera_numero, | ||
camera_latitude, | ||
camera_longitude | ||
FROM `rj-cetrio.ocr_radar.readings_*` | ||
WHERE | ||
placa IN ("{{placa}}") | ||
AND (camera_latitude != 0 AND camera_longitude != 0) | ||
AND DATETIME_TRUNC(DATETIME(datahora, "America/Sao_Paulo"), HOUR) >= DATETIME_TRUNC(DATETIME("{{min_datetime}}"), HOUR) | ||
AND DATETIME_TRUNC(DATETIME(datahora, "America/Sao_Paulo"), HOUR) <= DATETIME_TRUNC(DATETIME("{{max_datetime}}"), HOUR) | ||
ORDER BY datahora ASC, placa ASC | ||
), | ||
WITH ordered_positions AS ( | ||
SELECT | ||
DISTINCT | ||
DATETIME(datahora, "America/Sao_Paulo") AS datahora, | ||
placa, | ||
camera_numero, | ||
camera_latitude, | ||
camera_longitude | ||
FROM `rj-cetrio.ocr_radar.readings_*` | ||
WHERE | ||
placa IN ("") | ||
AND (camera_latitude != 0 AND camera_longitude != 0) | ||
AND DATETIME_TRUNC(DATETIME(datahora, "America/Sao_Paulo"), HOUR) >= DATETIME_TRUNC(DATETIME("2024-06-19T00:00:00"), HOUR) | ||
AND DATETIME_TRUNC(DATETIME(datahora, "America/Sao_Paulo"), HOUR) <= DATETIME_TRUNC(DATETIME("2024-06-19T18:00:00"), HOUR) | ||
ORDER BY datahora ASC, placa ASC | ||
), | ||
|
||
loc AS ( | ||
SELECT | ||
t2.camera_numero, | ||
t1.bairro, | ||
t1.locequip AS localidade, | ||
CAST(t1.latitude AS FLOAT64) AS latitude, | ||
CAST(t1.longitude AS FLOAT64) AS longitude, | ||
FROM `rj-cetrio.ocr_radar_staging.equipamento` t1 | ||
JOIN `rj-cetrio.ocr_radar.equipamento_codcet_to_camera_numero` t2 | ||
ON t1.codcet = t2.codcet | ||
) | ||
loc AS ( | ||
SELECT | ||
t2.camera_numero, | ||
t1.bairro, | ||
t1.locequip AS localidade, | ||
CAST(t1.latitude AS FLOAT64) AS latitude, | ||
CAST(t1.longitude AS FLOAT64) AS longitude, | ||
FROM `rj-cetrio.ocr_radar_staging.equipamento` t1 | ||
JOIN `rj-cetrio.ocr_radar.equipamento_codcet_to_camera_numero` t2 | ||
ON t1.codcet = t2.codcet | ||
) | ||
|
||
SELECT | ||
p.datahora, | ||
p.camera_numero, | ||
COALECE(l.latitude, p.camera_latitude) AS latitude, | ||
COALECE(l.longitude, p.camera_longitude) AS longitude, | ||
l.bairro, | ||
l.localidade | ||
FROM ordered_positions p | ||
JOIN loc l ON p.camera_numero = l.camera_numero | ||
ORDER BY p.datahora ASC | ||
SELECT | ||
p.datahora, | ||
p.camera_numero, | ||
COALESCE(l.latitude, p.camera_latitude) AS latitude, | ||
COALESCE(l.longitude, p.camera_longitude) AS longitude, | ||
l.bairro, | ||
l.localidade | ||
FROM ordered_positions p | ||
JOIN loc l ON p.camera_numero = l.camera_numero | ||
ORDER BY p.datahora ASC |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
WITH loc AS ( | ||
SELECT | ||
t2.camera_numero, | ||
t1.locequip, | ||
t1.bairro, | ||
CAST(t1.latitude AS FLOAT64) AS latitude, | ||
CAST(t1.longitude AS FLOAT64) AS longitude | ||
FROM `rj-cetrio.ocr_radar.equipamento` t1 | ||
JOIN `rj-cetrio.ocr_radar.equipamento_codcet_to_camera_numero` t2 | ||
ON t1.codcet = t2.codcet | ||
), | ||
|
||
tb AS ( | ||
SELECT | ||
*, | ||
DATETIME(datahora, "America/Sao_Paulo") AS datahora_local | ||
FROM `rj-cetrio.ocr_radar.readings_*` | ||
WHERE placa = "" | ||
AND DATETIME(datahora, "America/Sao_Paulo") BETWEEN "2024-01-01T00:00:00" AND "2024-01-01T00:00:00" | ||
ORDER BY datahora | ||
), | ||
|
||
selected AS ( | ||
SELECT | ||
t1.placa, | ||
t1.tipoveiculo, | ||
t1.velocidade, | ||
t1.datahora_local, | ||
t1.camera_numero, | ||
t1.empresa, | ||
COALESCE(t2.latitude, t1.camera_latitude) AS latitude, | ||
COALESCE(t2.longitude, t1.camera_longitude) AS longitude, | ||
t1.datahora_captura, | ||
t2.locequip, | ||
t2.bairro | ||
FROM tb t1 | ||
JOIN loc t2 | ||
ON t1.camera_numero = t2.camera_numero | ||
), | ||
|
||
all_readings AS ( | ||
SELECT | ||
t1.placa, | ||
t1.tipoveiculo, | ||
t1.velocidade, | ||
DATETIME(t1.datahora, 'America/Sao_Paulo') AS datahora_local, | ||
t1.camera_numero, | ||
t1.empresa, | ||
COALESCE(t2.latitude, t1.camera_latitude) AS latitude, | ||
COALESCE(t2.longitude, t1.camera_longitude) AS longitude, | ||
DATETIME(t1.datahora_captura, 'America/Sao_Paulo') AS datahora_captura, | ||
t2.locequip, | ||
t2.bairro, | ||
ROW_NUMBER() OVER (PARTITION BY t1.camera_numero ORDER BY t1.datahora) AS row_num | ||
FROM `rj-cetrio.ocr_radar.readings_*` t1 | ||
JOIN loc t2 | ||
ON t1.camera_numero = t2.camera_numero | ||
), | ||
|
||
selected_with_row_num AS ( | ||
SELECT | ||
s.*, | ||
a.row_num AS selected_row_num | ||
FROM selected s | ||
JOIN all_readings a | ||
ON s.camera_numero = a.camera_numero | ||
AND s.datahora_local = a.datahora_local | ||
), | ||
|
||
before_and_after AS ( | ||
SELECT | ||
a.* | ||
FROM all_readings a | ||
JOIN selected_with_row_num s | ||
ON a.camera_numero = s.camera_numero | ||
AND (a.row_num BETWEEN s.selected_row_num - 20 AND s.selected_row_num + 20) | ||
) | ||
|
||
SELECT * | ||
FROM before_and_after | ||
ORDER BY camera_numero, datahora_local; |