Geolocalização no GLPI: coordenadas GPS em cada seguimento do pedido

O módulo Geolocation do NexTool capta as coordenadas GPS do técnico ao registar seguimentos e soluções no GLPI e converte em morada legível por geocodificação inversa com Nominatim (OpenStreetMap), sem chave de API. Veja como funciona, como ativar, o requisito de HTTPS e quando o módulo não vale a pena.

Onde estava o técnico quando resolveu o pedido? O módulo Geolocation do NexTool responde a isso sem depender da palavra de ninguém: capta as coordenadas GPS no momento em que o técnico regista o seguimento ou a solução e mostra a morada física diretamente na linha do tempo do pedido. Neste artigo mostramos a dor real que ele resolve, como funciona por dentro, como ativar e - com a mesma honestidade que aplicamos nos ambientes que mantemos - quando não vale a pena.

O problema: intervenção externa sem prova de presença

Em operações de campo - manutenção de infraestrutura, troca de equipamento numa filial, visita técnica a cliente - saber onde o técnico estava ao registar a ocorrência faz parte do controlo. A auditoria de SLA, a faturação por deslocação, o planeamento de rotas e a simples confiança na equipa dependem disso. O problema é que o GLPI, sozinho, não guarda essa informação.

A única forma nativa de registar localização num seguimento é escrever a morada à mão no corpo do texto. E escrever a morada na azáfama de uma intervenção é um convite ao erro: fica incompleta, com a rua trocada, ou simplesmente não fica. Pior, é autodeclarada - não há nenhuma coordenada por trás que sustente uma auditoria. O gestor que precisa de confirmar a presença física num pedido externo acaba a depender da palavra do técnico ou de uma aplicação de rastreio paralela que nunca comunica com o GLPI.

O resultado é uma lacuna de rastreabilidade que compromete tanto a qualidade dos dados operacionais como a credibilidade dos relatórios de intervenção.

Como o Geolocation funciona

O módulo injeta um botão "Obter Localização" nos formulários de seguimento e de solução do pedido. Ao clicar, o navegador pede a permissão de geolocalização e capta, através da API nativa do navegador, três dados:

  • Latitude e longitude - a coordenada em bruto, que é o dado que sustenta a auditoria.
  • Precisão em metros - a margem de erro da leitura, que varia muito consoante o dispositivo.
  • Morada legível - obtida por geocodificação inversa automática via Nominatim (OpenStreetMap), serviço gratuito e sem necessidade de chave de API.

Depois de guardar o seguimento ou a solução, um emblema de localização aparece na linha do tempo do pedido com a morada formatada, a precisão em metros e uma ligação direta para o ponto no OpenStreetMap. Além do emblema, o módulo oferece:

  • Histórico completo por pedido - cada captura fica associada ao pedido; uma intervenção com várias visitas guarda todas.
  • Inserção de texto formatado - a localização pode ser inserida automaticamente no corpo do seguimento, não só no emblema.
  • Página de teste integrada - valida captura, permissão do navegador e geocodificação diretamente nas configurações, sem abrir um pedido real.
  • Suporte a vários fornecedores - Nominatim já implementado; Google Maps e Mapbox preparados para ativação futura, para quem precisar de mais precisão ou volume.

Na prática, a diferença face ao GLPI puro está menos em onde aparece e mais na fiabilidade do dado por trás:

CritérioMorada escrita no seguimento (nativo)Módulo Geolocation
MoradaTexto livre, sujeito a erros de escritaPreenchida por geocodificação inversa das coordenadas
PrecisãoNenhuma - não há coordenadaLatitude/longitude + margem em metros
AuditabilidadeAutodeclarada, sem provaCoordenada em bruto registada no instante da ação
Esforço do técnicoEscrever a morada inteiraUm clique em "Obter Localização"

O bloco de localização gravado no seguimento fica assim - uma morada para a pessoa ler e uma ligação de mapa para confirmar o ponto exato:

Localização registada em 04/12 14:32
Morada: Av. Paulista, 1578 - Bela Vista, São Paulo - SP
Precisão: ~18 m
Mapa: https://www.openstreetmap.org/?mlat=-23.5613&mlon=-46.6558

# Requisito de contexto seguro (o botão só aparece e funciona sob HTTPS):
#   Permissions-Policy: geolocation=(self)

Como ativar

  1. Instale o plugin NexTool no seu GLPI.
  2. Aceda a Configuração > NexTool > Módulos.
  3. Localize o cartão Geolocalização, clique em Instalar e depois em Ativar.
  4. Em Configurar, ajuste o fornecedor de geocodificação e as opções de exibição do emblema.
  5. Garanta que o ambiente responde por HTTPS - sem contexto seguro o navegador nem mostra o pedido de permissão e o botão falha em silêncio.

O que aprendemos a usá-lo no terreno

Três detalhes só aparecem quando se opera o módulo a sério. Primeiro: sem HTTPS o navegador não pede permissão de geolocalização e o botão falha silenciosamente - não dá erro visível, simplesmente não capta. Já perdemos tempo à procura de um "bug" que era apenas um ambiente de homologação servido em HTTP puro. Segundo: o Nominatim do OpenStreetMap é gratuito, mas tem política de uso justo e limite de taxa - serve para a captura pontual de uma intervenção, não para geocodificar uma base inteira de uma vez; quem precisa de volume passa para o Google Maps ou o Mapbox. Terceiro: a precisão varia muito. Um telemóvel com GPS a céu aberto entrega poucos metros; um computador que se localiza por Wi-Fi e IP pode falhar por quarteirões. Por isso a geocodificação inversa às vezes devolve a rua vizinha - e é precisamente por isso que guardamos também a latitude e a longitude em bruto: a morada é uma comodidade para a pessoa ler, a coordenada é a prova que sustenta a auditoria.

Para quem é indicado - e quando não usar

O módulo compensa para equipas de campo com intervenção externa, empresas que precisam de auditar a presença física em pedidos de infraestrutura e gestores que querem enriquecer os dados do GLPI com contexto geográfico sem prender um sistema de rastreio à parte.

Compensa pouco - ou não funciona - em dois cenários. Uma equipa 100% interna ou remota, que atende do próprio posto sem deslocação, ganha pouco: a localização registada será sempre a mesma sala. E um ambiente sem HTTPS simplesmente não o consegue usar, porque o navegador bloqueia a geolocalização fora de um contexto seguro. Se for esse o seu caso, resolva o certificado antes de pensar no módulo.

Compatibilidade

  • GLPI: 10.x e 11.x
  • Plano: a pedido (PAID)
  • Plugin: NexTool 3.x ou superior

Próximo passo

O Geolocation é um dos módulos do NexTool, plugin modular para GLPI. Para saber se faz sentido na sua operação de campo, fale com a equipa.


Este conteúdo foi produzido com auxílio de inteligência artificial e revisto pela equipa Nextool Solutions.

Perguntas Frequentes

Não. Nativamente só dá para escrever a morada à mão no seguimento, sem coordenada por trás. O módulo Geolocation do NexTool capta latitude, longitude e precisão através do GPS do navegador no momento da ação e converte em morada legível por geocodificação inversa.

Sim, é obrigatório. Os navegadores só concedem permissão de geolocalização em contexto seguro (HTTPS). Sem HTTPS o navegador nem mostra o pedido de permissão e o botão Obter Localização falha em silêncio, sem erro visível.

Não. O Nominatim (OpenStreetMap) é gratuito e não exige chave. Tem, porém, política de uso justo e limite de taxa, servindo para a captura pontual de uma intervenção e não para geocodificar bases inteiras de uma vez. Para volume ou mais precisão, o módulo prepara Google Maps e Mapbox.

Varia consoante o dispositivo. Um telemóvel com GPS a céu aberto entrega poucos metros; um computador localizado por Wi-Fi e IP pode falhar por quarteirões. Por isso o módulo guarda também a latitude e a longitude em bruto junto da morada, para que a auditoria se apoie na coordenada e não só no texto.

Sim. O módulo usa a API de geolocalização do navegador, que funciona em smartphones e tablets com GPS ativado, desde que o GLPI seja acedido por HTTPS.

Para equipas 100% internas ou remotas que trabalham sempre do mesmo posto sem deslocação, o ganho é pequeno porque a localização será sempre a mesma. E ambientes sem HTTPS não o conseguem usar, já que o navegador bloqueia a geolocalização fora de um contexto seguro.

Precisa de ajuda?