Gestão da cache como administrador

Para uma camada com a cache ativada no servidor, o Lizmap manterá a cache quando o utilizador movimentar e fizer zoom no mapa. Para obter um melhor desempenho, o Lizmap Web Client também pode gerar automaticamente a cache de mosaicos no servidor.

Nalguns casos, é desejável remover a cache do servidor, por exemplo, quando o estilo foi alterado e os mosaicos necessitam de ser atualizados. Para isso, existem duas soluções:

Remover totalmente a cache de um repositório Lizmap

Na interface de administração, na página Gestão de mapas, para cada repositório, o administrador pode esvaziar a cache de todas as camadas de todos os repositórios de projetos utilizando o botão Esvaziar cache.

Remover a cache, camada por camada, para cada projeto Lizmap

Quando o administrador está ligado e consulta um mapa Lizmap, uma pequena cruz vermelha é apresentada à direita do nome de cada camada que está configurada com cache do servidor. Clicar na cruz, após confirmação, permite esvaziar a cache do servidor apenas para essa camada do projeto QGIS.

Apenas o administrador, quando ligado, consegue visualizar essas cruzes vermelhas, tendo permissão para limpar a cache.

Configuração do sistema de cache

In the Administration -> Lizmap Configuration -> Cache, you can configure the caching system which is used. You can choose between different kind of caching :

  • Ficheiros

  • SQLite

  • Redis (é necessário um servidor Redis)

Gerar mosaicos

É possível pré-gerar os mosaicos para qualquer camada de um projeto QGIS configurado com a opção cache do lado do servidor. É necessário ter acesso total ao servidor em que o Lizmap se encontra instalado e utilizar um programa de terminal para estabelecer ligação ao mesmo. É necessário também conhecer os IDs dos repositórios Lizmap bem como o código do projeto (o nome do ficheiro do projeto QGIS sem a extensão).

Neste exemplo, apresentamos comandos para gerir a cache de mosaicos para o projeto de demonstração Montpellier, fornecido com o Lizmap Web Client. Assumimos também que a aplicação Lizmap está instalada na pasta /var/www/lizmap-web-client/.

# Go to the application folder
cd /var/www/lizmap-web-client/

É importante saber que o Lizmap publica as camadas em cache no WMTS (Web Map Tiled Service). Os seguintes conceitos são utilizados como opções do gerador de cache de mosaicos do Lizmap:

  • TileMatrixSet - No Lizmap, representa o código de projeção, por exemplo EPSG:3857 (Pseudo mercator).

  • TileMatrixMin - Este é o nível mínimo de zoom.

  • TileMatrixMax - É o nível máximo de zoom.

Aviso

O nível de zoom não é uma escala de mapa, mas o nível de zoom. No plugin Lizmap, o editor do projeto pode configurar escalas para o projeto publicado, por exemplo, a lista: 100000, 50000, 25000, 10000. O ID do nível de zoom depende de alguns CRS e da forma como se configurou o projeto Lizmap. É possível ter uma ideia do ID da escala digitando lizMap.map.getZoom() na consola Javascript do navegador web ao ampliar o mapa.

Em primeiro lugar deverão ser verificados os recursos de cache relativos a um projeto bem como alguns detalhes referentes a uma camada específica do mesmo.

# Command help
# php lizmap/scripts/script.php lizmap~wmts:capabilities [-v] repository project [layer] [TileMatrixSet]

# Get the capabilities for a given project published with Lizmap
# and generate the cache about these capabilities.
php lizmap/scripts/script.php lizmap~wmts:capabilities montpellier montpellier

# Get precisions about a specific layer
php lizmap/scripts/script.php lizmap~wmts:capabilities -v montpellier montpellier bus EPSG:3857
# which will return
For "bus" and "EPSG:4326" from TileMatrix 13 to 15
For "bus" and "EPSG:900913" from TileMatrix 14 to 16
For "bus" and "EPSG:3857" from TileMatrix 14 to 16

Neste exemplo, pode verificar-se que a camada de barramento possui 3 TileMatrixSet diferentes, correspondentes aos 3 sistemas de coordenadas espaciais diferentes disponíveis para este projeto no Lizmap (configurado em Propriedades do projeto ‣ Servidor QGIS).

Nota

Se o nome da camada contiver alguns espaços, será necessário utilizar «».

É importante verificar os recursos de cache antes de gerar a cache para uma determinada camada. Os recursos de cache serão utilizados no próximo comando. O próximo comando poderá falhar caso os recursos de cache não se encontrem disponíveis.

Só após um bom nível de conhecimento de uma determinada camada, será possível gerar a cache adequada para a mesma:

# Command help
# php lizmap/scripts/script.php lizmap~wmts:seeding [-v] [-f] repository project layer TileMatrixSet TileMatrixMin TileMatrixMax

# Example
php lizmap/scripts/script.php lizmap~wmts:seeding -v -f montpellier montpellier bus EPSG:3857 12 14
# Which will return:
81 tiles to generate for "bus" "EPSG:3857" "14"
81 tiles to generate for "bus" "EPSG:3857" between "12" and "14"
Start generation
================
Progression: 6%, 5 tiles generated on 81 tiles
Progression: 12%, 10 tiles generated on 81 tiles
Progression: 18%, 15 tiles generated on 81 tiles
Progression: 24%, 20 tiles generated on 81 tiles
Progression: 30%, 25 tiles generated on 81 tiles
Progression: 37%, 30 tiles generated on 81 tiles
Progression: 43%, 35 tiles generated on 81 tiles
Progression: 49%, 40 tiles generated on 81 tiles
Progression: 55%, 45 tiles generated on 81 tiles
Progression: 61%, 50 tiles generated on 81 tiles
Progression: 67%, 55 tiles generated on 81 tiles
Progression: 74%, 60 tiles generated on 81 tiles
Progression: 80%, 65 tiles generated on 81 tiles
Progression: 86%, 70 tiles generated on 81 tiles
Progression: 92%, 75 tiles generated on 81 tiles
Progression: 98%, 80 tiles generated on 81 tiles
================
End generation

Após a geração de mosaicos, é necessário atualizar os direitos sobre a cache:

lizmap/install/set_rights.sh www-data www-data