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.

In some cases, it is desirable to remove the server cache, for example, when the style has changed and the tiles need to be updated. For this, some solutions are possible:

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.

Use the console command for a whole project or layer

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

# Command help
# php lizmap/console.php wmts:cache:clean  repository project [layer]

# Clean the cache for a given project
php lizmap/console.php wmts:cache:clean montpellier montpellier

# Clean the cache for a given layer
php lizmap/console.php wmts:cache:clean montpellier montpellier bus

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/console.php 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/console.php wmts:capabilities montpellier montpellier

# Get precisions about a specific layer
php lizmap/console.php 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/console.php wmts:cache:seed [-v] [-f] repository project layer TileMatrixSet TileMatrixMin TileMatrixMax

# Example
php lizmap/console.php wmts:cache:seed -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