Logis
Plugin QGIS que leva roteirização, setorização e localização de instalações para projetos de logística no Brasil.
O Problema
Por onde o caminhão de coleta passa, quantos caminhões a operação exige e onde instalar um centro de distribuição são contas que aparecem na rotina da gestão urbana e quase nunca são feitas. Os métodos estão na literatura de pesquisa operacional há décadas, mas chegam ao técnico por apenas dois caminhos: software proprietário de roteirização, com licença fora do orçamento de um município pequeno, ou script de pesquisador, que exige ambiente Python montado e conhecimento de programação. Quem trabalha no QGIS, que é a ferramenta instalada na maioria das prefeituras e consultorias, não tem por onde começar.
A coleta de resíduos sólidos é o caso mais direto. Definir os setores de coleta e a ordem em que o caminhão percorre as ruas é um problema de roteirização por arcos: o que precisa ser coberto é a extensão da via, não um conjunto de pontos de parada. Isso muda a formulação do problema e sai do alcance das ferramentas de rota mais comuns, que otimizam visitas a pontos. O resultado é conhecido: setor desenhado no olho, sobreposição entre roteiros e quilometragem improdutiva que ninguém mede.
A Solução
O Logis é um plugin do QGIS que coloca esses cálculos dentro do programa que o técnico já usa. Ele se organiza em três módulos, cada um sobre uma rede base própria, e todos oferecem as mesmas três camadas de capacidade: indicadores, roteirização e localização de instalações.
Logística Urbana: trabalha sobre a malha viária municipal do OpenStreetMap, tratada por um pipeline derivado do GisBR. Cobre os indicadores de rede e de demanda na escala da cidade, incluindo acessibilidade gravitacional a atratores e distância média de entrega ao depósito mais próximo.
Logística Regional: trabalha sobre as bases rodoviárias nacionais (DNIT/SNV e geobr) e sobre bases estaduais, como a IDE-Sisema em Minas Gerais. É a escala de estado e de país: densidade da malha, percentual de pavimentação e identificação dos arcos críticos, aqueles cuja remoção parte a rede em duas.
Logística Especializada: reúne os serviços urbanos cuja roteirização é por arcos, com foco inicial na coleta de resíduos sólidos. Concentra a setorização, as três formulações clássicas de percurso (CPP, RPP e CARP), o dimensionamento de frota e os indicadores que dizem se o desenho resultante se sustenta.
Funcionalidades Principais
25 algoritmos na Caixa de Ferramentas: o plugin se registra como um Processing Provider (logis), o que significa que cada análise vira um algoritmo comum do QGIS, encadeável em modelo gráfico ou chamável por script, sem interface própria para aprender.
Roteirização por arcos: as três formulações que a coleta de resíduos exige, implementadas sobre a rede viária: percurso euleriano de custo mínimo cobrindo todas as vias (CPP), percurso restrito ao subconjunto com coleta ativa (RPP) e rotas de veículos capacitados por arcos (CARP).
Setorização e dimensionamento de frota: a rede é particionada em setores de coleta contíguos e balanceados por carga, com sementes farthest-first, crescimento de regiões e troca de trechos de fronteira. A partir do volume estimado, dos turnos e da capacidade nominal, o algoritmo de frota devolve o número de caminhões necessário.
Indicadores que auditam a rota: razão de deadhead (quilometragem improdutiva sobre a produtiva, por rota e no total), equilíbrio de carga e extensão entre setores, cobertura da coleta por setor e distância ao aterro ou ponto de destino. São eles que transformam o roteiro em algo verificável.
Localização de instalações: p-mediana pela heurística de Teitz-Bart, que minimiza o custo total ponderado de deslocamento da demanda, cobertura máxima (MCLP) com número fixo de instalações e cobertura de conjuntos (LSCP), que busca o menor número de instalações capaz de atender toda a demanda.
Indicadores de rede urbana e regional: densidade viária, conectividade pelos índices α, β e γ, circuidade média, centralidade de intermediação de arestas por amostragem com semente opcional para resultado reproduzível, índice de restrição à circulação de carga e, na escala regional, densidade, pavimentação e arcos críticos sobre o SNV.
Três painéis em abas: os módulos urbano, regional e de coleta têm painéis dock próprios, organizados por assunto e com painel de resultados fixo no rodapé. É o caminho para quem não abre a Caixa de Ferramentas de Processamento no dia a dia.
Zero dependências externas obrigatórias: todo o cálculo de grafos e caminhos mínimos usa as classes nativas do QGIS (QgsGraph, QgsGraphBuilder, QgsGraphAnalyzer) e heurísticas clássicas escritas em Python puro (savings de Clarke-Wright, sweep, 2-opt, Teitz-Bart, matching euleriano). O OR-Tools entra como backend opcional, com importação tardia e retorno automático às heurísticas quando não está instalado, o que evita conflito com outros plugins e a barreira de instalação para quem não administra a própria máquina.
Stack Tecnológica
Python PyQGIS QGIS Processing Framework QgsGraph / QgsGraphAnalyzer OR-Tools (opcional) OpenStreetMap / Overpass API DNIT SNV GeoPackage / SQLite
Impacto
Análises que antes dependiam de software proprietário de roteirização passam a caber no QGIS que o técnico já tem instalado, com entrada e saída em SIRGAS 2000 (EPSG:4674) e CRS métrico apenas nos cálculos intermediários de distância e tempo. Para uma prefeitura, isso significa poder testar um desenho de setorização e medir a quilometragem improdutiva que ele gera antes de contratar a operação, e não depois.
O plugin está na versão 0.1.5, marcada como experimental, sob licença GPL-3.0, e foi validado pelo autor no QGIS 4.2 sobre Ubuntu. O código está aberto no GitHub, e a mesma escolha de não exigir dependência externa que sustenta a instalação em máquina restrita também mantém o resultado auditável: as heurísticas estão à vista, em Python legível, e não atrás de uma caixa-preta.