Logística
Modelos de consulta SQL para análises de logística e transporte, cobrindo otimização de Rota, monitoramento de carga, utilização da Frota e desempenho de entrega
A logística é um ecossistema complexo que envolve a coordenação de transporte, operações de armazém, estoque e execução de entregas. A integração da telemetria aos processos logísticos permite que as empresas coletem dados em tempo real sobre Veículos, Motoristas, rotas e condições da carga, o que melhora significativamente a tomada de decisões e a eficiência operacional.
Navixy IoT Query, com seus robustos recursos de ingestão de dados e análise de séries temporais, oferece suporte à transformação digital das operações logísticas, ao permitir ampla visibilidade em cada estágio do ciclo de vida. Seus robustos recursos de ingestão de telemetria fornecem visibilidade abrangente dessas operações. Dados de GPS em tempo real, dados de sensores, diagnósticos, geocercas e análises de sensores permitem que os operadores logísticos digitalizem fluxos de trabalho, automatizem controles e tomem decisões informadas.
Gestão de Rota
Otimize a roteirização de veículos, garanta um despacho eficiente e reduza atrasos
Contagem de Trajetos por dia Contagem de Quilometragem por veículo por dia (Últimos 7 dias)
Monitoramento de carga
Garanta condições adequadas de transporte para mercadorias sensíveis
Eventos de violação de temperatura (e umidade) nos últimos 7 dias
Operação do veículo
Acompanhe a utilização da Frota, garanta a Manutenção e reduza o tempo de inatividade
Resumo de Horas de motor por veículo / Motorista / dia (Últimos 7 dias) Análise de inatividade do veículo Monitor de Ativo sem Movimento
Segurança e Segurança da Rota
Detectar uso indevido, atividade não autorizada e violações de Segurança
Detecção de desvio de Rota- Paradas não autorizadas (Últimas 24 horas) Detecção de uso fora do horário
Gestão de conformidade
Monitorar o comportamento do Motorista, aplicar políticas e garantir a conformidade operacional
Resumo das Horas de motor por Veículo / Motorista / Dia (Últimos 7 dias) Detecção de uso fora do horário
Análise pós-entrega
Avaliar a eficiência operacional e o desempenho histórico
Relatório de log de eventos do veículo Contagem de Quilometragem por Veículo por Dia (Últimos 7 dias) Contagens de Trajeto por Dia Monitor de Ativo Sem Movimento
Monitor de Ativo Sem Movimento
Este caso identifica ativos (por exemplo, Veículos ou reboques) que não mudaram seu GPS compare o coordenadas mínimas e máximas durante o período. Se ambos os valores caírem em uma faixa muito estreita (um limite de tolerância, por exemplo, ±0.01 graus), sinalizamos o Ativo como não em movimento. A consulta também faz join com as tabelas objects e Veículos em raw_business_data para recuperar rótulos relevantes de Ativo para a saída do resultado.
Análise do tempo de inatividade do veículo
Este caso se concentra em analisar por quanto tempo os Veículos ficam fora de operação devido à Manutenção, a quebras ou à inatividade. As métricas de tempo de inatividade são cruciais para as operações de logística monitorarem a saúde da Frota, reduzirem o tempo ocioso e melhorarem a utilização geral e a eficiência de Agendamento.
O núcleo da análise de indisponibilidade depende de aproveitar a tabela vehicle_service_tasks a partir de raw_business_data, que registra tanto eventos de manutenção planejados e não planejados. Cada Tarefa contém um start_date e um end_date, representando o período de inatividade. Ao filtrar por tarefas de serviço concluídas, podemos calcular a duração exata em que cada veículo ficou fora de operação.
A consulta calcula o tempo total de inatividade por veículo somando as durações de todas as suas Tarefas de serviço (em horas). Ela também permite a discriminação entre Manutenção planejada e não planejada usando o sinalizador is_unplanned. Para tornar os resultados mais práticos, ela faz uma junção com a tabela de Veículos para incluir rótulos dos veículos, números de registro e informações do modelo.
Detecção de desvio de Rota
Este caso identifica instâncias em que Veículos se desviam de suas Rotas atribuídas ou esperadas — especialmente zonas geocercadas ou corredores de entrega. O Monitor de tais desvios ajuda a garantir a conformidade com a Rota, reduzir atrasos, detectar comportamento de Condução arriscada e manter os SLAs de entrega.
Esta lógica compara as posições GPS reais do veículo do tracking_data_core (no schema raw_telematics_data) com zonas geográficas predefinidas da tabela zones em raw_business_data. Essas zonas representam Rotas atribuídas ou segmentos de Rota. Usando comparações geométricas via ST_DWithin, determinamos se um ponto está dentro ou fora da área de rota com buffer.
A consulta une cada posição de GPS com cada zona de Rota conhecida usando uma espacial CROSS JOIN, então aplica ST_DWithin() para verificar se o veículo estava dentro do corredor permitido. Isolamos as linhas em que o veículo estava fora de todas as rotas geocercadas e marcá-los como desvios. A saída final lista esses desvios, incluindo o dispositivo, o carimbo de data/hora, o rótulo do veículo e o quão longe o ponto estava do centro da zona mais próximo.
Resumo de Horas de motor por veículo / Motorista / dia (últimos 7 dias)
Este caso mede por quanto tempo os motores estiveram ativos para cada veículo em uma base diária, permitindo que os gerentes de frota acompanhem utilização, identificar uso excessivo ou insuficiente, e correlacionar a atividade com as atribuições do Motorista. Quando vinculada a Motoristas, também oferece suporte a validação de horas de trabalho e análise de desempenho.
A tabela states em raw_telematics_data registra indicadores de estado do motor em séries temporais, normalmente com um state_name como 'Ignição' e um valor de 1 (ligado) ou 0 (desligado). Para calcular Horas de motor, encontramos todas as transições com carimbo de data/hora para cada dispositivo e calculamos as durações em que o motor estava ligado (1).
Para vincular a atividade do motor a ambos veículos e motoristas, nós usamos as tabelas Objeto, Veículos e driver_history de raw_business_data. Associamos cada registro de estado ao Motorista atual nesse Objeto (via histórico de atribuição do Motorista) e ao veículo correspondente. Em seguida, agrupamos os dados por dia, veículo e Motorista, somando o tempo total ativo do motor (em horas).
Eventos de violação de temperatura (e umidade) nos últimos 7 dias
Este caso identifica leituras de sensores — como temperatura ou umidade — que excedem limites críticos durante o transporte. Monitorar essas violações é vital para indústrias que transportam produtos perecíveis (por exemplo, alimentos, produtos farmacêuticos) para garantir a conformidade com os requisitos da cadeia de frio e evitar a deterioração.
Esta consulta extrai dados de entrada do sensor da tabela inputs no esquema raw_telematics_data. Cada linha representa uma leitura de sensor (por exemplo, temperatura, umidade) registrada em um carimbo de data/hora específico por um dispositivo. Filtramos esses registros para incluir apenas os dos últimos 7 dias.
A lógica principal de filtragem se baseia em padrões de nomes de sensores e em uma comparação de seus valores numéricos em relação aos limites (por exemplo, >25°C para temperatura, >80% para umidade). Como value é armazenado como texto, fazemos o cast para numérico antes de aplicar as condições de limite. Para enriquecer os resultados, fazemos join com a tabela objects para recuperar rótulos de veículo ou de Ativo, o que melhora a interpretabilidade para gestores de Frota.
Paradas não autorizadas (Últimas 24 horas)
Este caso identifica paradas não autorizadas ou não planejadas feitas por Veículos nas últimas 24 horas. Isso ajuda a detectar possíveis violações de rotas de entrega, paradas não autorizadas ou tempo ocioso que podem afetar a eficiência de Combustível e o desempenho do SLA.
A consulta analisa pontos de localização com velocidade baixa ou nula utilizando a consulta, a consulta usa a tabela tracking_data_core do raw_telematics_data para extrair dados de localização em série temporal e velocidade. Uma parada é detectada quando a velocidade cai abaixo de 3 km/h por uma duração de mais de 2 minutos. Usando as funções LAG e LEAD, a consulta segmenta esses períodos de baixa velocidade para determinar os timestamps de início e fim das Paradas.
Para detectar Paradas não autorizadas, ele filtra locais que estão dentro de zonas conhecidas geocercadas (zones table) usando ST_DWithin do PostGIS. Apenas Paradas fora de qualquer buffer da zona são informados. O resultado inclui ID do veículo, rótulo do Objeto, registro, carimbos de data/hora, duração e coordenadas de cada parada.
Detecção de uso fora do horário comercial
Este caso identifica instâncias em que Veículos são operados fora do horário comercial normal — definido aqui como segunda-feira a sexta-feira, 09:00–18:00. Essas detecções são essenciais para sinalizar uso não autorizado, identificando potencial uso indevido do veículo, e melhorando segurança do ativo.
A lógica é construída na tabela tracking_data_core do raw_telematics_data, que registra eventos GPS com carimbo de data e hora por dispositivo. Derivamos local dia da semana e hora de uso de cada entrada device_time e filtre os registros fora da janela comercial definida (isto é, antes de 9 AM, depois de 6 PM ou a qualquer momento nos fins de semana).
Para fornecer clareza, enriquecemos os dados de GPS com metadados de objeto e veículo de raw_business_data (por exemplo, rótulo do veículo, placa, ID do objeto). Para resumos mais significativos, agregamos opcionalmente o uso para contar quantos eventos fora do horário comercial ocorreram por veículo e quando aconteceram. Isso pode ajudar a identificar padrões ou reincidentes.
Contagem de Trajetos por dia
Este caso mede quantas Viagens quanto cada veículo percorre diariamente e a distância que eles percorrem, ajudando as equipes de logística a avaliar uso do veículo, otimize rotas e detecte anomalias como Viagens incompletas ou uso não reportado.
Para definir uma Trajeto, usamos uma alteração em estado de Movimento do veículo — ou seja, transição de Parado para Em movimento e de volta a Parado. Usando os valores de velocidade da tabela tracking_data_core, a consulta segmenta os dados com base nessas transições. Um Trajeto é identificado como um período contínuo de Movimento onde a velocidade permanece acima de um limite (por exemplo, >5 km/h).
Cada Trajeto inclui:
A timestamp e local de início (primeiro ponto em movimento)
Um timestamp e local de término (último ponto em movimento antes de parar)
O distância de Haversine entre os locais de início e término
Calculamos a contagem de trajetos e a distância total por dia por veículo, opcionalmente enriquecida com rótulos de veículo da tabela Veículos.
Contagem de Quilometragem por veículo por dia (Últimos 7 dias)
Este caso calcula o quilometragem diária (em quilômetros) para cada veículo nos últimos 7 dias. É fundamental para Monitor utilização do veículo, monitoramento eficiência de Combustível, planejamento manutenção, e detectar subutilização ou superutilização.
Nós extraímos todos os registros de GPS de tracking_data_core dos últimos 7 dias. Cada ponto de GPS tem um carimbo de data e hora, latitude e longitude. Para cada veículo e cada dia, nós:
Ordene os pontos GPS cronologicamente por dispositivo.
Calcular a distância entre pontos consecutivos usando a fórmula de Haversine.
Some as distâncias por dia por dispositivo para obter a Quilometragem total.
Esta abordagem oferece alta precisão sem depender de sensores externos de Odômetro. Opcionalmente, a consulta faz junção com objetos e Veículos para enriquecer os resultados com metadados de Ativo.
Relatório de log de eventos do veículo
Este caso fornece um relatório abrangente de todos os eventos relacionados a veículos (por exemplo, Ignição, porta aberta, Frenagem brusca etc.) em toda a Frota. Inclui tipo de evento, carimbo de data e hora, e contexto do veículo, permitindo que as equipes de operações auditem o comportamento, acompanhem atividades anormais ou acionem alertas e análises.
A fonte principal é a tabela states do esquema raw_telematics_data. Cada linha inclui: device_id (origem do evento), device_time (carimbo de data/hora), state_name (rótulo do evento) e value (status ou medição).
Para criar um relatório utilizável:
Extraímos todos os registros dos últimos 7 dias.
Agrupe-os por tipo de evento, veículo, e data para fornecer um contagem de quantas vezes cada evento ocorreu e quando ocorreu.
Enriqueça os resultados com metadados do veículo (vehicle_label, registration_number, object_label) via Objeto e Veículos.
Isso fornece um Tempo diário de eventos em toda a Frota - essencial para diagnósticos, análise comportamental e Manutenção proativa.
Atualizado
Isto foi útil?