Logística
Estudo de Caso de Logística e Livro de Receitas SQL
Ativar Consulta IoT antes de utilizar os dados para construir análises abrangentes. Se ainda não o possui, entre em contato conosco para detalhes de ativação - [email protected]
A logística é um ecossistema complexo que envolve a coordenação do transporte, operações de armazém, inventário e execução de entregas. A integração da telemática nos processos logísticos permite às empresas coletar 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 Consulta IoT, com suas robustas capacidades de ingestão de dados e análises de séries temporais, apoia a transformação digital das operações logísticas ao possibilitar visibilidade profunda em cada etapa do ciclo de vida. Suas robustas capacidades de ingestão telemática fornecem visibilidade abrangente dessas operações. Dados GPS em tempo real, diagnóstico de dados de sensores, geofencing e análise de sensores permitem que operadores logísticos digitalizem fluxos de trabalho, automatizem controles e tomem decisões informadas.
Gerenciamento de rotas
Otimizar roteamento de veículos, garantir despacho 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 de transporte adequadas para mercadorias sensíveis
Eventos de violação de temperatura (e umidade) nos últimos 7 dias
Operação do veículo
Monitorar utilização da frota, garantir manutenção e reduzir tempo de inatividade
Resumo de horas de motor por veículo / motorista / dia (Últimos 7 dias) Análise de tempo de inatividade do veículo Rastreamento de ativo sem movimentação
Segurança e proteção de rota
Detectar mau uso, 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 comportamento do motorista, aplicar políticas e conformidade operacional
Resumo de 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 eficiência operacional e desempenho histórico
Relatório de log de eventos do veículo Contagem de quilometragem por veículo por dia (Últimos 7 dias) Contagem de viagens por dia Rastreamento de ativo sem movimentação
Rastreamento de ativo sem movimentação
Este caso identifica ativos (por exemplo, veículos ou reboques) que não alteraram seu GPS compare o coordenadas mínima e máxima durante o período. Se ambos os valores estiverem dentro de uma faixa muito estreita (um limiar de tolerância, por exemplo, ±0,01 graus), marcamos o ativo como sem movimento. A consulta também faz join com as tabelas objects e vehicles em raw_business_data para recuperar rótulos de ativos significativos para a saída do resultado.
Análise de tempo de inatividade do veículo
Este caso foca em analisar por quanto tempo os veículos ficam inoperantes devido a manutenção, avarias ou inatividade. Métricas de tempo de inatividade são cruciais para operações logísticas para monitorar a saúde da frota, reduzir tempo ocioso e melhorar a utilização geral e eficiência de programação.
O núcleo da análise de tempo de inatividade está em aproveitar a tabela vehicle_service_tasks de raw_business_data, que registra tanto eventos de manutenção planejada e não planejada. Cada tarefa contém um start_date e um end_date, representando o período de inatividade. Filtrando 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). Também permite detalhamento entre manutenção planejada e não planejada usando a flag is_unplanned. Para tornar os resultados mais acionáveis, ela faz join com a tabela vehicles para incluir rótulos de veículos, números de registro e informações de modelo.
Detecção de desvio de rota
Este caso identifica instâncias onde veículos desviam de suas rotas atribuídas ou esperadas — particularmente zonas geográficas com geofence ou corredores de entrega. Rastrear tais desvios ajuda a garantir conformidade de rota, reduzir atrasos, detectar comportamento de direção arriscado e manter os SLAs de entrega.
Esta lógica compara as posições GPS reais do veículo de tracking_data_core (no esquema raw_telematics_data) contra 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 com buffer da rota.
A consulta junta 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 onde o veículo estava fora de todas as rotas com geofence e as marcamos como desvios. A saída final lista esses desvios, incluindo o dispositivo, timestamp, rótulo do veículo e a que distância o ponto estava do centro da zona mais próxima.
Resumo de horas de motor por veículo / motorista / dia (Últimos 7 dias)
Este caso mede quanto tempo os motores ficaram ativos para cada veículo em uma base diária, permitindo aos gestores de frota acompanhar a utilização, identificar uso excessivo ou subutilização, e correlacionar atividade com atribuições de motorista. Quando vinculado a motoristas, também dá suporte a validação de horas trabalhadas e análise de desempenho.
A tabela states em raw_telematics_data registra indicadores de estado do motor em séries temporais, tipicamente com um state_name como 'ignition' e um valor de 1 (ligado) ou 0 (desligado). Para calcular as horas de motor, encontramos todas as transições com timestamp para cada dispositivo e calculamos as durações em que o motor esteve ligado (1).
Para vincular a atividade do motor tanto a veículos quanto motoristas, usamos as tabelas objects, vehicles e driver_history de raw_business_data. Associamos cada registro de estado ao motorista atual naquele objeto (via 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 — tais como temperatura ou umidade — que excedem limiares críticos durante o transporte. Monitorar tais violações é vital para indústrias que transportam bens perecíveis (por exemplo, alimentos, produtos farmacêuticos) para garantir conformidade com os requisitos da cadeia de frio e prevenir 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 timestamp específico por um dispositivo. Filtramos esses registros para incluir apenas aqueles dos últimos 7 dias.
A lógica principal de filtragem baseia-se em padrões de nome de sensor e uma comparação de seus valores numéricos contra limiares (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 limiar. Para enriquecer os resultados, juntamos com a tabela objects para recuperar rótulos de veículo ou 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 realizadas por veículos nas últimas 24 horas. Ajuda a detectar possíveis violações de rotas de entrega, pausas 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 zero usando a 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 funções LAG e LEAD, a consulta segmenta esses períodos de baixa velocidade para determinar timestamps de início e fim da parada.
Para detectar paradas não autorizadas, ela filtra locais que estão dentro de zonas com geofence conhecidas (tabela zones) usando ST_DWithin do PostGIS. Apenas paradas fora de qualquer buffer de zona são relatadas. O resultado inclui ID do veículo, rótulo do objeto, registro, timestamps, duração e coordenadas para cada parada.
Detecção de uso fora do horário
Este caso identifica instâncias onde veículos são operados fora do horário comercial normal — definido aqui como segunda a sexta-feira, 09:00–18:00. Tais detecções são essenciais para sinalizar uso não autorizado, identificar potencial mau uso do veículo, e melhorar segurança do ativo.
A lógica é construída sobre a tabela tracking_data_core de raw_telematics_data, que registra eventos GPS com timestamp por dispositivo. Derivamos a dia da semana e local hora de uso a partir de cada entrada device_time e filtramos registros fora da janela comercial definida
(ou seja, antes das 9h, após as 18h, ou a qualquer momento nos finais de semana). Para fornecer clareza, enriquecemos os dados GPS com metadados de objeto e veículo de raw_business_data (por exemplo, rótulo do veículo, registro, ID do objeto). Para resumos mais significativos, opcionalmente agregamos o uso para contar quantos eventos fora do horário
ROUND(longitude::numeric, 6) AS lon
Contagem de viagens por dia Este caso mede quantas viagens cada veículo completa diariamente e quão longe eles viajam, ajudando as equipes logísticas a avaliaruso do veículo
, otimizar rotas e detectar anomalias como viagens incompletas ou uso não reportado. Para definir umaviagem , usamos uma mudança no estado de movimento do veículo — ou seja, 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
onde a velocidade permanece acima de um limiar (por exemplo, >5 km/h).
Cada viagem inclui: A timestamp e localização de início (primeiro ponto em movimento)
Um timestamp e localização de fim (último ponto em movimento antes de parar)
O Distância de Haversine entre 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 nos últimos 7 dias. É fundamental para monitorar a utilização do veículo, monitorar eficiência de combustível, planejar manutenção, e detectar subutilização ou uso excessivo.
Extraímos todos os registros de GPS de tracking_data_core dos últimos 7 dias. Cada ponto de GPS tem um timestamp, latitude e longitude. Para cada veículo e cada dia, nós:
Ordenamos os pontos de GPS cronologicamente por dispositivo.
Calculamos a distância entre pontos consecutivos usando a fórmula de Haversine.
Somamos as distâncias por dia por dispositivo para obter a quilometragem total.
Essa abordagem fornece alta precisão sem depender de sensores de odômetro externos. Opcionalmente, a consulta faz join com objects e vehicles para enriquecer os resultados com metadados do ativo.
Relatório de Registro 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. Inclui tipo de evento, timestamp, e contexto do veículo, permitindo que as equipes de operações auditem comportamentos, rastreiem atividade anormal ou gerem alertas e análises.
A fonte primária é a tabela states do schema raw_telematics_data. Cada linha inclui: device_id (origem do evento), device_time (timestamp), 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.
Agrupamos por tipo de evento, veículo, e data para fornecer uma contagem de quão frequentemente cada evento ocorreu e quando ocorreu.
Enriquecer os resultados com metadados do veículo (vehicle_label, registration_number, object_label) via objects e vehicles.
Isso fornece uma linha do tempo de eventos diária em toda a frota - essencial para diagnósticos, análise comportamental e manutenção proativa.
Atualizado
Isto foi útil?