For the complete documentation index, see llms.txt. This page is also available as Markdown.

Logística

Estudo de caso de logística e livro de receitas SQL

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 telemática 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ão e a eficiência operacional.

Navixy IoT Query, com seus robustos recursos de ingestão de dados e análise de séries temporais, apoia a transformação digital das operações logísticas ao permitir uma visibilidade profunda em cada etapa do ciclo de vida. Seus robustos recursos de ingestão de telemetria fornecem visibilidade abrangente dessas operações. Dados GPS em tempo real, diagnósticos de dados de sensores, geofencing e análise de sensores permitem que os operadores logísticos digitalizem fluxos de trabalho, automatizem controles e tomem decisões informadas.

Fase do ciclo de vida
Objetivos
Casos de uso / receitas cobertos

Gestão de rotas

Otimizar o roteamento dos veículos, garantir a expedição eficiente e reduzir atrasos

Contagem de viagens por dia Contagem de quilometragem por veículo por dia (últimos 7 dias)

Monitoramento de carga

Garantir 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

Acompanhar a utilização da frota, garantir a manutenção e reduzir o tempo de inatividade

Resumo de horas do motor por veículo / motorista / dia (últimos 7 dias) Análise do tempo de inatividade do veículo Rastreamento de ativos sem movimento

Segurança e proteção 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 conformidade operacional

Resumo de horas do 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 registro de eventos do veículo Contagem de quilometragem por veículo por dia (últimos 7 dias) Contagem de viagens por dia Rastreamento de ativos sem movimento

Rastreamento de ativos sem movimento

Este caso identifica ativos (por exemplo, veículos ou reboques) que não alteraram seu GPS compare as coordenadas mínima e máxima durante o período. Se ambos os valores ficarem dentro de uma faixa muito estreita (um limite de tolerância, por exemplo, ±0,01 graus), marcamos o ativo como imóvel. A consulta também faz join com as tabelas de objetos e veículos em raw_business_data para recuperar rótulos de ativos significativos 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 a manutenção, avarias ou inatividade. As métricas de inatividade são cruciais para operações logísticas monitorarem a saúde da frota, reduzirem o tempo ocioso e melhorarem a utilização geral e a eficiência do agendamento.

O núcleo da análise de inatividade está em aproveitar a tabela vehicle_service_tasks de raw_business_data, que registra tanto eventos de manutenção planejados e não planejados. Cada tarefa contém uma start_date e uma 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 a inatividade total por veículo somando as durações de todas as suas tarefas de serviço (em horas). Ela também permite a divisão entre manutenção planejada e não planejada usando o sinalizador is_unplanned. Para tornar os resultados mais acionáveis, ela faz join com a tabela de veículos para incluir rótulos do veículo, números de registro e informações de modelo.

Detecção de desvio de rota

Este caso identifica situações em que os veículos se desviam de suas rotas atribuídas ou esperadas — especialmente zonas geocercadas ou corredores de entrega. O acompanhamento desses desvios ajuda a garantir a conformidade da rota, reduzir atrasos, detectar comportamento de direção de risco e manter os SLAs de entrega.

Esta lógica compara as posições GPS reais do veículo em tracking_data_core (no esquema 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 faz join de cada posição GPS com cada zona de rota conhecida usando um 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 as sinalizamos como desvios. A saída final lista esses desvios, incluindo o dispositivo, o carimbo de data/hora, o rótulo do veículo e a distância do ponto até o centro da zona mais próxima.

Resumo de horas do motor por veículo / motorista / dia (últimos 7 dias)

Este caso mede por quanto tempo os motores ficaram ativos para cada veículo em base diária, permitindo que os gestores de frota acompanhem a utilização, identifiquem uso excessivo ou insuficiente, e correlacionem a atividade com as atribuições dos motoristas. Quando vinculado aos motoristas, ele também oferece suporte a validação das 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 'ignition' e um valor de 1 (ligado) ou 0 (desligado). Para calcular as horas do motor, encontramos todas as transições com carimbo de data/hora para cada dispositivo e calculamos as durações em que o motor esteve ligado (1).

Para vincular a atividade do motor a veículos e motoristas, usamos as tabelas objects, vehicles e driver_history de raw_business_data. Associamos cada registro de estado ao motorista atual naquele objeto (por meio do histórico de atribuição de motorista) e ao veículo correspondente. Em seguida, agrupamos os dados por dia, veículo e motorista, somando o tempo total de motor ativo (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 setores que transportam mercadorias perecíveis (por exemplo, alimentos, produtos farmacêuticos) para garantir a conformidade com os requisitos da cadeia fria e evitar deterioração.

Esta consulta extrai dados de entrada de sensores 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 do últimos 7 dias.

A lógica principal de filtragem baseia-se em padrões do nome do sensor e em uma comparação de seus valores numéricos com 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 do veículo ou do ativo, o que melhora a interpretabilidade para os 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. Ele ajuda a detectar possíveis violações de rotas de entrega, pausas não autorizadas ou tempo ocioso que pode afetar a eficiência de combustível e o desempenho do SLA.

A consulta analisa pontos de localização com velocidade baixa ou zero usando a consulta usa a tabela tracking_data_core de raw_telematics_data para extrair dados de localização em séries temporais 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 da parada.

Para detectar paradas não autorizadas, ela filtra locais que ficam dentro de conhecidas zonas geocercadas (tabela zones) usando ST_DWithin do PostGIS. Somente paradas fora de qualquer buffer de zona são reportadas. O resultado inclui ID do veículo, rótulo do objeto, registro, timestamps, duração e coordenadas de cada parada.

Detecção de uso fora do horário

Este caso identifica situações em que os veículos são operados fora do horário comercial normal — definido aqui como de segunda a sexta-feira, 09:00–18:00. Essas detecções são essenciais para sinalizar uso não autorizado, identificar possível uso indevido do veículoe melhorar a segurança dos ativos.

A lógica é construída com base na tabela tracking_data_core de raw_telematics_data, que registra eventos GPS com carimbo de data/hora por dispositivo. Derivamos o dia da semana e horário de uso local de cada entrada device_time e filtramos registros fora da janela de negócios definida (ou seja, antes das 9h, depois das 18h ou a qualquer momento nos fins de semana).

Para dar clareza, enriquecemos os dados GPS com metadados do objeto e do veículo de raw_business_data (por exemplo, rótulo do veículo, registro, ID do objeto). Para resumos mais significativos, podemos opcionalmente agregar o uso para contar quantos eventos fora do horário ocorreram por veículo e quando aconteceram. Isso pode ajudar a identificar padrões ou reincidências.

Contagem de viagens por dia

Este caso mede quantas viagens cada veículo conclui diariamente e quão longe eles percorrem, ajudando as equipes de logística a avaliar o uso do veículo, otimizar rotas e detectar anomalias como viagens incompletas ou uso não reportado.

Para definir uma viagem, usamos uma mudança no estado de movimento do veículo — ou seja, a transição de parado para em movimento e de volta para parado. Usando os valores de velocidade da tabela tracking_data_core, a consulta segmenta os dados com base nessas transições. Uma viagem é identificada como um período contínuo de movimento em que a velocidade permanece acima de um limite (por exemplo, >5 km/h).

Cada viagem inclui:

  • Um carimbo de data/hora e localização de início (primeiro ponto em movimento)

  • Um carimbo de data/hora e localização de fim (último ponto em movimento antes de parar)

  • A distância de Haversine entre as localizações de início e fim

Calculamos a contagem de viagens e a distância total por dia por veículo, opcionalmente enriquecidas com rótulos de veículo da tabela vehicles.

Contagem de quilometragem por veículo por dia (últimos 7 dias)

Este caso calcula a quilometragem diária (em quilômetros) para cada veículo ao longo dos últimos 7 dias. É fundamental para acompanhar a utilização do veículo, monitorar a eficiência de combustível, planejar manutenção, e detectar subutilização ou superutilização.

Extraímos todos os registros de GPS de tracking_data_core dos últimos 7 dias. Cada ponto de GPS possui um carimbo de data/hora, latitude e longitude. Para cada veículo e cada dia, nós:

  1. Ordenamos os pontos de GPS cronologicamente por dispositivo.

  2. Calculamos a distância entre pontos consecutivos usando a fórmula de Haversine.

  3. Somamos as distâncias por dia por dispositivo para obter a quilometragem total.

Essa abordagem oferece alta precisão sem depender de sensores externos de hodômetro. Opcionalmente, a consulta faz join com objects e vehicles para enriquecer os resultados com metadados do ativo.

Relatório de Log de Eventos do Veículo

Este caso fornece um relatório abrangente de todos os eventos relacionados ao veículo (por exemplo, ignição, porta aberta, frenagem brusca etc.) em toda a frota. Ele inclui tipo de evento, carimbo de data/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 schema 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:

  1. Extraímos todos os registros dos últimos 7 dias.

  2. Agrupamos por tipo de evento, veículo, e data para fornecer uma contagem de quantas vezes cada evento ocorreu e quando ocorreu.

  3. Enriquecemos os resultados com metadados do veículo (vehicle_label, registration_number, object_label) por meio de objects e vehicles.

Isso fornece uma linha do tempo diária de eventos em toda a frota - essencial para diagnósticos, análise comportamental e manutenção proativa.

Atualizado

Isto foi útil?