Visão geral
O sharpreport produz PDFs de notificação/relatório a partir de uma camada-fonte (shapefile, GeoPackage, etc.) cruzada com camadas de contexto já carregadas no projeto. A automação se apoia em presets indexados por tipo de evento: cada tipo de feature pode ter combinação própria de camadas visíveis, escala e mapeamento de cadastro, eliminando trabalho repetitivo.
A renderização é nativa do QGIS via QgsPrintLayout montado programaticamente em Python, sem dependências externas — instala em qualquer máquina onde o QGIS já roda, inclusive Windows institucional sem privilégio de admin.
Como funciona
- Importa ou seleciona a camada-fonte via combobox.
- Resolve o preset para cada alerta pelo campo
tipo(comdefaultcomo fallback). - Busca espacial dos polígonos de cadastro nas camadas do preset, com mapeamento configurável de colunas.
- Baixa a ficha SMAS (PNG via
url_png), com cache local para evitar redownload. - Monta o PDF — logo institucional, ficha SMAS, cadastros agrupados por quadra/bairro, mapa centrado com polígono destacado.
- Exporta — modo
single(1 alerta) oubatch(múltiplos via checkbox), comQProgressDialoge cancelamento.
O painel “Dados do cadastro” exibe o texto que vai para o PDF e aceita edições livres antes de exportar.
Presets
Cada tipo de evento pode ter preset próprio com:
- Camadas visíveis no mapa do PDF (ordenadas topo → base).
- Escala fixa (1:N).
- Alturas no PDF da ficha e do mapa (mm).
- Mapeamento de cadastro — colunas
tipo_area,lote,quadra,bairroapontam para campos das camadas marcadas.
Presets ficam em qgisSettingsDirPath()/sharpreport/presets.json — por perfil QGIS, sobrevivem à reinstalação do plugin.
Stack
- QGIS 3.40 LTR (PyQt5) a 4.0+ (PyQt6) — importação via
qgis.PyQt. - PyQGIS +
QgsPrintLayout— zero dependências externas. - Python 3.10+.
Licença
GPL-2.0-or-later — mesma licença do QGIS, para compatibilidade.